Difficulty: Medium
Description
We have identified Lambda functions in your account that are running on the x86_64 architecture. Migrating eligible functions to the Arm64 architecture can reduce costs by up to 20% and improve performance efficiency. We recommend evaluating and modernizing these functions where compatibility allows.
Selection Criteria
The Lambda function uses the x86_64 architecture
The function uses a runtime compatible with Arm64 (Python, Node.js, Java, Go, Ruby, .NET) — for container image-based functions, the image must be rebuilt for Arm64
The function has been invoked within the last 30 days (non-idle)
All Lambda Layers used by the function have an Arm64-compatible version available
Expected Saving
Arm64 (Graviton2) reduces Lambda duration costs by approximately 20% compared to x86_64:
Architecture | Price per GB-second (us-east-1) | Savings vs x86_64 |
x86_64 | $0.0000001667 | — |
Arm64 (Graviton2) | $0.0000001333 | ~20% |
Note: Savings apply only to Duration charges. Request charges ($0.20 per 1M requests) are the same for both architectures.
Example: A function with 512 MB memory, 1,000,000 invocations/month, average duration 500ms:
x86_64: 512 MB × 0.5s × 1M × $0.0000001667 = $42.67/month
Arm64: 512 MB × 0.5s × 1M × $0.0000001333 = $34.13/month
Savings: ~$8.50/month (~20%) per function
Operational Impact
Downtime: Minimal — the architecture change is applied in-place via a function configuration update; existing in-flight invocations during the update may fail briefly.
Breaking changes: Code compiled with native binaries or C extensions must be recompiled for Arm64. Pure-runtime functions (Python, Node.js, etc.) typically require no code changes.
Recovery: Revert to x86_64 in the function configuration at any time — no redeployment of code required.
⚠️ Warning — Container image-based functions: If the Lambda function uses a Docker container image, the image must be rebuilt and pushed as an Arm64 (or multi-arch) image. The runtime field should display "Image" or "N/A" in this case.
⚠️ Warning — Lambda Layers: Third-party Lambda Layers may not have an Arm64-compatible version. Verify all layers support Arm64 before migrating.
⚠️ Warning — Native extensions: Functions using FFI, Cython, or compiled C/Rust extensions must be verified and recompiled for Arm64 before migration.
References
