본 자습서에서는 서버를 프로비저닝하거나 관리하지 않고 AWS Lambda에서 코드를 실행하는 데 대한 기본 사항을 알아봅니다. 먼저 AWS Lambda 콘솔을 사용하여 Hello World Lambda 함수를 생성하는 방법을 살펴보겠습니다. 그런 다음 샘플 이벤트 데이터를 사용하여 Lambda 함수를 수동으로 호출하고 출력 지표를 확인하는 방법을 보여드리겠습니다.

본 자습서에서 수행하는 모든 작업은 프리 티어에 해당합니다.

AWS에서 서버 없는 코드를 실행하려면 계정이 필요

몇 분 만에 무료 계정 생성

AWS Lambda를 사용하면 AWS 프리 티어에는 월별 무료 요청 1백만 건과 최대 3백2십만 초의 컴퓨팅 시간이 포함됩니다.

AWS 프리 티어 세부 정보 보기 »

 

여기를 클릭하면 AWS Management Console이 새 브라우저 창에서 열리므로 이 단계별 안내서를 계속 열어 놓을 수 있습니다.  Compute 아래에 있는 Lambda를 찾아 클릭하여 AWS Lambda 콘솔을 엽니다.

create-lambda-function_0

(확대하려면 클릭)

create-lambda-function_0

블루프린트는 일부 최소한의 처리를 수행할 수 있는 예제 코드를 제공합니다. 대부분 블루프린트는 Amazon S3, DynamoDB 또는 사용자 정의 애플리케이션과 같은 특정 이벤트 소스의 이벤트를 처리합니다.

a. AWS Lambda 콘솔에서 Get Started Now를 선택합니다.

Lambda 함수가 이미 있는 경우, Create a Lambda function을 선택합니다.

create-lambda-function_1

(확대하려면 클릭)

create-lambda-function_1

b.  필터 상자에 hello-world-python을 입력하고 hello-world-python 블루프린트를 선택합니다.

create-lambda-function_2

(확대하려면 클릭)

create-lambda-function_2

Lambda 함수는 사용자가 제공한 코드, 관련 종속성 및 구성으로 이루어집니다. 사용자가 제공한 구성 정보에는 할당하려는 컴퓨팅 리소스(메모리 등), 실행 제한 시간, 그리고 사용자 대신 Lambda 함수를 실행할 수 있도록 AWS Lambda가 맡는 IAM 역할이 포함됩니다.


a. 이제 Lambda 함수를 구성하겠습니다.  아래 목록은 구성을 설명하며 예제 값을 제공합니다.

구성 함수:
  • Name: 여기에서 Lambda 함수의 이름을 지정할 수 있습니다. 본 자습서에서는 hello-world-python을 입력합니다.
  • Description: 여기에 함수에 대한 간략한 설명을 입력할 수 있습니다. 이 부분은 Starter AWS Lambda 함수를 통해 미리 입력되어 있습니다. 
  • Runtime: 현재 Lambda 함수는 Java, Node.js 또는 Python 2.7로 작성할 수 있습니다. 본 자습서에서는 Python 2.7의 런타임을 사용합니다.

Lambda 함수 코드:

  • 본 섹션에서는 Python로 작성된 예제 코드를 검토할 수 있습니다.

Lambda 함수 핸들러 및 역할:

  • Handler: AWS Lambda가 코드 실행을 시작할 수 있는 핸들러(코드의 메서드/함수)를 지정할 수 있습니다. AWS Lambda는 이벤트를 처리하는 이 핸들러에 이벤트 데이터를 입력값으로 제공합니다. 본 예제에서는 Lambda가 코드 샘플에서 이를 확인하며, 이는 lambda_function.lambda_handler를 통해 미리 구성되어 있어야 합니다.
  • Role: 드롭다운 메뉴를 클릭하고 Basic Execution Role을 선택합니다.
create-lambda-function_13

(확대하려면 클릭)

create-lambda-function_13

b.  사용자 대신 Lambda 함수를 호출하기 위해 AWS Lambda가 맡을 수 있는 필요한 권한을 보유한 IAM 역할(실행 역할이라고 부름)을 생성합니다. Allow를 클릭합니다.

구성 함수 페이지로 이동하게 되며, lambda_basic_execution이 선택됩니다. 

create-lambda-function_3

(확대하려면 클릭)

create-lambda-function_3

c.  Advanced settings 섹션에서 메모리, 제한 시간 및 VPC 설정을 구성할 수 있습니다.  본 자습서에서는 기본 Lambda 함수 구성 값을 그대로 두고 Next를 클릭합니다.

create-lambda-function_15

(확대하려면 클릭)

create-lambda-function_15

d. Lambda 함수를 확인하고 Create Function을 클릭합니다. 콘솔에서는 코드를 파일로 저장한 후, 파일을 압축하여 배포 패키지를 만듭니다. 그런 다음 콘솔에서 배포 패키지를 AWS Lambda로 업로드하여 Lambda 함수를 생성합니다.

create-lambda-function_5

(확대하려면 클릭)

create-lambda-function_5

콘솔에 hello-world-python Lambda 함수가 표시됩니다. 이제 함수를 테스트하고, 결과를 확인하며, 로그를 검토할 수 있습니다.


a. Test를 클릭합니다.

create-lambda-function_18

(확대하려면 클릭)

create-lambda-function_18

b. 이벤트를 입력하여 함수를 테스트할 수 있도록 편집기가 표시됩니다.  

  • 입력 테스트 이벤트 페이지의 샘플 이벤트 템플릿 목록에서 Hello World를 선택합니다. 
  • 샘플 JSON의 값은 변경할 수 있지만, 이벤트 구조는 변경하지 마십시오. 본 자습서에서는 value1을 hello, world!로 대체합니다.

Save and test를 클릭합니다. AWS Lambda가 이제 사용자 대신 함수를 실행합니다.

create-lambda-function_17

(확대하려면 클릭)

create-lambda-function_17

c.  함수가 성공적으로 실행되면, 콘솔에서 결과를 확인합니다.

  • Execution results 섹션에서는 실행에 성공했는지 확인합니다.
  • Summary 섹션은 로그 출력에 보고된 주요 정보를 보여줍니다.
  • Log output 섹션은 Lambda 함수 실행으로 생성된 로그를 보여줍니다. 
create-lambda-function_20

(확대하려면 클릭)

create-lambda-function_20

AWS Lambda는 Lambda 함수를 자동으로 모니터링하고 Amazon CloudWatch를 통해 지표를 보고합니다. 코드가 실행됨에 따라 이를 모니터링하는 데 도움이 되도록, Lambda에서는 요청 수, 요청당 지연 시간 및 오류가 발생한 요청 수를 자동으로 추적하고, 관련 지표를 게시합니다. 


a. Test 버튼을 반복해서 클릭하여 Lambda 함수를 몇 번 더 호출합니다.  이를 통해 지표가 생성되며, 다음 단계에서 확인할 수 있습니다.

create-lambda-function_16

(확대하려면 클릭)

create-lambda-function_16

b.  Monitoring 탭을 선택하여 Lambda 함수의 지표를 확인합니다.  Lambda 지표는 Amazon CloudWatch를 통해 보고됩니다. 이 지표를 활용하여 사용자 정의 경보를 설정할 수 있습니다. CloudWatch에 대한 자세한 내용은 Amazon CloudWatch Developer Guide를 참조하십시오.

모니터링 탭에서 CloudWatch 지표, 즉 호출 수, 호출 기간, 호출 오류병목 현상이 발생한 호출을 볼 수 있습니다.

AWS Lambda를 사용하면 사용한 만큼만 비용을 지불합니다. AWS Lambda 프리 티어 한도를 초과하면, 함수에 대한 요청 수(호출 수)와 코드가 실행된 시간(호출 기간)을 기준으로 비용이 부과됩니다.  자세한 내용은 AWS Lambda 요금을 참조하십시오.

create-lambda-function_7

(확대하려면 클릭)

create-lambda-function_7

Lambda 함수를 유지하는 데 비용이 부과되지 않으므로 AWS Lambda 콘솔에서 함수를 손쉽게 삭제할 수 있습니다.  


a.  Actions를 선택하고, Delete Function을 클릭합니다.

create-lambda-function_6

(확대하려면 클릭)

create-lambda-function_6

b. 종료할 것인지 묻는 메시지가 표시되면, Yes, Terminate를 선택합니다.

create-lambda-function_12

(확대하려면 클릭)

create-lambda-function_12

첫 번째 AWS Lambda 함수 생성을 완료했습니다. 함수 생성은 서버를 프로비저닝하거나 관리할 필요 없이 애플리케이션을 실행하는 방법을 배우는 첫 번째 단계입니다. Lambda는 각 트리거에 응답하여 코드를 실행함으로써 애플리케이션을 자동으로 확장하여 정확하게 워크로드의 크기에 맞게 조정합니다.

Lambda 함수를 생성하는 방법을 알아보았으므로, 이제 다음 자습서로 진행하여 Lambda 함수를 트리거하여 Amazon S3 버킷에 업로드된 데이터를 처리하는 방법을 알아볼 수 있습니다. Lambda 함수를 사용하여 S3 버킷에 업로드된 이미지의 실시간 썸네일을 생성하게 됩니다.

Amazon S3와 함께 AWS Lambda 사용하기 »

아니요