본문 바로가기
  • 클라우드야 나랑 친해지자!
클라우드/AWS

AWS Lambda 이해 및 생성

by 정민규 2021. 2. 16.
반응형

수업을 듣고 배운 내용과 연습한 내용을 정리하였습니다

개인 공부 후 자료를 남기기 위한 목적임으로 내용 상에 오류가 있을 수 있습니다.

 

잘못된 부분이 있거나 질문사항은 댓글로 남겨주시면 성심성의껏 답변해드리겠습니다. 감사합니다!


 

* AWS Lambda란?

 

aws.amazon.com/ko/lambda/

 

클라우드 컴퓨팅 PaaS | Amazon Web Services

AWS Lambda를 사용하면 데이터 변경, 시스템 상태 변화 또는 사용자 작업과 같은 트리거에 대한 응답으로 코드를 실행할 수 있습니다. Lambda를 S3, DynamoDB, Kinesis, SNS 및 CloudWatch와 같은 AWS 서비스로 트

aws.amazon.com

 

* AWS Lambda 특징

  • 완전 관리형 서비스
  • 유연한 확장성
  • 고가용성
  • 유휴 용량 없음
  • 마이크로서비스 호환성

 

 

교재 <당신이 지금 알아야 할 AWS - 이영호, 한동수 지음>를 토대로 실습을 진행하였습니다.

 

 

 

* 실습 요약

1. 람다 함수 만들기

  A. 람다 함수 생성(람다 함수 이름 : lambda_for_console_log

  B. 람다 함수 실행 역할 생성(람다 역할 이름 : role_for_lambda_console_log)

2. 람다 함수 입력에 해당하는 이벤트 테스트 구성 : 테스트 이벤트 이름 "EventForLog"

  A. 이벤트 테스트 코드 자겅

3. 람다 함수 코드 작성

4. 람다 함수 테스트 실행과 결과 확인

 

 

 

 

1) 람다 함수 생성

새로 작성은 이름 그대로 처음부터 새로 작성하는 경우로, 가장 기본적인 형태의 함수만 제공됩니다.

블루프린트는 AWS에서 제공하는 시작 템플릿을 제공하며 주로 람다와 다른 AWS 서비스를 연동하는 내용들이 샘플 형태로 작성되어 있습니다.

컨테이너 이미지는 함수에 대해 배포할 컨테이너 이미지를 선택하는 것입니다.

서버리스 앱은 리포지토리를 찾아보기는 AWS 혹은 AWS와 관련된 파트너 및 기타 개발사가 제공하는 람다 함수를 사용하는 방법입니다.

 

 

 

 

2) 테스트 구성

"트리거"를 통해 람다 함수가 실행되는 이벤트가 발생된다고 했지만, 테스트를 위해 입력 인자가 필요할 경우가 있습니다. 람다 함수에 트리거를 바로 실행시키는 이벤트를 만들어보겠습니다.

 

상단 "테스트" 버튼을 클릭한 후, 아래와 같이 새로운 테스트 이벤트를 생성합니다.

테스트를 클릭하면 테스트 이벤트 구성창이 나타나고, 이곳에서 JSON 형식으로 함수의 입력 인자를 지정할 수 있습니다. 이벤트 이름에 원하는 테스트 이름을 작성합니다.(람다는 JSON 형식의 데이터만 사용합니다. -> 여러 언어로 된 서비스들이 통신할 수 있도록 표준화된 데이터 포맷을 위해 JSON을 사용하기 때문)

 

 

 

 

 

3) 람다 함수 코드 작성

소스코드는 테스트를 통해서 작성한 JSON 형식을 맨 위 "event"라는 변수로 받은 다음, 그 안의 "text"로 정의된 값을 "Console.log"를 통해 출력하고, 다시 결과 값으로도 리턴하는 자바스크립트 코드입니다.

 

 

 

 

4) 람다 함수 테스트 실행과 결과 확인

소스 코드를 작성했으면 Deploy 를 클릭한 후, 다시 한 번 "테스트" 버튼을 클릭합니다.

이와 같이 실행 결과가 성공으로 바뀌며 함수 실행 결과에 대한 상세한 내용을 확인할 수 있습니다.

 

 

 

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

 

 

 

 

추가로 Lambda함수를 통한 Hello,World! 실습을 진행해보겠습니다.

 

aws.amazon.com/ko/getting-started/hands-on/run-serverless-code/

 

서버리스 코드를 실행하는 방법 – Amazon Web Services(AWS)

기본 정보: 이름: 여기에서 Lambda 함수의 이름을 지정할 수 있습니다. 본 자습서에서는 hello-world-python을 입력합니다. Role: 사용자 대신 Lambda 함수를 호출하기 위해 AWS Lambda가 맡을 수 있는 필요한

aws.amazon.com

 

1) Lambda 함수 생성

블루 프린트 사용 > 검색창에 hello-world-python 입력 > "구성" 클릭 > 기본 정보 설정 후 생성

 

 

 

 

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

 

 

 

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

 

 

 

3) 지표 모니터링

모니터링 탭에서 CloudWatch 지표, 즉 호출 수, 호출 기간, 호출 오류, 제한된 호출, 반복자 경과 시간 및 DLQ 오류를 제공하기 때문에 참고하여 기능 및 비용에 대한 정보를 얻을 수 있습니다.

"Hello,World!" 를 출력하는 Lambda 함수를 실행하는 이벤트를 발생시켰기 때문에 아래와 같이 그래프에 표시된 것을 확인할 수 있습니다.

 

 

 

Lambda 함수를 생성하는 간단한 실습을 진행해 보았습니다.

자신이 원하는 소스코드를 적절하게 작성한다면 특정 트리거가 발생했을 경우 Lambda 함수가 실행되는 이벤트를 생성하여 편리하게 사용할 수 있게 됩니다. 

반응형

댓글