https://tobelinuxer.tistory.com/51
이전 포스트에 이어서
이 페이지에서는 3. 함수 배포, 4. 함수 실행과 동시 제어에 대해 다루도록 하겠습니다.
1. 개요
- AWS Lambda란?
- AWS Lambda의 특징
- AWS Lambda의 장점
2. 함수 작성
- 함수 코드 작성 방법
- 함수의 이벤트 트리거 설정
- 환경 변수 설정
- 실행 역할 설정
- 메모리 할당량과 실행 시간 제한 설정
- VPC 구성 설정
3. 함수 배포
- AWS Lambda 콘솔을 이용한 배포 방법
- AWS CLI를 이용한 배포 방법
- 함수 버전과 별칭
4. 함수 실행과 동시성 제어
- 함수 실행 방법
- 함수의 동시성 제어 방법
- 함수 실행 시간과 비용
5. AWS Lambda와의 연동
- S3 버킷과의 연동
- API Gateway와의 연동
- Amazon DynamoDB와의 연동
- AWS Step Functions와의 연동
6. AWS Lambda 보안
- 실행 역할을 이용한 권한 설정
- 환경 변수를 이용한 비밀 정보 관리
- AWS Key Management Service와의 연동
3. 함수 배포
AWS Lambda 함수 배포는 다음과 같은 방법으로 이루어집니다.
1. AWS Lambda 콘솔을 이용한 배포 방법
AWS Lambda 콘솔을 이용하여 함수를 배포하는 방법은 다음과 같습니다.
- 함수 코드를 업로드
- 함수의 실행 역할을 지정
- 함수의 메모리 할당량과 실행 시간 제한을 설정
- 함수의 이벤트 트리거를 설정
- 함수를 배포
AWS Lambda 콘솔을 이용한 배포 방법은 간단하고 직관적입니다.
2. AWS CLI를 이용한 배포 방법
AWS CLI를 이용하여 함수를 배포하는 방법은 다음과 같습니다.
- 함수 코드를 로컬 컴퓨터에서 작성
- AWS CLI를 이용하여 함수 코드를 업로드
- 함수의 실행 역할을 지정
- 함수의 메모리 할당량과 실행 시간 제한을 설정
- 함수의 이벤트 트리거를 설정
- 함수를 배포
AWS CLI를 이용한 배포 방법은 배치 처리 작업에 적합합니다.
3. 함수 버전과 별칭
AWS Lambda 함수는 버전과 별칭을 가질 수 있습니다.
함수의 버전은 특정 시점의 함수 코드를 의미하며, 함수의 별칭은 버전을 가리키는 이름입니다.
버전과 별칭을 이용하면 함수를 안정적으로 관리할 수 있습니다.
예를 들어, 함수를 업데이트할 때 새로운 버전을 생성하고, 이전 버전을 삭제하는 대신 새로운 버전을 생성하고 이전 버전과 같은 별칭을 사용하여 안정적으로 배포할 수 있습니다.
AWS Lambda 함수 배포는 AWS Lambda 콘솔과 AWS CLI를 이용한 방법으로 이루어집니다.
함수 배포 시에는 함수 코드 업로드, 실행 역할 지정, 메모리 할당량과 실행 시간 제한 설정, 이벤트 트리거 설정 등 다양한 설정이 필요합니다.
또한, 함수 배포 시에는 버전과 별칭을 이용하여 안정적으로 관리할 수 있습니다.
4. 함수 실행과 동시성 제어
AWS Lambda 함수 실행은 다음과 같은 특징을 가집니다.
1. 이벤트 트리거에 의한 실행
AWS Lambda 함수는 이벤트 트리거에 의해 호출됩니다.
이벤트 트리거는 S3 버킷에 새로운 파일이 업로드될 때, Amazon SNS 메시지가 발행될 때, Amazon CloudWatch 스케줄러에 의해 주기적으로 호출될 때 등 다양한 방법으로 발생할 수 있습니다.
2. 실행 시간 제한
AWS Lambda 함수는 실행 시간 제한이 있습니다. 기본적으로 15분 이하로 실행할 수 있습니다.
3. 메모리 할당량
AWS Lambda 함수는 실행될 때 메모리 할당량을 설정할 수 있습니다.
메모리 할당량이 높을수록 더 많은 비용이 들어갑니다.
4. 동시성 제어
AWS Lambda 함수는 동시에 실행될 수 있는 인스턴스 수에 제한이 있습니다.
따라서 동시성 제어는 중요한 이슈 중 하나입니다.
AWS Lambda 함수의 동시성 제어는 다음과 같은 방법으로 이루어집니다.
1. 제한된 동시성 모드
제한된 동시성 모드는 특정 함수에 대해 실행 가능한 인스턴스 수를 제한하는 모드입니다.
이 모드에서는 동시에 실행 가능한 인스턴스 수가 제한되며, 초과하는 요청은 대기열에 저장됩니다.
2. 무제한 동시성 모드
무제한 동시성 모드는 함수에 대해 실행 가능한 인스턴스 수에 제한이 없는 모드입니다.
이 모드에서는 동시에 실행 가능한 인스턴스 수가 제한되지 않으며, 초과하는 요청은 드랍됩니다.
AWS Lambda 함수 실행은 이벤트 트리거에 의해 발생하며, 실행 시간 제한과 메모리 할당량 등의 제한이 있습니다.
또한, 동시성 제어는 제한된 동시성 모드와 무제한 동시성 모드로 이루어집니다.
따라서 함수 실행 시에는 이러한 특징과 제한을 고려하여 함수 코드를 작성해야 합니다.
지금 보시는 글은 ChatGPT의 도움을 받아 작성되었습니다.
'ChatGPT > AWS Serverless' 카테고리의 다른 글
[AWS][LAMBDA][AUTHORIZER] Token-based와 Request-based Authorizer 구현하기 - 1 (0) | 2023.04.04 |
---|---|
[AWS][LAMBDA] 소개 - 3 (0) | 2023.04.04 |
[AWS][LAMBDA] 소개 - 1 (0) | 2023.04.04 |
[AWS][LAMBDA] SERVERLESS FRAMEWORK 개발하기 - 2 (0) | 2023.04.04 |
[AWS][LAMBDA] SERVERLESS FRAMEWORK 개발하기 - 1 (0) | 2023.04.03 |