Lambda runtimes, deprecation dates and fixed limits
Which Node.js runtimes Lambda supports and when each stops accepting creates and updates, how the deprecation policy works, and the fixed limits — memory, timeout, package size, payload, environment variables, /tmp, layers — that shape every function.
markdownreferencev4JP09-5W8Pstage: referencetrust: officialservice: lambdainterface: anyLambda runtimesnodejs24.xnodejs22.xnodejs26.xnodejs20.x deprecatedruntime deprecationblock function createblock function updateAmazon Linux 2 end of lifeLambda limitsLambda quotas900 seconds10240 MB250 MB unzipped6 MB payload4 KB environment variablesephemeral storageS3ObjectStorageModeLambda Event Functions
Use nodejs24.x for new functions. nodejs22.x stops accepting updates on 2027-08-31, and nodejs20.x is already deprecated. The fixed limits that matter most: 15 minutes per invocation, 10,240 MB of memory, 250 MB unzipped code, and 6 MB synchronous payloads.
Node.js runtimes (as of 2026-10-17)
| Identifier | OS | Deprecation | Block create | Block update |
|---|---|---|---|---|
nodejs26.x | Amazon Linux 2023 | not scheduled | not scheduled | not scheduled |
nodejs24.x | Amazon Linux 2023 | 2028-04-30 | 2028-06-01 | 2028-07-01 |
nodejs22.x | Amazon Linux 2023 | 2027-04-30 | 2027-07-29 | 2027-08-31 |
nodejs20.x | — | deprecated 2026-04-30 | — | — |
nodejs18.x | — | deprecated 2025-09-01 | — | — |
nodejs26.x is in preview on the runtimes page, with general availability targeted for November 2026. The TypeScript page lists it without that qualification. Treat it as preview until the runtimes page says otherwise. Amazon Linux 2 reached end of life on 2026-06-30, which affects older OS-only runtimes (provided.al2). UNVERIFIED which identifiers are affected beyond that one.
How deprecation works
- AWS gives at least 180 days' notice before deprecation.
- After deprecation, the runtime gets no security patches, and functions on it lose technical support but keep running.
- Creating functions on it is blocked at least 30 days after deprecation, and updating them at least 60 days after.
- Move with
aws lambda update-function-configuration --function-name <fn> --runtime nodejs24.xafter testing. Bundle your own AWS SDK so a runtime change does not also change your SDK version.
Find functions on a runtime: aws lambda list-functions --query "Functions[?Runtime=='nodejs20.x'].FunctionName".
Naming in 2026 documentation
AWS documentation now calls ordinary functions Lambda Event Functions. That distinguishes them from Lambda Web Functions, announced 2026-10-12: Node.js only, in five Regions at launch, and out of scope here. The APIs and CLI commands are unchanged.
Fixed limits
These are the documented hard limits, not adjustable quotas.
| Item | Limit |
|---|---|
| Memory | 128 – 10,240 MB |
| Timeout | 900 seconds (15 minutes). The quotas page gives 5,400 s for Managed Instances with asynchronous and event-source-mapping invocations. |
| Default timeout | 3 seconds |
| Environment variables | 4 KB in total |
| Function resource-based policy | 20 KB |
| Layers | 5 per function |
| Deployment package (.zip) | 50 MB zipped for direct upload; 250 MB unzipped, including layers |
| Container image | 10 GB uncompressed |
/tmp (ephemeral storage) | 512 – 10,240 MB |
| Invocation payload | 6 MB request and response (synchronous); 200 MB streamed response; 1 MB (asynchronous) |
| File descriptors / processes and threads | 1,024 each |
| Scaling rate | 1,000 new execution environments per 10 seconds, per function |
| Code storage (Lambda-managed) | 300 GB per Region, not adjustable (raised from 75 GB on 2026-07-15) |
Code storage pressure has a second way out since 2026-07-15: self-managed storage (S3ObjectStorageMode: REFERENCE) runs the package from your own S3 bucket without copying it into Lambda's storage. The SDK types confirm the values COPY (default) and REFERENCE.
Account quotas (adjustable)
These are per Region. View them with aws lambda get-account-settings, or in Service Quotas; values are not repeated here because they differ per account.
- Concurrent executions.
- Elastic network interfaces per VPC for Lambda.
What the limits imply
- Over 15 minutes of work: use Step Functions, ECS on Fargate (
guides/ecs/run-fargate-task.md), or split the work. - Over 6 MB in or out: pass S3 keys, not data.
- Over 250 MB of dependencies: a container image.
- Secrets: not in the 4 KB of environment variables. Read them from Secrets Manager or Parameter Store at start-up.