Lambda 런타임
Lambda는 런타임을 사용하여 여러 언어를 지원합니다. 런타임은 Lambda와 함수 간에 호출 이벤트, 컨텍스트 정보 및 응답을 릴레이하는 언어별 환경을 제공합니다. Lambda에서 제공하는 런타임을 사용하거나 나만의 런타임을 빌드할 수 있습니다.
각 주요 프로그래밍 언어 릴리스에는 python3.10
또는 nodejs18.x
와 같은 고유한 런타임 식별자를 가진 별도의 런타임이 있습니다. 새 메이저 언어 버전을 사용하도록 함수를 구성하려면 런타임 식별자를 변경해야 합니다. AWS Lambda는 메이저 버전 간에 이전 버전과의 호환성을 보장할 수 없으므로 이 작업은 고객이 수행해야 합니다.
컨테이너 이미지로 정의된 함수의 경우 컨테이너 이미지를 생성할 때 런타임 및 Linux 배포판을 선택합니다. 런타임을 변경하려면 새 컨테이너 이미지를 생성합니다.
배포 패키지에 .zip 파일 아카이브를 사용하는 경우 함수를 생성할 때 런타임을 선택합니다. 런타임을 변경하려면 함수의 구성을 업데이트할 수 있습니다. 런타임은 Amazon Linux 배포판 중 하나와 페어링됩니다. 기반 실행 환경은 함수 코드에서 액세스할 수 있는 추가 라이브러리와 환경 변수를 제공합니다.
Amazon Linux 2
-
이미지 - 사용자 지정
-
Linux 커널 — 4.14
Amazon Linux
-
Linux 커널 — 4.14
Lambda는 실행 환경에서 함수를 호출합니다. 실행 환경은 함수를 실행하는 데 필요한 리소스를 관리하는 안전하고 격리된 런타임 환경을 제공합니다. Lambda는 사용 가능한 경우 이전 호출에서 실행 환경을 다시 사용하거나 새 실행 환경을 만들 수 있습니다.
Lambda에서 다른 언어를 사용하기 위해 사용자 지정 런타임을 구현할 수 있습니다. Lambda 실행 환경은 호출 이벤트를 받고 응답을 보내기 위한 런타임 인터페이스를 제공합니다. 사용자 지정 런타임은 함수 코드와 함께 배포하거나 하나의 계층에서 배포할 수 있습니다.
참고
새 지역의 경우, Lambda는 향후 6개월 내에 지원 중단될 런타임은 지원하지 않습니다.
지원되는 런타임 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
이름 | 식별자 | SDK | 운영 체제 | 아키텍처 | 사용 중단(단계 1) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js 18 |
|
3.188.0 |
Amazon Linux 2 |
x86_64, arm64 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js 16 |
|
2.1374.0 |
Amazon Linux 2 |
x86_64, arm64 |
2024년 3월 11일 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js 14 |
|
2.1374.0 |
Amazon Linux 2 |
x86_64, arm64 |
2023년 11월 27일 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Python 3.11 |
|
boto3-1.27.1 botocore-1.30.1 |
Amazon Linux 2 |
x86_64, arm64 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Python 3.10 |
|
boto3-1.26.90 botocore-1.29.90 |
Amazon Linux 2 |
x86_64, arm64 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Python 3.9 |
|
boto3-1.26.90 botocore-1.29.90 |
Amazon Linux 2 |
x86_64, arm64 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Python 3.8 |
|
boto3-1.26.90 botocore-1.29.90 |
Amazon Linux 2 |
x86_64, arm64 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Python 3.7 |
|
boto3-1.26.90 botocore-1.29.90 |
Amazon Linux |
x86_64 |
2023년 11월 27일 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Java 17 |
|
Amazon Linux 2 |
x86_64, arm64 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Java 11 |
|
Amazon Linux 2 |
x86_64, arm64 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Java 8 |
|
Amazon Linux 2 |
x86_64, arm64 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Java 8 |
|
Amazon Linux |
x86_64 |
2023년 12월 31일 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.NET 7(컨테이너만 해당) |
|
Amazon Linux 2 |
x86_64, arm64 |
2024년 5월 14일 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.NET 6 |
|
Amazon Linux 2 |
x86_64, arm64 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Go 1.x |
|
Amazon Linux |
x86_64 |
2023년 12월 31일 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ruby 3.2 |
|
3.1.0 |
Amazon Linux 2 |
x86_64, arm64 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ruby 2.7 |
|
3.1.0 |
Amazon Linux 2 |
x86_64, arm64 |
2023년 12월 7일 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
사용자 지정 런타임 |
|
Amazon Linux 2 |
x86_64, arm64 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
사용자 지정 런타임 |
|
Amazon Linux |
x86_64 |
2023년 12월 31일 |
Lambda는 패치를 통해 관리형 런타임을 최신 상태로 유지하고 마이너 버전 릴리스를 지원합니다. 자세한 내용은 Lambda 런타임 업데이트를 참조하세요.
런타임 사용 중단 정책
Lambda 런타임.zip 파일 아카이브에 대한 은 유지 관리 및 보안 업데이트가 적용되는 운영 체제, 프로그래밍 언어 및 소프트웨어 라이브러리의 조합을 기반으로 구축됩니다. 런타임의 구성 요소에 대해 보안 업데이트를 더 이상 사용할 수 없는 경우 Lambda는 런타임을 사용 중지합니다.
런타임의 사용 중지(지원 종료)는 두 단계로 이루어집니다.
1단계 - Lambda가 더 이상 보안 패치 또는 기타 업데이트를 런타임에 적용하지 않습니다. 해당 런타임을 사용하는 함수를 더 이상 생성할 수 없지만 기존 함수는 계속 업데이트할 수 있습니다. 여기에는 런타임 업데이트 및 이전 런타임으로의 롤백이 포함됩니다. 사용되지 않는 런타임을 사용하는 함수에 대해서는 더 이상 기술 지원을 받을 수 없습니다.
2 단계 - 더 이상 해당 런타임을 사용하는 함수를 생성하거나 업데이트할 수 없습니다. 함수를 업데이트하려면 지원되는 런타임으로 마이그레이션해야 합니다. 함수를 지원되는 런타임으로 마이그레이션한 후에는 함수를 이전 런타임으로 롤백할 수 없습니다. 2단계는 1단계 시작 후 최소 30일 후에 시작됩니다.
Lambda는 더 이상 사용되지 않는 런타임을 사용하는 함수의 호출을 차단하지 않습니다. 함수 호출은 런타임에 대한 지원이 종료된 후에도 무기한 계속됩니다. 그러나 AWS에서는 보안 패치를 계속 수신하고 기술 지원을 받을 수 있도록 함수를 지원되는 런타임으로 마이그레이션하는 것을 권장합니다.
아래 표에서 각 단계는 지정된 날짜의 자정(태평양 표준시)부터 시작됩니다. 다음 런타임은 지원 종료 시점에 도달했습니다.
더 이상 사용되지 않는 런타임 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
이름 | 식별자 | 운영 체제 | 사용 중단 단계 1 | 사용 중단 단계 2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.NET Core 3.1 |
dotnetcore3.1
|
Amazon Linux 2 |
2023년 4월 3일 |
2023년 5월 3일 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js 12 |
nodejs12.x
|
Amazon Linux 2 |
2023년 3월 31일 |
2023년 4월 30일 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Python 3.6 |
python3.6
|
Amazon Linux |
2022년 7월 18일 |
2022년 8월 29일 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Python 2.7 |
python2.7
|
Amazon Linux |
2021년 7월 15일 |
2022년 5월 30일 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.NET 5(컨테이너만 해당) |
dotnet5.0
|
Amazon Linux 2 |
2022년 5월 10일 |
2022년 5월 10일 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.NET Core 2.1 |
dotnetcore2.1
|
Amazon Linux |
2022년 1월 5일 |
2022년 4월 13일 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ruby 2.5 |
ruby2.5
|
Amazon Linux |
2021년 7월 30일 |
2022년 3월 31일 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js 10 |
nodejs10.x
|
Amazon Linux 2 |
2021년 7월 30일 |
2022년 2월 14일 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js 8.10 |
nodejs8.10
|
Amazon Linux |
2020년 3월 6일 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js 4.3 |
nodejs4.3
|
Amazon Linux |
2020년 3월 5일 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js 6.10 |
nodejs6.10
|
Amazon Linux |
2019년 8월 12일 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.NET Core 1.0 |
dotnetcore1.0
|
Amazon Linux |
2019년 7월 30일 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
.NET Core 2.0 |
dotnetcore2.0
|
Amazon Linux |
2019년 5월 30일 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js 4.3 엣지 |
nodejs4.3-edge
|
Amazon Linux |
2019년 4월 30일 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Node.js 0.10 |
nodejs
|
Amazon Linux |
2016년 10월 31일 |
거의 모든 경우에 언어 버전 또는 운영 체제의 수명 종료는 미리 공개됩니다. 아래 링크는 Lambda가 관리형 런타임으로서 지원하는 각 언어의 수명 종료 일정을 제공합니다. 또한 Trusted Advisor에는 예정된 Lambda 런타임 지원 종료를 120일 전에 미리 알리는 확인 항목이 포함되어 있으며, Lambda는 향후 60일 이내에 지원 종료가 예정된 런타임을 사용하는 함수가 있는 경우 이메일로 알려줍니다.
언어 및 프레임워크 지원 정책
-
Node.js – github.com
-
Python – devguide.python.org
-
Ruby – www.ruby-lang.org
-
Java – www.oracle.com
및 Corretto FAQ -
Go – golang.org
-
.NET Core – dotnet.microsoft.com