From 37c59a44d9460e4bc2661134f6124e65700068e9 Mon Sep 17 00:00:00 2001 From: Robert Djurasaj Date: Mon, 28 Aug 2023 05:35:48 -0600 Subject: [PATCH] fix(lambda): GO_1_X runtime will be EOL soon, deprecate in favor of PROVIDED_AL2 runtime (#26899) Lambda runtime `GO_1_X` will cease to receive support on Dec,31 2023. Uee `PROVIDED_AL2` runtime instead. > Hello, > > We are contacting you as we have identified that your AWS Account currently has one or more Lambda functions using the Go 1.x runtime. > > We are ending support for the Go 1.x runtime in AWS Lambda, in line with Amazon Linux AMI end of maintenance support on December 31, 2023 [1]. Lambda continues to support the Go programming language, using the provided.al2 runtime. Using the provided.al2 runtime offers several benefits over the go1.x runtime, including support for AWS Graviton2 processors and a streamlined implementation with a smaller deployment package and faster function invoke path. For more information, see our blog post [2]. > > As described in the Lambda runtime support policy [3], end of support for language runtimes in Lambda happens in two stages. Starting December 31, 2023, Lambda will no longer apply security patches and other updates to the Go 1.x runtime used by Lambda functions, and functions using Go 1.x will no longer be eligible for technical support. In addition, you will no longer be able to create new Lambda functions using the Go 1.x runtime. Starting January 30, 2024, you will no longer be able to update existing functions using the Go 1.x runtime. > > We recommend that you upgrade your existing Go 1.x functions to the provided.al2 runtime before December 31, 2023. > > End of support does not impact function execution. Your functions will continue to run. However, they will be running on an unsupported runtime which is no longer maintained or patched by the AWS Lambda team. > > This notification is generated for functions using the Go 1.x runtime for the $LATEST function version. A list of your impacted Lambda functions can be found in the 'Affected resources' tab of your Personal Health Dashboard. The following command shows how to use the AWS CLI [4] to list all functions in a specific region using Go 1.x, including published function versions. To find all such functions in your account, repeat this command for each region: > > aws lambda list-functions --function-version ALL --region us-east-1 --output text --query "Functions[?Runtime=='go1.x'].FunctionArn" > > There is a difference in Lambda billing between the go1.x runtime and the provided.al2 runtime. With the go1.x runtime, Lambda does not bill for time spent during function initialization (cold start), whereas with the provided.al2 runtime Lambda includes function initialization time in the billed function duration. Since Go functions typically initialize very quickly, and since Lambda reduces the number of initializations by re-using function execution environments for multiple function invokes, in practice the difference in your Lambda bill should be very small. > > If you have any concerns or require further assistance, please contact AWS Support [5]. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license* --- packages/aws-cdk-lib/aws-lambda/lib/runtime.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/aws-cdk-lib/aws-lambda/lib/runtime.ts b/packages/aws-cdk-lib/aws-lambda/lib/runtime.ts index 5abc99474a5e4..2f67978cc1420 100644 --- a/packages/aws-cdk-lib/aws-lambda/lib/runtime.ts +++ b/packages/aws-cdk-lib/aws-lambda/lib/runtime.ts @@ -228,6 +228,7 @@ export class Runtime { /** * The Go 1.x runtime (go1.x) + * @deprecated Legacy runtime no longer supported by AWS Lambda. Migrate to the PROVIDED_AL2 runtime. */ public static readonly GO_1_X = new Runtime('go1.x', RuntimeFamily.GO);