Lambda 배포 패키지 - AWS Lambda

Lambda 배포 패키지

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

컨테이너 이미지

컨테이너 이미지에는 기본 운영 체제, 런타임, 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을 지정하세요.

Lambda 컨테이너 이미지에 대한 자세한 내용은 컨테이너 이미지를 사용하여 Lambda 함수 생성 단원을 참조하세요.

.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 파일을 배포 패키지로 업로드할 수 있습니다.

Lambda 콘솔 사용

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

Lambda 콘솔에서 .zip 파일을 업로드하는 방법
  1. Lambda 콘솔에서 함수 페이지를 엽니다.

  2. 함수를 선택합니다.

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

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

  5. 저장을 선택합니다.

AWS CLI 사용

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

Node.js

.zip 파일 아카이브를 사용하여 Node.js Lambda 함수 배포

Python

Python Lambda 함수에 대한 .zip 파일 아카이브 작업

Ruby

Ruby Lambda 함수에 대한 .zip 파일 아카이브 작업

Java

.zip 또는 JAR 파일 아카이브를 사용하여 Java Lambda 함수 배포

Go

.zip 파일 아카이브를 사용하여 Go Lambda 함수 배포

C#

.zip 파일 아카이브를 사용하여 C# Lambda 함수를 빌드 및 배포

PowerShell

.zip PowerShell 파일 아카이브와 함께 Lambda 함수 배포

Amazon S3 사용

Amazon Simple Storage Service(Amazon S3)을 사용하여 .zip 파일을 배포 패키지로 업로드할 수 있습니다. 자세한 내용은 다른 AWS 서비스를 사용하여 배포 패키지 빌드 단원을 참조하십시오.

계층

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

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

계층에 대한 자세한 내용은 계층으로 Lambda 종속성 관리 단원을 참조하세요.

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

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

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

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

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

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

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

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

Amazon S3 콘솔을 사용하여 버킷을 생성하려면 Amazon Simple Storage Service 사용 설명서의 버킷 생성을 참조하세요.