Lambda의 OS 전용 런타임 사용 시점

Lambda의 OS 전용 런타임 사용 시점 (When to use Lambda's OS-only runtimes)

Lambda는 Java, Python, Node.js, .NET, Ruby용 관리형 런타임을 제공해요. 관리형 런타임으로 제공되지 않는 프로그래밍 언어로 Lambda 함수를 만들려면 OS 전용 런타임(provided 런타임 패밀리)을 사용해요. OS 전용 런타임의 주요 사용 사례는 세 가지예요.

출처: AWS Lambda 개발자 안내서

본문

  • 네이티브 AOT(ahead-of-time) 컴파일 : Go, Rust, Swift, C++ 같은 언어는 전용 언어 런타임을 필요로 하지 않는 실행 가능한 바이너리로 네이티브 컴파일돼요. 이 언어들은 컴파일된 바이너리가 실행될 수 있는 OS 환경만 필요해요. 또한 .NET Native AOT와 Java GraalVM Native Image로 컴파일된 바이너리를 배포하는 데 Lambda OS 전용 런타임을 사용할 수 있어요. 바이너리에 런타임 인터페이스 클라이언트를 포함해야 해요. 런타임 인터페이스 클라이언트는 커스텀 런타임용 Lambda 런타임 API 사용을 호출해 함수 호출을 검색한 다음 함수 핸들러를 호출해요. Lambda는 Rust, Go, .NET Native AOT, Swift(실험적), C++(실험적)용 런타임 인터페이스 클라이언트를 제공해요. 바이너리를 Linux 환경과 함수에 사용할 계획인 것과 동일한 명령어 세트 아키텍처(x86_64 또는 arm64)로 컴파일해야 해요.
  • 타사 런타임 : PHP용 Bref 같은 기성품 런타임을 사용해 Lambda 함수를 실행할 수 있어요.
  • 커스텀 런타임 : Lambda가 관리형 런타임을 제공하지 않는 언어나 언어 버전(예: Node.js 19)에 대해 자체 런타임을 구축할 수 있어요. 자세한 내용은 AWS Lambda용 커스텀 런타임 구축을 참고하세요. 이것은 OS 전용 런타임의 가장 흔하지 않은 사용 사례예요.

Lambda는 다음 OS 전용 런타임을 지원해요.

이름 식별자 운영 체제 지원 종료 날짜 함수 생성 차단 함수 업데이트 차단
OS-only Runtime provided.al2023 Amazon Linux 2023 2029년 6월 30일 2029년 7월 31일 2029년 8월 31일

Amazon Linux 2023(provided.al2023) 런타임은 Amazon Linux 2보다 더 작은 배포 공간과 glibc 같은 라이브러리의 업데이트된 버전 등 여러 이점을 제공해요.

provided.al2023 런타임은 Amazon Linux 2의 기본 패키지 관리자인 yum 대신 패키지 관리자로 dnf 를 사용해요. provided.al2023 와 provided.al2 의 차이점에 대한 자세한 내용은 AWS Compute Blog의 AWS Lambda용 Amazon Linux 2023 런타임 소개를 참고하세요.

더 알아보기 (Learn more)