[AWS] Lambda란 무엇인가

seoyeon hwang
4 min readMar 15, 2020

--

AWS 뿌시기 1탄은 Lambda다.

회사에서 주로 Lambda를 이용하여 개발하기 때문에 내가 가장 많이 써본 AWS 서비스이다. 앞으로 정리할 AWS 글에서 람다가 자주 등장할 것 같아 가장 먼저 정리해보았다. 렛츠 고!

람다?

Lambda는 AWS에서 제공하는 서버리스 컴퓨팅 플랫폼이다.

서버리스란, 서버가 없다는 뜻이 아니고 개발자가 서버의 존재를 신경쓸 필요가 없다는 뜻이다. 서버가 잘 돌아가고 있는지, 개수와 사양한 적당한지 등등 신경쓸 필요없이 사용자는 오직 코드에만 집중할 수 있으니 무척 편하다.

이때 사용한 컴퓨팅 시간, 용량에 대해서만 AWS에게 비용을 지불하면 된다.

언제 쓰면 좋을까?

코드를 계속 실행시키기 보다는 특정한 시기에만 실행시키는 경우에 Lambda를 사용하면 유용하다.

예를 들면

  • 서버 띄우지 않고 간단한 코드를 실행시키고 싶은 경우
  • 특정 기간 또는 특정 주기로 코드를 실행시켜야 하는 경우
  • 트리거가 실행될때만 코드를 실행시키고 싶은 경우

하지만 람다의 단점도 존재한다.

  • 코드 용량이 최대 250MB 이다.
  • 함수 실행 시간은 최대 15분이다.
  • 처음 함수 호출시 Cold Start를 하게되고 초기 지연시간이 발생한다.
  • 비싸다.

등등이 있지만 그래도 서버 걱정 없이 오직 코드에만 집중 할 수 있다는 것은 굉장히 편하고 합리적인 것은 분명하다.

튜토리얼

python을 이용하여 ‘hello world’를 출력하는 람다 함수를 만들어보자.

  1. AWS Lambda로 들어간다.

2. 오른쪽 상단에 함수 생성 버튼을 누른다.

3. 만들고자 하는 람다 함수 이름과 사용 언어를 선택한 후 함수 생성 버튼을 누른다.

함수 이름은 hello_world, 사용 언어는 python 3.7로 선택했다.

람다 함수가 만들어졌다!

4. 코드 인라인에 원하는 코드를 추가한다.

lambda_handler 함수에 hello world 출력문을 추가해주었다.

핸들러

람다 함수에게 어디서부터 코드를 실행해! 라고 알려주는 부분이다.

예를 들어, 핸들러가 lambda_function.lambda_handler라면 이 람다 함수가 실행될때 lambda_function.py라는 파일 안에 정의된 lambda_handler 함수를 실행한다는 의미이다. filename.handler-method 형식으로 작성한다.

5. 아래에 있는 기본 설정에서 실행에 필요한 메모리와 시간을 설정한다.

메모리는 256MB, 실행 시간은 최대 5분으로 설정했다.

5. 상단에 저장 버튼을 누른다.

람다 함수 만들기 끝! 성공입니다

6. 원하는 대로 람다 함수를 잘 만들었는지 확인해보자

테스트 이벤트를 만들어서 해당 람다 함수를 실행시킬 수 있다.

테스트 이벤트 구성 버튼을 클릭하여 이벤트를 만들어보자

테스트용 이벤트

방금 만든 이벤트를 선택하고 테스트 버튼을 누른다

성공이다 성공!

로그에 hello world가 출력된 것을 볼 수 있다. 잘 만들었다!

AWS lambda에 코드를 올리는 방법은 3가지이다.

  1. 인라인 코드
  2. zip파일을 업로드
  3. 아마존 S3에서 파일 업로드

오늘은 1번 방법으로 코드를 업로드하였다. 다음 시간에는 2번, 3번 방법을 이용하여 스크립트로 간단하게 업로드하는 방법에 대해 다룰 예정이다.

--

--