Skip to content

배포 패키지


AWS Lambda 함수의 코드는 스크립트 또는 컴파일된 프로그램과 해당 종속 항목으로 구성된다. 함수 코드는 배포 패키지를 사용하여 Lambda에 배포한다. Lambda는 컨테이너 이미지 및 .zip 파일 아카이브의 두 가지 배포 패키지를 지원한다.


1. 컨테이너 이미지

컨테이너 이미지에는 기본 운영 체제, 런타임, Lambda 익스텐션, 애플리케이션 코드 및 해당 종속 항목이 포함된다. 기계 학습 모델과 같은 정적 데이터를 이미지에 추가할 수도 있다.

Lambda는 컨테이너 이미지를 빌드하는 데 사용할 수 있는 일련의 오픈 소스 기본 이미지를 제공한다. 컨테이너 이미지를 생성하고 테스트하려면 AWS Serverless Application Model(AWS SAM) 명령줄 인터페이스(CLI) 또는 Docker CLI와 같은 기본 컨테이너 도구를 사용할 수 있다.

컨테이너 이미지를 관리형 AWS 컨테이너 이미지 레지스트리 서비스인 Amazon Elastic Container Registry(Amazon ECR)에 업로드한다. 함수에 이미지를 배포하려면 Lambda 콘솔, Lambda API, 명령줄 도구 또는 AWS SDK를 사용하여 Amazon ECR 이미지 URL을 지정한다.


2. .zip 파일 아카이브

.zip 파일 아카이브에는 애플리케이션 코드와 해당 종속 항목이 포함된다. Lambda 콘솔이나 도구 키트를 사용하여 함수를 작성하면 Lambda가 코드의.zip 파일 아카이브를 자동으로 생성한다.

Lambda API, 명령줄 도구 또는 AWS SDK를 사용하여 함수를 생성하는 경우 배포 패키지를 생성해야 한다. 함수가 컴파일된 언어를 사용하거나 함수에 종속 항목을 추가하는 경우에도 배포 패키지를 생성해야 한다. 함수 코드를 배포하려면 Amazon Simple Storage Service(Amazon S3) 또는 로컬 컴퓨터에서 배포 패키지를 업로드한다.

Lambda 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용하여 Amazon Simple Storage Service(Amazon S3) 버킷에 .zip 파일을 배포 패키지로 업로드할 수 있다.

1) Lambda 콘솔 사용

다음 단계에서는 Lambda 콘솔을 사용하여 .zip 파일을 배포 패키지로 업로드하는 방법을 보여준다.

Lambda 콘솔에서 .zip 파일을 업로드하는 방법

  1. Lambda 콘솔에서 함수 페이지를 연다.

  2. 함수를 선택한다.

  3. 코드 소스 창에서 업로드 원본(Upload from)을 선택한 다음 .zip 파일을 선택한다.

  4. [업로드(Upload)]를 선택하여 로컬 .zip 파일을 선택한다.

  5. 저장을 선택한다.

2) AWS CLI 사용

AWS Command Line Interface(AWS CLI)을(를) 사용하여 .zip 파일을 배포 패키지로 업로드할 수 있다. 언어별 지침은 다음 주제를 참조한다.

3) Amazon S3 사용

Amazon Simple Storage Service(Amazon S3)을 사용하여 .zip 파일을 배포 패키지로 업로드할 수 있다. 자세한 정보는 다른 AWS 서비스를 사용하여 배포 패키지 빌드를 참조한다.


3. 계층

.zip 파일 아카이브를 사용하여 함수 코드를 배포하는 경우 라이브러리, 사용자 지정 런타임 및 기타 함수 종속 항목에 대한 배포 메커니즘으로 Lambda 계층을 사용할 수 있다. 계층을 사용하면 개발 중인 함수 코드를 변경되지 않는 코드 및 리소스와는 별도로 관리할 수 있다. 사용자가 생성한 계층, AWS에서 제공하는 계층 또는 다른 AWS 고객들의 계층을 사용하도록 함수를 구성할 수 있다.

컨테이너 이미지에는 계층을 사용하지 않는다. 대신 이미지를 빌드할 때 기본 설정 런타임, 라이브러리 및 기타 종속 항목을 컨테이너 이미지로 패키징한다.


4. 다른 AWS 서비스를 사용하여 배포 패키지 빌드

다음 섹션에서는 Lambda 함수에 대한 종속성을 패키지하는 데 사용할 수 있는 다른 AWS 서비스를 설명한다.

1) C 또는 C++ 라이브러리가 포함된 배포 패키지

배포 패키지에 네이티브 라이브러리가 포함된 경우 AWS Serverless Application Model(AWS SAM)를 사용하여 배포 패키지를 빌드할 수 있다. AWS SAM CLI sam build 명령을 --use-container와 함께 사용하여 배포 패키지를 만들 수 있다. 이 옵션은 Lambda 실행 환경과 호환되는 도커 이미지 내부에 배포 패키지를 빌드한다.

자세한 내용은 AWS Serverless Application Model 개발자 안내서의 sam 빌드를 참조한다.

2) 50MB를 초과하는 배포 패키지

배포 패키지가 50MB보다 큰 경우 Amazon S3 버킷에 함수 코드와 종속 항목을 업로드한다.

배포 패키지를 생성하고, Lambda 함수를 생성하려는 AWS 리전의 Amazon S3 버킷에 .zip 파일을 업로드할 수 있다. Lambda 함수를 생성할 때 Lambda 콘솔에서 S3 버킷 이름과 객체 키 이름을 지정하거나 AWS CLI를 사용한다.

Amazon S3 콘솔을 사용하여 버킷을 생성하려면 Amazon Simple Storage Service Console 사용 설명서의 S3 버킷을 생성하려면 어떻게 해야 합니까? 단원을 참조한다.


References