서버리스 애플리케이션 2탄! AWS편.


AWS에서 서버리스 애플리케이션 함수 만들기

AWS Lambda란?

: AWS Lambda는 Amazon Web Services의 일부로 Amazon에서 제공하는 이벤트 중심 서버리스 컴퓨팅 플랫폼. 이벤트에 응답하여 코드를 실행하고 해당 코드에 필요한 컴퓨팅 리소스를 자동으로 관리하는 컴퓨팅 서비스 (위키백과)


AWS Lambda 트리거

: 서버리스 함수는 온디맨드(On-demand) 컴퓨팅 개념을 기반으로 한다.
(온디맨드(On-demand):주문형 서비스)

Lambda 함수는 트리거 이벤트가 필요하며 이를 통해 전체 컴퓨팅 프로세스가 시작된다. AWS Lambda는 트리거로서 동작할 수 있는 몇 가지 이벤트를 갖고 있으며, 대부분 AWS의 모든 서비스는 AWS Lambda 트리거로서 동작이 가능하다.


Lambda 트리거 페이지는 아래의 화면과 같다.

size_main

1) Lambda console로 이동

AWS Lambda 홈페이지에 접속하여 로그인한다.

그리고 상단위 서비스 버튼을 클릭하면 아래와 같은 화면이 나타난다.
컴퓨팅 - Lambda를 클릭하여 AWS Lambda 콘솔을 연다.

size_main


2)Lambda Blueprint 선택

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


  • 콘솔 화면에서 함수 목록에 들어와 오른쪽에 함수생성을 클릭한다.

size_main


  • buleprint를 선택하고 필터 상자에 hello-world-python을 입력하여 선택한 뒤, 구성 버튼을 누른다.

size_main


3)Lambda 함수 구성 및 생성

Lambda 함수는 사용자가 제공한 코드, 관련 종속성 및 구성으로 이뤄진다. 사용자가 제공한 구성 정보에는 할당하려는 컴퓨팅 리소스, 실행 제한시간, 사용자 대신 Lambda 함수를 실행할 수 있도록 AWS Lambda가 맡는 IAM의 역할이 포함된다고 한다.

아마존에서 기본적으로 제공하는 예제를 참고하여 함수를 구성해보려고 한다.

size_main

기본적으로 아래의 코드가 자동으로 구성된다.

size_main


4)Lambda 함수 호출 및 결과 확인

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

아래의 화면에서 우측 상단 테스트 버튼 클릭

size_main

아래의 화면처럼 이벤트를 입력하여 함수를 테스트할 수 있도록 편집기가 표시된다. size_main

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


5)지표 모니터링

테스트를 반복하여 클릭하면 지표가 생성된다. 모니터링 탭을 선택하여 Lambda함수의 지표를 확인한다. Lambda 지표는 Amazon CloudWatch를 통해 보고되며 이 지표를 활용하여 사용자 정의 경보를 설정할 수 있다. CloudWatch에 대한 자세한 내용은 더 자세한 정보는 Amazon CloudWatch Developer Guide에서 확인할 수 있다.

size_main

AWS Lambda를 사용하면 사용한 만큼만 비용을 지불한다.


6)Lambda 함수 삭제

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

size_main


AWS Lambda 함수 생성 완료!