Lambda의 OS 전용 런타임을 사용해야 하는 경우 - AWS Lambda

Lambda의 OS 전용 런타임을 사용해야 하는 경우

Lambda는 Java, Python, Node.js, .NET 및 Ruby에 대한 관리형 런타임을 제공합니다. 관리형 런타임으로 사용할 수 없는 프로그래밍 언어로 Lambda 함수를 생성하려면 OS 전용 런타임(provided 런타임 제품군)을 사용합니다. OS 전용 런타임에는 세 가지 기본 사용 사례가 있습니다.

  • Native Ahead-of-Time(AOT) 컴파일: Go, Rust, C++와 같은 언어는 기본적으로 실행 가능한 바이너리로 컴파일되므로 전용 언어 런타임이 필요하지 않습니다. 이러한 언어에는 컴파일된 바이너리를 실행할 수 있는 OS 환경만 필요합니다. 또한 Lambda OS 전용 런타임을 사용하여 .NET 네이티브 AOT 및 Java GraalVM 네이티브로 컴파일된 바이너리를 배포할 수 있습니다.

    바이너리에 런타임 인터페이스 클라이언트를 포함해야 합니다. 런타임 인터페이스 클라이언트는 사용자 지정 런타임을 위한 Lambda 런타임 API 사용를 직접 호출하여 함수 간접 호출을 검색한 후 함수 핸들러를 직접 호출합니다. Lambda는 Go, .NET Native AOT, C++, Rust(실험용)에 대한 런타임 인터페이스 클라이언트를 제공합니다.

    Linux 환경 및 함수에 사용하려는 것과 동일한 명령 세트 아키텍처(x86_64 또는 arm64)에 맞게 바이너리를 컴파일해야 합니다.

  • 타사 런타임: PHP용 Bref 또는 Swift용 Swift AWS Lambda Runtime과 같은 상용 런타임을 사용하여 Lambda 함수를 실행할 수 있습니다.

  • 사용자 지정 런타임: Lambda가 관리형 런타임을 제공하지 않는 언어 또는 언어 버전에 대한 자체 런타임을 구축할 수 있습니다(예: Node.js 19). 자세한 내용은 AWS Lambda에 대한 사용자 지정 런타임 빌드 단원을 참조하십시오. 이는 OS 전용 런타임의 경우 가장 흔하지 않은 사용 사례입니다.

Lambda는 다음과 같은 OS 전용 런타임을 지원합니다.

OS 전용
명칭 식별자 운영 체제 사용 중단 날짜 블록 함수 생성 블록 함수 업데이트

OS 전용 런타임

provided.al2023

Amazon Linux 2023

OS 전용 런타임

provided.al2

Amazon Linux 2

Amazon Linux 2023(provided.al2023) 런타임은 작은 배포 공간과 glibc와 같이 업데이트된 라이브러리 버전을 포함하여 Amazon Linux 2에 비해 여러 가지 이점을 제공합니다.

provided.al2023 런타임은 Amazon Linux 2의 기본 패키지 관리자인 yum 대신 dnf를 패키지 관리자로 사용합니다. provided.al2023provided.al2 간의 차이점에 대한 자세한 내용은 AWS Lambda을 위한 Amazon Linux 2023 런타임 소개를 AWS Compute 블로그에서 참조하십시오.