728x90
반응형
Lambda Layer
Lambda Layer는 Lambda 함수에 필요한 라이브러리(예: Python의 pandas
, matplotlib
등)를 추가할 수 있는 기능이다.
Lambda에서 직접 코드를 통해 라이브러리를 불러오는게 아니라, Lambda Layer를 통해 라이브러리를 넣어두면 여러 Lambda 함수에서 동일한 코드를 재사용할 수 있게 해줘, 중복을 줄이고 관리 효율성을 높일 수 있다.
(하지만 필요한 라이브러리를 직접 다운로드해서 Lambda Layer에 등록해줘야 한다)
|
|
Layer를 등록하기 | Lambda에서 사용할 Layer 지정하기 |
핵심 포인트
- 최대 5개 Layer: 하나의 Lambda 함수에 최대 5개의 Layer를 추가할 수 있음.
- 버전 관리: 각 Layer는 버전 관리가 가능하여, 새로운 버전의 라이브러리를 쉽게 업데이트할 수 있음.
- 크기 제한: 각 Layer의 크기는 최대 250 MB(압축 해제 후).
🤔 문제
개발자가 두 개의 AWS Lambda 함수로 서버리스 애플리케이션을 설계하고 있습니다. 하나의 Lambda 함수는 객체를 Amazon S3 버킷에 저장하고, 해당 메타데이터를 Amazon DynamoDB 테이블에 저장합니다. 다른 Lambda 함수는 DynamoDB 테이블의 메타데이터를 사용하여 S3 버킷에서 객체를 가져옵니다. 두 Lambda 함수 모두 복잡한 계산을 수행하기 위해 동일한 Python 라이브러리를 사용하고 있으며, 배포 패키지의 최대 크기 제한에 근접하고 있습니다.
배포 패키지 크기를 최소화하고 운영 오버헤드를 가장 적게 줄이는 방법은 무엇인가요?
- 각 Python 라이브러리를 별도의 .zip 파일로 패키징합니다. 각 Lambda 함수에 라이브러리의 복사본을 배포합니다.
- 필요한 Python 라이브러리로 Lambda 레이어를 생성합니다. 두 Lambda 함수에서 Lambda 레이어를 사용합니다.
- 두 Lambda 함수를 하나의 Lambda 함수로 결합합니다. Lambda 함수를 하나의 .zip 파일로 배포합니다.
- Python 라이브러리를 S3 버킷에 다운로드합니다. Lambda 함수가 객체 URL을 참조하도록 프로그램합니다.
정답
더보기
정답. 2번
728x90
반응형
'클라우드(AWS)' 카테고리의 다른 글
[AWS] Lambda@Edge와 CloudFront Function란? 차이점까지 쉽게 정리 (1) | 2024.11.23 |
---|---|
[AWS] DynamoDB의 "BatchGetItem", "GetItem"란? 쉽게 정리 (0) | 2024.11.22 |
[AWS] API Gateway 개발 환경 별로 (예: Dev, Prod) Stages 설정하는 법 (1) | 2024.10.29 |
[AWS] Amplify란? 쉽게 정리 (Full Stack 애플리케이션 개발을 쉽게 만들어주는 서비스) (1) | 2024.10.22 |
[AWS] Amazon OpenSearch란? 쉽게 정리 (검색 엔진, Elasticsearch) (0) | 2024.10.20 |