Lambda 런타임
Lambda는 런타임을 사용하여 여러 언어를 지원한다. 컨테이너 이미지로 정의된 함수의 경우 컨테이너 이미지를 생성할 때 런타임 및 Linux 배포판을 선택한다. 런타임을 변경하려면 새 컨테이너 이미지를 생성한다.
배포 패키지에 .zip 파일 아카이브를 사용하는 경우 함수를 생성할 때 런타임을 선택한다. 런타임을 변경하려면 함수의 구성을 업데이트할 수 있다. 런타임은 Amazon Linux 배포판 중 하나와 페어링된다. 기반 실행 환경은 함수 코드에서 액세스할 수 있는 추가 라이브러리와 환경 변수를 제공한다.
Amazon Linux 2
-
이미지 - 사용자 지정
-
Linux 커널 - 4.14
Amazon Linux
-
Linux 커널 - 4.14
Lambda는 실행 환경에서 함수를 호출한다. 실행 환경은 함수를 실행하는 데 필요한 리소스를 관리하는 안전하고 격리된 런타임 환경을 제공한다. Lambda는 사용 가능한 경우 이전 호출에서 실행 환경을 다시 사용하거나 새 실행 환경을 만들 수 있다.
런타임은 단일 버전의 언어, 여러 버전의 언어 또는 여러 언어를 지원할 수 있다. 언어 또는 프레임워크 버전이 수명 종료되면 해당 버전의 런타임이 더 이상 사용되지 않는다.
Lambda에서 다른 언어를 사용하기 위해 사용자 지정 런타임을 구현할 수 있다. Lambda 실행 환경은 호출 이벤트를 받고 응답을 보내기 위한 런타임 인터페이스를 제공한다.
1. 런타임 사용 중단 정책
Lambda 런타임.zip 파일 아카이브에 대한 은 유지 관리 및 보안 업데이트가 적용되는 운영 체제, 프로그래밍 언어 및 소프트웨어 라이브러리의 조합을 기반으로 구축된다. 런타임의 구성 요소에 대해 보안 업데이트를 더 이상 사용할 수 없는 경우 Lambda는 런타임을 사용 중지한다.
런타임의 사용 중지(지원 종료)는 두 단계로 이루어진다.
1단계 - Lambda가 더 이상 보안 패치 또는 기타 업데이트를 런타임에 적용하지 않는다. 해당 런타임을 사용하는 함수를 더 이상 생성할 수 없지만 기존 함수는 계속 업데이트할 수 있다. 여기에는 런타임 버전 업데이트 및 이전 런타임 버전으로의 롤백이 포함된다. 사용되지 않는 런타임을 사용하는 함수에 대해서는 더 이상 기술 지원을 받을 수 없다.
2 단계 - 더 이상 해당 런타임을 사용하는 함수를 생성하거나 업데이트할 수 없다. 함수를 업데이트하려면 지원되는 런타임 버전으로 마이그레이션해야 한다. 함수를 지원되는 런타임 버전으로 마이그레이션한 후에는 함수를 이전 런타임으로 롤백할 수 없다. 2단계는 1단계 시작 후 최소 30일 후에 시작된다.
Lambda는 더 이상 사용되지 않는 런타임 버전을 사용하는 함수의 호출을 차단하지 않는다. 함수 호출은 런타임 버전이 지원이 종료된 후에도 무기한 계속된다. 그러나 AWS에서는 보안 패치를 계속 수신하고 기술 지원을 받을 수 있도록 함수를 지원되는 런타임 버전으로 마이그레이션하는 것을 권장한다.
거의 모든 경우에 언어 버전 또는 운영 체제의 수명 종료는 미리 공개된다. Lambda는 향후 60일 내에 지원 종료가 예정된 런타임을 사용하는 함수가 있는 경우 이메일로 알려준다. 드문 경우이지만 지원 종료에 대한 사전 알림이 불가능할 수도 있다. 예를 들어 이전 버전과 호환되지 않는 업데이트가 필요한 보안 문제가 발생하거나, 장기 지원(LTS) 일정을 제공하지 않는 런타임 구성 요소가 있을 수 있다.
언어 및 프레임워크 지원 정책
-
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
주제