본문 바로가기
개발/AWS

AWS Lambda - Hello World

by 궁즉변 변즉통 통즉구 2022. 2. 19.
반응형

Lambda

  • 서버를 프로비저닝 하거나 관리하지 않아도 코드를 실행할 수 있도록 해주는 컴퓨팅 서비스
    Serverless: 스스로 관리해야 할 서버 or 컨테이너 서비스가 없음
  • 필요 시에만 코드를 실행하고, 사용한 컴퓨팅 시간에 대해서만 비용 발생
  • Java, Python, Nodejs, Go 등 다양한 언어 지원 및 환경변수 설정 가능
    Lambda Layer를 통해 라이브러리 및 프레임워크 사용 가능
  • 여러 AWS 서비스들과 통합되어 Event, Request 기반으로 실행 가능
  • 자체 Editor, Zip배포, Cloud9을 통해서 개발 및 배포 가능
  • Cloudwatch, X-ray를 통해 요청 수, 에러 수, 처리 시간, 처리량 모니터링 가능
  • AWS IAM Role을 사용한 권한 관리, AWS 이벤트 소스의 리소스 기반 정책 적용

 

Lambda 서비스 동작 방식

이벤트 소스로부터 Trigger되어 Lambda함수가 실행되고 IAM 권한에 따라 다양한 서비스와 연동

출처: 아마존 웹 서비스로 시작하는 데브옵스

 

Lambda 이벤트 소스 및 타켓 서비스 

출처: 아마존 웹 서비스로 시작하는 데브옵스

 

Lambda 서비스 주요 사용 모델 예시

출처: 아마존 웹 서비스로 시작하는 데브옵스

  1. Synchronous(Push)
    - API Gateway와 연동으로 웹어플리케이션 Request 수신 및 처리결과에 대한 Feedback 제공(양방향)
  2. Asynchronous(Push)
    - Amazon SNS, S3 등의 이벤트 수신을 통해 Trigger되어, 요청에 대한 처리 후 결과를 별도 저장 및 다른 서비스로 전송
  3. Stream-Base
    - Amazon DynamoDB, Kinesis로 부터 상태 변경에 따른 Trigger나 Stream-Base 요청 처리 및 타 서비스 연동

 

Lambda Hello World 실행

- Lambda 메뉴로 접속 후 '함수 생성' 버튼 클릭

 

- '새로작성'에서 함수 이름 'HelloWorld', 런타임은 'Python 3.7' 선택 후 하단에 '함수생성' 버튼 클릭

 

-  기본 코드 그대로 둔 상태에서 'Test' 버튼 클릭

 

- 이벤트 이름에 test 입력 후 하단 '생성' 버튼 클릭

 

- 기본 코드에서 테스트로 "print(event)" 하나만 추가하고 Ctrl+S로 저장 후 'Deploy' 버튼 클릭으로 반영

 

- 변경내용 반영 후 'Test' 버튼 클릭하면, 'Execution results' 탭이 추가되고 실행 결과가 나옴, "print(event)"로 찍어준 내용도 중간에  'Function Logs'에 나옴

 

- '모니터링' 탭 클릭하면 CloudWatch 지표도 확인 가능

 

반응형

'개발 > AWS' 카테고리의 다른 글

AWS CloudWatch 이해 및 지표보기  (0) 2022.02.20
AWS Lambda-Layers 테스트 Python  (0) 2022.02.19
AWS Lightsail 이해 및 테스트  (0) 2022.02.09
AWS IAM 개념 및 테스트  (0) 2022.02.06
AWS CloudFront(CDN) 이해 및 테스트  (0) 2022.02.05

댓글