docs.aws.amazon.com Open in urlscan Pro
13.227.219.24  Public Scan

Submitted URL: https://docs.aws.amazon.com/lambda/latest/dg/runtime-support-policy.html
Effective URL: https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html
Submission: On September 18 via api from US — Scanned from DE

Form analysis 0 forms found in the DOM

Text Content

SELECT YOUR COOKIE PREFERENCES

We use essential cookies and similar tools that are necessary to provide our
site and services. We use performance cookies to collect anonymous statistics so
we can understand how customers use our site and make improvements. Essential
cookies cannot be deactivated, but you can click “Customize cookies” to decline
performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide
useful site features, remember your preferences, and display relevant content,
including relevant advertising. To continue without accepting these cookies,
click “Continue without accepting.” To make more detailed choices or learn more,
click “Customize cookies.”

Accept all cookiesContinue without acceptingCustomize cookies


CUSTOMIZE COOKIE PREFERENCES

We use cookies and similar tools (collectively, "cookies") for the following
purposes.


ESSENTIAL

Essential cookies are necessary to provide our site and services and cannot be
deactivated. They are usually set in response to your actions on the site, such
as setting your privacy preferences, signing in, or filling in forms.




PERFORMANCE

Performance cookies provide anonymous statistics about how customers navigate
our site so we can improve site experience and performance. Approved third
parties may perform analytics on our behalf, but they cannot use the data for
their own purposes.

Allow performance category
Allowed


FUNCTIONAL

Functional cookies help us provide useful site features, remember your
preferences, and display relevant content. Approved third parties may set these
cookies to provide certain site features. If you do not allow these cookies,
then some or all of these services may not function properly.

Allow functional category
Allowed


ADVERTISING

Advertising cookies may be set through our site by us or our advertising
partners and help us deliver relevant marketing content. If you do not allow
these cookies, you will experience less relevant advertising.

Allow advertising category
Allowed

Blocking some types of cookies may impact your experience of our sites. You may
review and change your choices at any time by clicking Cookie preferences in the
footer of this site. We and selected third-parties use cookies or similar
technologies as specified in the AWS Cookie Notice.

CancelSave preferences




UNABLE TO SAVE COOKIE PREFERENCES

We will only store essential cookies at this time, because we were unable to
save your cookie preferences.

If you want to change your cookie preferences, try again later using the link in
the AWS console footer, or contact support if the problem persists.

Dismiss


Contact Us
English


Create an AWS Account
 1. AWS
 2. ...
    
    
 3. Documentation
 4. AWS Lambda
 5. Developer Guide

Feedback
Preferences


AWS LAMBDA


DEVELOPER GUIDE

 * What is AWS Lambda?
 * Getting started
 * Lambda foundations
    * Concepts
    * Programming model
    * Execution environment
    * Deployment packages
    * Private networking
    * Lambda console
    * Instruction sets (ARM/x86)
    * Additional features

 * Lambda runtimes
    * Runtime updates
    * Runtime modifications
    * Runtime API
    * Custom runtimes
    * Tutorial – Custom runtime
    * AVX2 vectorization

 * Configuring functions
    * Configuring function options
    * Environment variables
    * Outbound networking
    * Inbound networking
    * File system
    * Aliases
    * Versions
    * Response streaming
       * Tutorial: Creating a response streaming function with a function URL

 * Deploying functions
    * .zip file archives
    * Container images
    * Testing images

 * Invoking functions
    * Testing in console
    * Synchronous invocation
    * Asynchronous invocation
    * Event source mapping
    * Event filtering
    * Function states
    * Error handling
    * Invoking functions defined as container images
    * Recursive loop detection
    * Function URLs
       * Creating and managing function URLs
       * Security and auth model
       * Invoking function URLs
       * Monitoring function URLs
       * Tutorial: Creating a function with a function URL

 * Managing functions
    * Tutorial - Lambda with CLI
    * Function scaling
       * Configuring reserved concurrency
       * Configuring provisioned concurrency
       * Burst concurrency
       * Monitoring concurrency
   
    * Code signing
    * Tags

 * Testing functions
 * Building with Node.js
    * Handler
    * Deploy .zip file archives
    * Deploy container images
    * Context
    * Logging
    * Errors
    * Tracing

 * Building with TypeScript
    * Handler
    * Deploy .zip file archives
    * Deploy container images
    * Context
    * Logging
    * Testing
    * Errors
    * Tracing

 * Building with Python
    * Handler
    * Deploy .zip file archives
    * Deploy container images
    * Context
    * Logging
    * Testing
    * Errors
    * Tracing

 * Building with Ruby
    * Handler
    * Deploy Ruby .zip file archives
    * Deploy container images
    * Context
    * Logging
    * Errors
    * Tracing

 * Building with Java
    * Handler
    * Deploy .zip file archives
    * Deploy container images
    * Java customization
    * Context
    * Logging
    * Errors
    * Tracing
    * Tutorial - Eclipse IDE
    * Sample apps

 * Building with Go
    * Handler
    * Context
    * Deploy .zip file archives
    * Deploy container images
    * Logging
    * Errors
    * Tracing
    * Environment variables

 * Building with C#
    * Handler
    * Deployment package
       * .NET Core CLI
       * AWS Toolkit for Visual Studio
   
    * Deploy container images
    * Context
    * Logging
    * Errors
    * Tracing
    * Native AOT compilation

 * Building with PowerShell
    * Development Environment
    * Deployment package
    * Handler
    * Context
    * Logging
    * Errors

 * Building with Rust
    * Handler
    * Context
    * HTTP events
    * Deploy .zip file archives
    * Logging
    * Errors

 * Integrating other services
    * Use cases
    * Alexa
    * API Gateway
       * Tutorial
       * Sample template
   
    * CloudTrail
       * CloudTrail logs
       * Sample code
   
    * EventBridge (CloudWatch Events)
       * Tutorial
       * Schedule expressions
   
    * CloudWatch Logs
    * CloudFormation
    * CloudFront (Lambda@Edge)
    * CodeCommit
    * CodePipeline
    * CodeWhisperer
    * Cognito
    * Config
    * Connect
    * DocumentDB
       * Tutorial
   
    * DynamoDB
       * Tutorial
       * Sample code
       * Sample template
   
    * EC2
    * ElastiCache
    * Application Load Balancer
    * EFS
    * EventBridge Scheduler
    * IoT
    * IoT Events
    * Apache Kafka
    * Kinesis Firehose
    * Kinesis Streams
       * Tutorial
       * Sample code
       * Sample template
   
    * Kubernetes
    * Lex
    * MQ
    * MSK
    * RDS
    * S3
       * Tutorial: Use an S3 trigger
       * Tutorial: Use an Amazon S3 trigger to create thumbnails
   
    * S3 Batch
    * S3 Object Lambda
    * Secrets Manager
    * SES
    * SNS
       * Tutorial
       * Sample code
   
    * SQS
       * Tutorial
       * SQS cross-account tutorial
       * Sample code
       * Sample template
   
    * VPC Lattice

 * Best practices
 * Access permissions
    * Execution role
    * User policies
    * Control access using tags
    * Resource-based policies
    * Resources and conditions
    * Permissions boundaries

 * Security compliance
    * Data protection
    * Identity and access management
       * How AWS Lambda works with IAM
       * Identity-based policy examples
       * AWS managed policies
       * Troubleshooting
   
    * Compliance validation
    * Resilience
    * Infrastructure security
    * Configuration and vulnerability analysis

 * Monitoring functions
    * Monitoring console
    * Function metrics
    * Function logs
    * AWS X-Ray
    * Function insights
    * Code profiler
    * Example workflows

 * Lambda layers
    * Packaging layers
    * Creating and deleting layers
    * Adding layers
    * Layers with AWS CloudFormation
    * Layers with AWS SAM

 * Lambda extensions
    * Configuring extensions
    * Extensions partners
    * Extensions API
    * Telemetry API
       * API reference
       * Event schema reference
       * Converting events to OTel Spans
       * Logs API

 * Troubleshooting
    * Deployment
    * Invocation
    * Execution
    * Networking
    * Container images

 * Lambda applications
    * Manage applications
    * Tutorial – Create an application
    * Rolling deployments
    * Mobile SDK for Android
       * Tutorial
       * Sample code

 * Orchestrating functions
    * Application patterns
    * Manage state machines
    * Orchestration examples

 * Lambda SnapStart
    * Activating SnapStart
    * Handling uniqueness
    * Runtime hooks
    * Monitoring
    * Security model
    * Best practices

 * Sample applications
    * Blank function
    * Error processor
    * List manager

 * Working with AWS SDKs
 * Code examples
    * Actions
       * Create a function
       * Delete a function
       * Get a function
       * Invoke a function
       * List functions
       * Update function code
       * Update function configuration
   
    * Scenarios
       * Get started with functions
   
    * Serverless snippets
       * Invoke a Lambda function from a Kinesis trigger
       * Invoke a Lambda function from an Amazon S3 trigger
       * Invoke a Lambda function from an Amazon SNS trigger
       * Invoke a Lambda function from an Amazon SQS trigger
       * Reporting batch item failures for Lambda functions with a Kinesis
         trigger
       * Reporting batch item failures for Lambda functions with an Amazon SQS
         trigger
   
    * Cross-service examples
       * Create a REST API to track COVID-19 data
       * Create a lending library REST API
       * Create a messenger application
       * Create a serverless application to manage photos
       * Create a websocket chat application
       * Create an application to analyze customer feedback
       * Invoke a Lambda function from a browser
       * Use API Gateway to invoke a Lambda function
       * Use Step Functions to invoke Lambda functions
       * Use scheduled events to invoke a Lambda function

 * Lambda Quotas
 * AWS glossary
 * API reference
    * Actions
       * AddLayerVersionPermission
       * AddPermission
       * CreateAlias
       * CreateCodeSigningConfig
       * CreateEventSourceMapping
       * CreateFunction
       * CreateFunctionUrlConfig
       * DeleteAlias
       * DeleteCodeSigningConfig
       * DeleteEventSourceMapping
       * DeleteFunction
       * DeleteFunctionCodeSigningConfig
       * DeleteFunctionConcurrency
       * DeleteFunctionEventInvokeConfig
       * DeleteFunctionUrlConfig
       * DeleteLayerVersion
       * DeleteProvisionedConcurrencyConfig
       * GetAccountSettings
       * GetAlias
       * GetCodeSigningConfig
       * GetEventSourceMapping
       * GetFunction
       * GetFunctionCodeSigningConfig
       * GetFunctionConcurrency
       * GetFunctionConfiguration
       * GetFunctionEventInvokeConfig
       * GetFunctionUrlConfig
       * GetLayerVersion
       * GetLayerVersionByArn
       * GetLayerVersionPolicy
       * GetPolicy
       * GetProvisionedConcurrencyConfig
       * GetRuntimeManagementConfig
       * Invoke
       * InvokeAsync
       * InvokeWithResponseStream
       * ListAliases
       * ListCodeSigningConfigs
       * ListEventSourceMappings
       * ListFunctionEventInvokeConfigs
       * ListFunctions
       * ListFunctionsByCodeSigningConfig
       * ListFunctionUrlConfigs
       * ListLayers
       * ListLayerVersions
       * ListProvisionedConcurrencyConfigs
       * ListTags
       * ListVersionsByFunction
       * PublishLayerVersion
       * PublishVersion
       * PutFunctionCodeSigningConfig
       * PutFunctionConcurrency
       * PutFunctionEventInvokeConfig
       * PutProvisionedConcurrencyConfig
       * PutRuntimeManagementConfig
       * RemoveLayerVersionPermission
       * RemovePermission
       * TagResource
       * UntagResource
       * UpdateAlias
       * UpdateCodeSigningConfig
       * UpdateEventSourceMapping
       * UpdateFunctionCode
       * UpdateFunctionConfiguration
       * UpdateFunctionEventInvokeConfig
       * UpdateFunctionUrlConfig
   
    * Data Types
       * AccountLimit
       * AccountUsage
       * AliasConfiguration
       * AliasRoutingConfiguration
       * AllowedPublishers
       * AmazonManagedKafkaEventSourceConfig
       * CodeSigningConfig
       * CodeSigningPolicies
       * Concurrency
       * Cors
       * DeadLetterConfig
       * DestinationConfig
       * DocumentDBEventSourceConfig
       * Environment
       * EnvironmentError
       * EnvironmentResponse
       * EphemeralStorage
       * EventSourceMappingConfiguration
       * FileSystemConfig
       * Filter
       * FilterCriteria
       * FunctionCode
       * FunctionCodeLocation
       * FunctionConfiguration
       * FunctionEventInvokeConfig
       * FunctionUrlConfig
       * ImageConfig
       * ImageConfigError
       * ImageConfigResponse
       * InvokeResponseStreamUpdate
       * InvokeWithResponseStreamCompleteEvent
       * InvokeWithResponseStreamResponseEvent
       * Layer
       * LayersListItem
       * LayerVersionContentInput
       * LayerVersionContentOutput
       * LayerVersionsListItem
       * OnFailure
       * OnSuccess
       * ProvisionedConcurrencyConfigListItem
       * RuntimeVersionConfig
       * RuntimeVersionError
       * ScalingConfig
       * SelfManagedEventSource
       * SelfManagedKafkaEventSourceConfig
       * SnapStart
       * SnapStartResponse
       * SourceAccessConfiguration
       * TracingConfig
       * TracingConfigResponse
       * VpcConfig
       * VpcConfigResponse
   
    * Common Errors
    * Common Parameters

 * Document history

Lambda runtimes - AWS Lambda
AWSDocumentationAWS LambdaDeveloper Guide
Runtime deprecation policy


LAMBDA RUNTIMES

PDFRSS

Lambda supports multiple languages through the use of runtimes. A runtime
provides a language-specific environment that relays invocation events, context
information, and responses between Lambda and the function. You can use runtimes
that Lambda provides, or build your own.

Each major programming language release has a separate runtime, with a unique
runtime identifier, such as python3.10 or nodejs18.x. To configure a function to
use a new major language version, you need to change the runtime identifier.
Since AWS Lambda cannot guarantee backward compatibility between major versions,
this is a customer-driven operation.

For a function defined as a container image, you choose a runtime and the Linux
distribution when you create the container image. To change the runtime, you
create a new container image.

When you use a .zip file archive for the deployment package, you choose a
runtime when you create the function. To change the runtime, you can update your
function's configuration. The runtime is paired with one of the Amazon Linux
distributions. The underlying execution environment provides additional
libraries and environment variables that you can access from your function code.

AMAZON LINUX 2

 * Image – Custom

 * Linux kernel – 4.14

AMAZON LINUX

 * Image – amzn-ami-hvm-2018.03.0.20220802.0-x86_64-gp2

 * Linux kernel – 4.14

Lambda invokes your function in an execution environment. The execution
environment provides a secure and isolated runtime environment that manages the
resources required to run your function. Lambda re-uses the execution
environment from a previous invocation if one is available, or it can create a
new execution environment.

To use other languages in Lambda, you can implement a custom runtime. The Lambda
execution environment provides a runtime interface for getting invocation events
and sending responses. You can deploy a custom runtime alongside your function
code, or in a layer.

NOTE

For new regions, Lambda will not support runtimes that are set to be deprecated
within the next six months.

Supported Runtimes
Name Identifier SDK Operating system Architectures Deprecation (Phase 1)

Node.js 18

nodejs18.x

3.188.0

Amazon Linux 2

x86_64, arm64



Node.js 16

nodejs16.x

2.1374.0

Amazon Linux 2

x86_64, arm64

Mar 11, 2024

Node.js 14

nodejs14.x

2.1374.0

Amazon Linux 2

x86_64, arm64

Nov 27, 2023

Python 3.11

python3.11

boto3-1.27.1 botocore-1.30.1

Amazon Linux 2

x86_64, arm64



Python 3.10

python3.10

boto3-1.26.90 botocore-1.29.90

Amazon Linux 2

x86_64, arm64



Python 3.9

python3.9

boto3-1.26.90 botocore-1.29.90

Amazon Linux 2

x86_64, arm64



Python 3.8

python3.8

boto3-1.26.90 botocore-1.29.90

Amazon Linux 2

x86_64, arm64



Python 3.7

python3.7

boto3-1.26.90 botocore-1.29.90

Amazon Linux

x86_64

Nov 27, 2023

Java 17

java17



Amazon Linux 2

x86_64, arm64



Java 11

java11



Amazon Linux 2

x86_64, arm64



Java 8

java8.al2



Amazon Linux 2

x86_64, arm64



Java 8

java8



Amazon Linux

x86_64

Dec 31, 2023

.NET 7 (container only)

dotnet7



Amazon Linux 2

x86_64, arm64

May 14, 2024

.NET 6

dotnet6



Amazon Linux 2

x86_64, arm64



Go 1.x

go1.x



Amazon Linux

x86_64

Dec 31, 2023

Ruby 3.2

ruby3.2

3.1.0

Amazon Linux 2

x86_64, arm64



Ruby 2.7

ruby2.7

3.1.0

Amazon Linux 2

x86_64, arm64

Dec 7, 2023

Custom Runtime

provided.al2



Amazon Linux 2

x86_64, arm64



Custom Runtime

provided



Amazon Linux

x86_64

Dec 31, 2023

Lambda keeps managed runtimes up to date with patches and support for minor
version releases. For more information see Lambda runtime updates.


RUNTIME DEPRECATION POLICY

Lambda runtimes for .zip file archives are built around a combination of
operating system, programming language, and software libraries that are subject
to maintenance and security updates. When security updates are no longer
available for a component of a runtime, Lambda deprecates the runtime.

Deprecation (end of support) for a runtime occurs in two phases.

Phase 1 - Lambda no longer applies security patches or other updates to the
runtime. You can no longer create functions that use the runtime, but you can
continue to update existing functions. This includes updating the runtime, and
rolling back to the previous runtime. Note that functions that use a deprecated
runtime are no longer eligible for technical support.

Phase 2 - you can no longer create or update functions that use the runtime. To
update a function, you need to migrate it to a supported runtime. After you
migrate the function to a supported runtime, you cannot rollback the function to
the previous runtime. Phase 2 starts at least 30 days after the start of Phase
1.

Lambda does not block invocations of functions that use deprecated runtime.
Function invocations continue indefinitely after the runtime reaches end of
support. However, AWS strongly recommends that you migrate functions to a
supported runtime so that you continue to receive security patches and remain
eligible for technical support.

In the table below, each phase starts at midnight (Pacific time zone) on the
specified date. The following runtimes have reached end of support:

Deprecated runtimes
Name Identifier Operating system Deprecation Phase 1 Deprecation Phase 2

.NET Core 3.1

dotnetcore3.1

Amazon Linux 2

Apr 3, 2023

May 3, 2023

Node.js 12

nodejs12.x

Amazon Linux 2

Mar 31, 2023

Apr 30, 2023

Python 3.6

python3.6

Amazon Linux

Jul 18, 2022

Aug 29, 2022

Python 2.7

python2.7

Amazon Linux

Jul 15, 2021

May 30, 2022

.NET 5 (container only)

dotnet5.0

Amazon Linux 2

May 10, 2022

May 10, 2022

.NET Core 2.1

dotnetcore2.1

Amazon Linux

Jan 5, 2022

Apr 13, 2022

Ruby 2.5

ruby2.5

Amazon Linux

Jul 30, 2021

Mar 31, 2022

Node.js 10

nodejs10.x

Amazon Linux 2

Jul 30, 2021

Feb 14, 2022

Node.js 8.10

nodejs8.10

Amazon Linux



Mar 6, 2020

Node.js 4.3

nodejs4.3

Amazon Linux



Mar 5, 2020

Node.js 6.10

nodejs6.10

Amazon Linux



Aug 12, 2019

.NET Core 1.0

dotnetcore1.0

Amazon Linux



Jul 30, 2019

.NET Core 2.0

dotnetcore2.0

Amazon Linux



May 30, 2019

Node.js 4.3 edge

nodejs4.3-edge

Amazon Linux



Apr 30, 2019

Node.js 0.10

nodejs

Amazon Linux



Oct 31, 2016

In almost all cases, the end-of-life date of a language version or operating
system is known well in advance. The links below give end-of-life schedules for
each language that Lambda supports as a managed runtime. In addition, Trusted
Advisor includes a check that provides 120 days' notice of upcoming Lambda
runtime end of support, and Lambda notifies you by email if you have functions
using a runtime that is scheduled for end of support in the next 60 days.

LANGUAGE AND FRAMEWORK SUPPORT POLICIES

 * Node.js – github.com

 * Python – devguide.python.org

 * Ruby – www.ruby-lang.org

 * Java – www.oracle.com and Corretto FAQs

 * Go – golang.org

 * .NET Core – dotnet.microsoft.com

TOPICS

Javascript is disabled or is unavailable in your browser.

To use the Amazon Web Services Documentation, Javascript must be enabled. Please
refer to your browser's Help pages for instructions.

Document Conventions
Additional features
Runtime updates
Did this page help you? - Yes

Thanks for letting us know we're doing a good job!

If you've got a moment, please tell us what we did right so we can do more of
it.



Did this page help you? - No

Thanks for letting us know this page needs work. We're sorry we let you down.

If you've got a moment, please tell us how we can make the documentation better.





DID THIS PAGE HELP YOU?

Yes
No
Provide feedback

NEXT TOPIC:

Runtime updates

PREVIOUS TOPIC:

Additional features

NEED HELP?

 * Try AWS re:Post 
 * Connect with an AWS IQ expert 

PrivacySite termsCookie preferences
© 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved.


ON THIS PAGE

 * Runtime deprecation policy









DID THIS PAGE HELP YOU? - NO



Thanks for letting us know this page needs work. We're sorry we let you down.

If you've got a moment, please tell us how we can make the documentation better.




Feedback