Lambda 런타임 - AWS Lambda

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Lambda 런타임

Lambda는 런타임을 사용하여 여러 언어를 지원합니다. 런타임은 Lambda와 함수 간에 호출 이벤트, 컨텍스트 정보 및 응답을 릴레이하는 언어별 환경을 제공합니다. Lambda에서 제공하는 런타임을 사용하거나 나만의 런타임을 빌드할 수 있습니다.

각 주요 프로그래밍 언어 릴리스에는 nodejs20.x 또는 python3.12와 같은 고유한 런타임 식별자를 가진 별도의 런타임이 있습니다. 새 메이저 언어 버전을 사용하도록 함수를 구성하려면 런타임 식별자를 변경해야 합니다. AWS Lambda는 메이저 버전 간에 이전 버전과의 호환성을 보장할 수 없으므로 이 작업은 고객이 수행해야 합니다.

컨테이너 이미지로 정의된 함수의 경우 컨테이너 이미지를 생성할 때 런타임 및 Linux 배포판을 선택합니다. 런타임을 변경하려면 새 컨테이너 이미지를 생성합니다.

배포 패키지에 .zip 파일 아카이브를 사용하는 경우 함수를 생성할 때 런타임을 선택합니다. 런타임을 변경하려면 함수의 구성을 업데이트할 수 있습니다. 런타임은 Amazon Linux 배포판 중 하나와 페어링됩니다. 기반 실행 환경은 함수 코드에서 액세스할 수 있는 추가 라이브러리와 환경 변수를 제공합니다.

Lambda는 실행 환경에서 함수를 호출합니다. 실행 환경은 함수를 실행하는 데 필요한 리소스를 관리하는 안전하고 격리된 런타임 환경을 제공합니다. Lambda는 사용 가능한 경우 이전 호출에서 실행 환경을 다시 사용하거나 새 실행 환경을 만들 수 있습니다.

Lambda에서 Go 또는 Rust와 같은 다른 언어를 사용하려면 OS 전용 런타임을 사용합니다. Lambda 실행 환경은 호출 이벤트를 받고 응답을 보내기 위한 런타임 인터페이스를 제공합니다. 사용자 지정 런타임을 함수 코드와 함께 배포하거나 하나의 계층에서 구현하여 다른 언어를 배포할 수 있습니다.

다음 테이블에는 지원되는 Lambda 런타임 및 예상되는 사용 중단 날짜가 나와 있습니다. 런타임이 지원 중단된 후에도 제한된 기간에 함수를 생성하고 업데이트할 수 있습니다. 자세한 내용은 지원 중단 이후 런타임 지원 단원을 참조하십시오. 이 테이블에서는 현재 예상되는 런타임 지원 중단 날짜를 제공합니다. 이 날짜는 계획 수립을 위해 제공되며 변경될 수 있습니다.

지원되는 런타임
명칭 식별자 SDK 운영 체제 사용 중단 날짜 블록 함수 생성 블록 함수 업데이트

Node.js 20

nodejs20.x

3.362.0

Amazon Linux 2023

Node.js 18

nodejs18.x

3.362.0

Amazon Linux 2

Node.js 16

nodejs16.x

2.1374.0

Amazon Linux 2

2024년 6월 12일

2024년 7월 15일

2024년 8월 15일

Python 3.12

python3.12

boto3-1.28.72 botocore-1.31.72

Amazon Linux 2023

Python 3.11

python3.11

boto3-1.27.1 botocore-1.30.1

Amazon Linux 2

Python 3.10

python3.10

boto3-1.26.90 botocore-1.29.90

Amazon Linux 2

Python 3.9

python3.9

boto3-1.26.90 botocore-1.29.90

Amazon Linux 2

Python 3.8

python3.8

boto3-1.26.90 botocore-1.29.90

Amazon Linux 2

2024년 10월 14일

2024년 11월 13일

2025년 1월 7일

Java 21

java21

Amazon Linux 2023

Java 17

java17

Amazon Linux 2

Java 11

java11

Amazon Linux 2

Java 8

java8.al2

Amazon Linux 2

.NET 8

dotnet8

Amazon Linux 2023

.NET 7(컨테이너만 해당)

dotnet7

Amazon Linux 2

2024년 5월 14일

.NET 6

dotnet6

Amazon Linux 2

2024년 11월 12일

2025년 1월 11일

2025년 2월 11일

Ruby 3.2

ruby3.2

3.1.0

Amazon Linux 2

OS 전용 런타임

provided.al2023

Amazon Linux 2023

OS 전용 런타임

provided.al2

Amazon Linux 2

참고

새 리전의 경우, Lambda는 향후 6개월 내에 지원 중단될 런타임은 지원하지 않습니다.

Lambda는 패치를 통해 관리형 런타임 및 해당하는 컨테이너 기본 이미지를 최신 상태로 유지하고 마이너 버전 릴리스를 지원합니다. 자세한 내용은 Lambda 런타임 업데이트를 참조하세요.

Lambda는 Go 1.x 런타임이 지원 중단된 후에도 Go 프로그래밍 언어를 계속 지원합니다. 자세한 내용은 AWS 컴퓨팅 블로그에서 Migrating AWS Lambda functions from the Go1.x runtime to the custom runtime on Amazon Linux 2를 참조하세요.

지원되는 모든 Lambda 런타임은 x86_64 아키텍처와 arm64 아키텍처를 모두 지원합니다.

새 런타임 릴리스

Lambda는 릴리스가 언어의 릴리스 주기에서 장기 지원(LTS) 단계에 도달한 경우에만 새 언어 버전의 관리형 런타임을 제공합니다. 예를 들어, Node.js 릴리스 주기의 경우 릴리스가 활성 LTS 단계에 도달하는 경우가 이에 해당합니다.

릴리스가 장기 지원 단계에 도달하기 전까지는 개발 상태이며, 여전히 주요 변경 사항이 적용될 수 있습니다. Lambda는 기본적으로 런타임 업데이트를 자동으로 적용하므로 런타임 버전을 크게 변경하면 함수가 예상대로 작동하지 않을 수 있습니다.

Lambda는 LTS 릴리스가 예정되지 않은 언어 버전에 대해 관리형 런타임을 제공하지 않습니다.

향후 런타임 출시 날짜

다음 목록에서는 예정된 Lambda 런타임의 목표 출시 월을 보여줍니다. 이 날짜는 참고용일 뿐이기 때문에 변경될 수 있습니다.

  • Ruby 3.3 - 2024년 3월

  • Python 3.13 - 2024년 11월

  • Node.js 22 - 2024년 11월

런타임 사용 중단 정책

Lambda 런타임.zip 파일 아카이브에 대한 은 유지 관리 및 보안 업데이트가 적용되는 운영 체제, 프로그래밍 언어 및 소프트웨어 라이브러리의 조합을 기반으로 구축됩니다. Lambda의 표준 지원 중단 정책은 런타임의 주요 구성 요소가 커뮤니티 장기 지원(LTS) 종료에 도달하여 보안 업데이트를 더 이상 사용할 수 없는 경우 런타임을 지원 중단하는 것입니다. 대부분의 경우 이 런타임이 언어 런타임이지만 운영 체제(OS)가 LTS 끝에 도달하여 런타임이 더 이상 사용되지 않는 경우도 있습니다.

런타임이 지원 중단되면 Lambda는 더 이상 해당 런타임에 보안 패치를 적용하지 않으며 해당 런타임을 사용하는 함수는 더 이상 기술 지원을 받을 수 없습니다.

런타임 업그레이드 및 지원 중단 관리에 대한 자세한 내용은 다음 섹션 및 AWS 컴퓨팅 블로그에서 Managing AWS Lambda runtime upgrades를 참조하세요.

중요

Lambda는 때때로 해당 런타임이 지원하는 언어 버전의 지원 종료일 이후 제한된 기간 동안 Lambda 런타임의 지원 중단을 지연합니다. 이 기간 동안 Lambda는 런타임 OS에만 보안 패치를 적용합니다. Lambda는 지원 종료일에 도달한 후에는 프로그래밍 언어 런타임에 보안 패치를 적용하지 않습니다.

Node.js 16에 대한 런타임 지원 중단

고객 피드백에 따라 AWS는 커뮤니티 LTS 종료 후 6개월로 Node.js 16 런타임의 지원 중단을 지연하고 있습니다. Node.js 16 런타임은 지원되는 런타임 표에 제시된 날짜에 지원이 중단됩니다. 앞서 언급한 바와 같이, LTS가 종료되는 2023년 9월 11일부터 지원 중단일 사이에 Lambda는 OS 패치만 런타임에 적용합니다. 이 기간 동안에는 언어 런타임에 대한 보안 패치가 적용되지 않습니다.

Node.js 16의 지원 중단을 지연하면 이 런타임을 사용하는 고객이 Node.js 18을 건너뛰고 해당 함수를 Node.js 20으로 직접 마이그레이션할 수 있습니다.

지원 중단 이후 런타임 지원

런타임이 지원 중단된 후 최소 30일 동안은 해당 런타임을 사용하여 새 Lambda 함수를 생성할 수 있습니다. 지원 중단 후 30일이 지나면 Lambda는 새 함수 생성을 차단하기 시작합니다.

런타임이 지원 중단된 후 최소 60일 동안은 기존 함수의 함수 코드를 업데이트할 수 있습니다. 지원 중단 후 60일이 지나면 Lambda는 기존 함수의 함수 코드 업데이트를 차단하기 시작합니다.

함수를 계속 생성하고 업데이트할 수 있는 정확한 기간은 고정되어 있지 않습니다. 이 기간은 지원 중단 및 AWS 리전마다 다를 수 있습니다. 함수 생성 및 업데이트를 차단하는 공식 날짜는 이 페이지 첫 번째 섹션의 지원되는 런타임 테이블에 나와 있습니다. Lambda는 이 테이블에 나와 있는 날짜 이전에 함수 생성 또는 업데이트 차단을 시작하지 않습니다.

런타임이 지원 중단된 후에도 무기한으로 함수를 계속 간접 호출할 수 있습니다. 그러나 AWS에서는 함수가 보안 패치를 계속 수신하고 기술 지원을 받을 수 있도록 함수를 지원되는 런타임으로 마이그레이션하는 것을 권장합니다. 런타임이 지원 중단된 후 지원되는 최신 런타임 버전을 무기한으로 사용하도록 함수 구성을 업데이트할 수 있습니다.

런타임 지원 중단 알림 수신

런타임의 지원 중단 날짜가 가까워지면 Lambda는 AWS 계정의 함수가 해당 런타임을 사용하는 경우 이메일 알림을 보냅니다. 알림은 AWS Health Dashboard 및 AWS Trusted Advisor에도 표시됩니다.

  • 이메일 알림 수신:

    Lambda는 런타임이 지원 중단되기 최소 180일 전까지 이메일 알림을 보냅니다. 이 이메일에는 런타임을 사용하는 모든 함수의 $LATEST 버전이 나열되어 있습니다. 영향을 받는 함수 버전의 전체 목록을 보려면 Trusted Advisor를 사용하거나 AWS CLI를 사용하여 영향을 받는 함수 나열 섹션을 참조하세요.

    Lambda는 AWS 계정의 기본 계정 연락처로 이메일 알림을 전송합니다. 계정의 이메일 주소 보기 또는 업데이트에 대한 자세한 내용은 AWS 참조 가이드에서 Updating contact information을 참조하세요.

  • AWS Health Dashboard을 통해 알림 수신:

    AWS Health Dashboard에서는 런타임이 지원 중단되기 최소 180일 전까지 알림을 표시합니다. 알림은 계정 상태 페이지의 기타 알림에 표시됩니다. 알림의 영향을 받는 리소스 탭에는 런타임을 사용하는 모든 함수의 $LATEST 버전이 나열됩니다.

    참고

    영향을 받는 함수 버전의 전체 최신 목록을 보려면 Trusted Advisor를 사용하거나 AWS CLI를 사용하여 영향을 받는 함수 나열 섹션을 참조하세요.

    AWS Health Dashboard 알림은 영향을 받는 런타임이 지원 중단되고 90일 후에 만료됩니다.

  • AWS Trusted Advisor 사용하기

    Trusted Advisor에서는 런타임이 지원 중단되기 180일 전까지 알림을 표시합니다. 알림은 보안 페이지에 표시됩니다. 영향을 받는 함수 목록은 지원 중단된 런타임을 사용하는 AWS Lambda 함수 아래에 표시됩니다. 이 함수 목록에는 $LATEST 버전 및 게시된 버전이 모두 표시되며 함수의 현재 상태를 반영하도록 자동으로 업데이트됩니다.

    Trusted Advisor 콘솔의 기본 설정 페이지에서 Trusted Advisor가 제공하는 주간 이메일 알림을 켤 수 있습니다.

AWS CLI를 사용하여 영향을 받는 함수 나열

Trusted Advisor를 사용하여 예정된 런타임 지원 중단의 영향을 받는 함수의 실시간 목록을 보는 것 외에도 AWS Command Line Interface(AWS CLI)를 사용하여 특정 런타임을 사용하는 모든 함수 버전을 나열할 수 있습니다. 목록을 생성하려면 다음 명령을 실행합니다. RUNTIME_IDENTIFIER를 지원 중단되는 런타임 이름으로 바꾸고 AWS 리전을 선택합니다. $LATEST 함수 버전만 나열하려면 명령에서 --function-version ALL을 생략합니다.

aws lambda list-functions --function-version ALL --region us-east-1 --output text --query "Functions[?Runtime=='RUNTIME_IDENTIFIER'].FunctionArn"
작은 정보

명령 예제에서는 us-east-1 리전에서 특정 AWS 계정에 대한 함수를 나열합니다. 각 AWS 계정 및 계정이 함수를 보유한 각 기전에서 이 명령을 반복해야 합니다.

AWS Config 고급 쿼리 기능을 사용하여 영향을 받는 런타임을 사용하는 모든 함수를 나열할 수도 있습니다. 이 쿼리는 함수의 $LATEST 버전만 반환하지만, 단일 명령으로 모든 리전과 여러 AWS 계정에서 함수를 나열하도록 쿼리를 집계할 수 있습니다. 자세한 내용은 AWS Config 개발자 안내서에서 Querying the Current Configuration State of AWS Auto Scaling Resources를 참조하세요.

더 이상 사용되지 않는 런타임

다음 런타임은 지원 종료 시점에 도달했습니다.

더 이상 사용되지 않는 런타임
명칭 식별자 운영 체제 사용 중단 날짜 블록 함수 생성 블록 함수 업데이트

Java 8

java8

Amazon Linux

2024년 1월 8일

2024년 2월 8일

2024년 3월 12일

Go 1.x

go1.x

Amazon Linux

2024년 1월 8일

2024년 2월 8일

2024년 3월 12일

OS 전용 런타임

provided

Amazon Linux

2024년 1월 8일

2024년 2월 8일

2024년 3월 12일

Ruby 2.7

ruby2.7

Amazon Linux 2

2023년 12월 7일

2024년 1월 9일

2024년 2월 8일

Node.js 14

nodejs14.x

Amazon Linux 2

2023년 12월 4일

2024년 1월 9일

2024년 2월 8일

Python 3.7

python3.7

Amazon Linux

2023년 12월 4일

2024년 1월 9일

2024년 2월 8일

.NET Core 3.1

dotnetcore3.1

Amazon Linux 2

2023년 4월 3일

2023년 4월 3일

2023년 5월 3일

Node.js 12

nodejs12.x

Amazon Linux 2

2023년 3월 31일

2023년 3월 31일

2023년 4월 30일

Python 3.6

python3.6

Amazon Linux

2022년 7월 18일

2022년 7월 18일

2022년 8월 29일

.NET 5(컨테이너만 해당)

dotnet5.0

Amazon Linux 2

2022년 5월 10일

.NET Core 2.1

dotnetcore2.1

Amazon Linux

2022년 1월 5일

2022년 1월 5일

2022년 4월 13일

Node.js 10

nodejs10.x

Amazon Linux 2

2021년 7월 30일

2021년 7월 30일

2022년 2월 14일

Ruby 2.5

ruby2.5

Amazon Linux

2021년 7월 30일

2021년 7월 30일

2022년 3월 31일

Python 2.7

python2.7

Amazon Linux

2021년 7월 15일

2021년 7월 15일

2022년 5월 30일

Node.js 8.10

nodejs8.10

Amazon Linux

2020년 3월 6일

2020년 3월 6일

Node.js 4.3

nodejs4.3

Amazon Linux

2020년 3월 5일

2020년 3월 5일

Node.js 4.3 엣지

nodejs4.3-edge

Amazon Linux

2020년 3월 5일

2019년 4월 30일

Node.js 6.10

nodejs6.10

Amazon Linux

2019년 8월 12일

2019년 8월 12일

.NET Core 1.0

dotnetcore1.0

Amazon Linux

2019년 6월 27일

2019년 7월 30일

.NET Core 2.0

dotnetcore2.0

Amazon Linux

2019년 5월 30일

2019년 5월 30일

Node.js 0.10

nodejs

Amazon Linux

2016년 10월 31일

거의 모든 경우에 언어 버전 또는 운영 체제의 수명 종료는 미리 공개됩니다. 아래 링크는 Lambda가 관리형 런타임으로 지원하는 각 언어의 수명 종료 일정을 제공합니다.

언어 및 프레임워크 지원 정책