Lambda 레이어 배포 패키징
Lambda 레이어 배포 패키징 (Packaging Layers for Lambda functions)
AWS Lambda 레이어는 Lambda 함수에서 사용할 수 있는 라이브러리, 사용자 지정 런타임, 기타 종속성을 포함하는 .zip 파일 아카이브예요. 이 페이지에서는 Lambda 레이어를 만들고 배포하기 위해 패키징하는 방법을 설명해요.
본문
레이어를 만들 때 코드를 .zip 파일 아카이브로 구조화해요. Lambda 함수의 배포 패키지에 라이브러리를 포함하는 대신 레이어에 종속성을 배치할 수 있어요. 이렇게 하면 여러 함수에서 코드를 공유하고 배포 패키지를 더 작게 유지할 수 있어요.
레이어 구조 (Layer contents)
레이어를 패키징할 때 .zip 파일의 내용을 Lambda 실행 환경이 코드와 라이브러리를 찾는 위치에 맞게 구성해요. 레이어의 콘텐츠는 원하는 언어 런타임에 따라 구조화돼요. 예를 들어:
- Python – 라이브러리를
python/디렉터리나python/lib/python3.x/site-packages/에 배치해요. - Node.js – 라이브러리를
nodejs/node_modules/디렉터리에 배치해요. - 기타 런타임 – 런타임에 따라 레이어 내용을
/opt에 매핑되는 디렉터리에 배치해요.
레이어 콘텐츠가 Apache /opt 디렉터리에 추출되며, Lambda는 /opt 를 경로에 추가해요.
레이어 만들기 (Creating a layer)
레이어를 만들려면 다음 단계를 수행해요.
- 적절한 레이어 구조로 코드와 종속성을 준비해요.
- 내용을 .zip 파일로 압축해요.
- Lambda 콘솔, AWS CLI, AWS SDK를 사용해 레이어를 게시해요.
콘솔을 사용해 레이어 만들기
- Lambda 콘솔의 Layers 페이지를 열어요.
- Create layer 를 선택해요.
- 레이어 이름을 입력하고 .zip 파일을 업로드해요.
- 호환되는 런타임을 선택하고 Create 를 선택해요.
레이어 게시 (Publishing a layer)
AWS CLI로 레이어를 게시하려면 publish-layer-version 명령을 사용해요.
aws lambda publish-layer-version \
--layer-name my-layer \
--zip-file fileb://layer.zip \
--compatible-runtimes python3.12
레이어 사용 (Using layers)
함수에 레이어를 추가하려면 함수에 레이어 버전을 연결해요. 그런 다음 함수가 실행 환경에서 레이어의 라이브러리를 사용할 수 있어요.