반응형
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 서비스 주요 사용 모델 예시
- Synchronous(Push)
- API Gateway와 연동으로 웹어플리케이션 Request 수신 및 처리결과에 대한 Feedback 제공(양방향) - Asynchronous(Push)
- Amazon SNS, S3 등의 이벤트 수신을 통해 Trigger되어, 요청에 대한 처리 후 결과를 별도 저장 및 다른 서비스로 전송 - 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 |
댓글