Lambda 레이어 배포 패키징

Lambda 레이어 배포 패키징 (Packaging Layers for Lambda functions)

AWS Lambda 레이어는 Lambda 함수에서 사용할 수 있는 라이브러리, 사용자 지정 런타임, 기타 종속성을 포함하는 .zip 파일 아카이브예요. 이 페이지에서는 Lambda 레이어를 만들고 배포하기 위해 패키징하는 방법을 설명해요.

출처: AWS 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)

레이어를 만들려면 다음 단계를 수행해요.

  1. 적절한 레이어 구조로 코드와 종속성을 준비해요.
  2. 내용을 .zip 파일로 압축해요.
  3. Lambda 콘솔, AWS CLI, AWS SDK를 사용해 레이어를 게시해요.

콘솔을 사용해 레이어 만들기

  1. Lambda 콘솔의 Layers 페이지를 열어요.
  2. Create layer 를 선택해요.
  3. 레이어 이름을 입력하고 .zip 파일을 업로드해요.
  4. 호환되는 런타임을 선택하고 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)

함수에 레이어를 추가하려면 함수에 레이어 버전을 연결해요. 그런 다음 함수가 실행 환경에서 레이어의 라이브러리를 사용할 수 있어요.

더 알아보기 (Learn more)