Lambda 확장 구성
익스텐션 구성(.zip 파일 아카이브)
익스텐션을 함수에 Lambda 계층으로 추가할 수 있습니다. 계층을 사용하면 조직 내에서 또는 전체 Lambda 개발자 커뮤니티에서 익스텐션 프로그램을 공유할 수 있습니다. 계층에 하나 이상의 익스텐션을 추가할 수 있습니다. 각 함수에 최대 10개의 익스텐션을 등록할 수 있습니다.
계층에 대해 사용하는 것과 동일한 방법으로 함수에 익스텐션을 추가합니다. 자세한 내용은 계층으로 Lambda 종속성 관리 단원을 참조하십시오.
함수에 익스텐션 프로그램 추가(콘솔)
Lambda 콘솔의 함수 페이지
를 엽니다. -
함수를 선택합니다.
-
아직 선택되지 않은 경우 코드(Code) 탭을 선택합니다.
-
계층(Layers)에서 편집(Edit)을 선택합니다.
-
계층 선택(Choose a layer)에서 ARN 지정(Specify an ARN)을 선택합니다.
-
ARN 지정(Specify an ARN)에서 익스텐션 계층의 Amazon 리소스 이름(ARN)을 입력합니다.
-
추가를 선택합니다.
컨테이너 이미지에서 익스텐션 사용
컨테이너 이미지에 익스텐션을 추가할 수 있습니다. ENTRYPOINT 컨테이너 이미지 설정은 함수의 주 프로세스를 지정합니다. Dockerfile에서 ENTRYPOINT 설정을 구성하거나 함수 구성에서 재정의로 구성합니다.
컨테이너 내에서 여러 프로세스를 실행할 수 있습니다. Lambda는 주 프로세스와 모든 추가 프로세스의 수명 주기를 관리합니다. Lambda는 익스텐션 API를 사용하여 익스텐션 수명 주기를 관리합니다.
예: 외부 익스텐션 추가
외부 익스텐션은 Lambda 함수와 별도의 프로세스에서 실행됩니다. Lambda는 /opt/extensions/
디렉터리의 각 익스텐션에 대해 프로세스를 시작합니다. Lambda는 익스텐션 API를 사용하여 익스텐션 수명 주기를 관리합니다. 함수가 완료될 때까지 실행된 후 Lambda는 각 외부 익스텐션에 Shutdown
이벤트를 보냅니다.
예 Python 기본 이미지에 외부 익스텐션 추가
FROM public.ecr.aws/lambda/python:3.11 # Copy and install the app COPY /app /app WORKDIR /app RUN pip install -r requirements.txt # Add an extension from the local directory into /opt/extensions ADD my-extension.zip /opt/extensions CMD python ./my-function.py
다음 단계
익스텐션에 대해 자세히 알아보려면 다음 리소스를 사용하는 것이 좋습니다.
-
기본적인 작업 예는 AWS Lambda 컴퓨팅 블로그에서 AWS용 익스텐션 빌드
를 참조하세요. -
AWS Lambda 파트너가 제공하는 익스텐션에 대한 자세한 내용은 AWS Lambda 컴퓨팅 블로그에서 AWS 익스텐션 소개
를 참조하세요. -
사용 가능한 예제 익스텐션 및 래퍼 스크립트를 보려면 AWS Lambda 샘플 GitHub 리포지토리에서 AWS 익스텐션
을 참조하세요.