Lambda 함수 배포 - AWS Lambda

Lambda 함수 배포

zip 파일 아카이브를 업로드하거나 컨테이너 이미지를 생성 및 업로드하여 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 런타임은 배포 패키지의 파일을 읽을 수 있는 권한이 필요합니다. Linux 권한 8진수 표기법에서는 Lambda에 실행 불가능한 파일(rw-r--r--)에 대한 644개의 권한과 디렉터리 및 실행 파일에 대한 755개의 권한(rwxr-xr-x)이 필요합니다.

Linux 및 MacOS에서는 chmod 명령을 사용하여 배포 패키지의 파일 및 디렉터리에 대한 파일 권한을 변경합니다. 예를 들어, 실행 파일에 올바른 권한을 부여하려면 다음 명령을 실행합니다.

chmod 755 <filepath>

Windows에서 파일 권한을 변경하려면 Microsoft Windows 설명서의 Set, View, Change, or Remove Permissions on an Object를 참조하세요.

컨테이너 이미지

Docker 명령줄 인터페이스(CLI)와 같은 도구를 사용하여 코드 및 종속 항목을 컨테이너 이미지로 패키지화할 수 있습니다. 그런 다음 Amazon Elastic Container Registry(Amazon ECR)에서 호스팅되는 컨테이너 레지스트리에 이미지를 업로드할 수 있습니다.

함수를 호출하면 Lambda는 컨테이너 이미지를 실행 환경에 배포합니다. Lambda는 모든 익스텐션를 초기화한 다음 함수의 초기화 코드(기본 핸들러 외부의 코드)를 실행합니다. 함수 초기화 기간은 청구된 실행 시간에 포함됩니다.

이후 Lambda는 함수 구성(ENTRYPOINTCMD 컨테이너 이미지 설정)에 지정된 코드 진입점을 직접적으로 호출하여 함수를 실행합니다.

AWS는 함수 코드의 컨테이너 이미지를 작성하는 데 사용할 수 있는 일련의 오픈 소스 기본 이미지를 제공합니다. 다른 컨테이너 레지스트리의 대체 기본 이미지를 사용할 수도 있습니다. AWS는 대체 기본 이미지에 추가하여 Lambda 서비스와 호환되도록 만들 수 있는 오픈 소스 런타임 클라이언트를 제공합니다.

또한 AWS는 Docker CLI와 같은 도구를 사용하여 로컬에서 함수를 테스트할 수 있는 런타임 인터페이스 에뮬레이터를 제공합니다.

참고

Lambda가 지원하는 명령 세트 아키텍처 중 하나와 호환되도록 각 컨테이너 이미지를 만듭니다. Lambda는 각 명령 세트 아키텍처에 대한 기본 이미지를 제공하며 Lambda는 두 아키텍처를 모두 지원하는 기본 이미지도 제공합니다.

함수에 대해 빌드하는 이미지는 아키텍처 중 하나만 대상으로 해야 합니다.

함수를 컨테이너 이미지로 패키징하고 배포하는 데에는 추가 비용이 들지 않습니다. 컨테이너 이미지로 배포된 함수가 호출되면 호출 요청 및 실행 기간에 대한 비용을 지불합니다. Amazon ECR에 컨테이너 이미지를 저장하는 것과 관련된 요금이 발생합니다 . 자세한 정보는 Amazon ECR 요금을 참조하세요.

이미지 보안

Lambda가 원래 소스(Amazon ECR)에서 컨테이너 이미지를 처음 다운로드할 때 컨테이너 이미지가 인증된 컨버전트 암호화 방법을 사용하여 최적화되고 암호화되며 저장됩니다. 고객 데이터를 복호화하는 데 필요한 모든 키는 AWS KMS 고객 관리형 키를 사용하여 보호됩니다. Lambda의 고객 관리형 키 사용량을 추적하고 감사하려면 AWS CloudTrail 로그를 보면 됩니다.