# AWS Lambda

Official pricing: https://aws.amazon.com/lambda/pricing/  
Category: hyperscaler · Isolation: firecracker

## Pricing regimes (raw)

- **x86 functions, duration tier 1** (resource): $0/vCPU-h, $0.06/GiB-h
- **Arm64 (Graviton) functions, duration tier 1** (resource): $0/vCPU-h, $0.048/GiB-h
- **Compute Savings Plan 1y/3y no-upfront, x86** (resource): $0/vCPU-h, $0.05292/GiB-h [commit]
- **Compute Savings Plan no-upfront, Arm64** (resource): $0/vCPU-h, $0.04212/GiB-h [commit]
- **Provisioned concurrency x86 (kept warm, fully busy)** (resource): $0/vCPU-h, $0.05/GiB-h
- **Provisioned concurrency Arm64 (fully busy)** (resource): $0/vCPU-h, $0.04/GiB-h
- **Lambda Managed Instances (EC2 + 15% fee)** (sizes): c7g.xlarge 4 vCPU/8 GiB $0.16675/h; c7i.xlarge 4 vCPU/8 GiB $0.205275/h; m7i.xlarge 4 vCPU/16 GiB $0.23184/h [alt]

## Features

Yes: volumes, idle auto-stop, custom image (Docker or snapshot), your own Docker/OCI image, full VM (own kernel), HTTPS preview URLs, egress allowlist, open internet, private networking, SOC 2, HIPAA, SSO, arm64, Python, Node.js, Java, wake on request, scheduled runs (cron), audit logs, EU data residency, MCP server, gVisor or VM (no shared kernel), inbound access rules, extra volumes, shared volumes

No: snapshots, memory snapshots, fork/clone, pause/resume, persistent disk, ≥24 h sessions, start from your own snapshot, Docker inside, nested virtualization, root, systemd, browser, desktop GUI, computer-use API, code interpreter, browser + desktop control, anti-bot stealth, CAPTCHA solving, residential IPs, preinstalled agents, SSH, public IPv4, custom domains, raw TCP inbound, static egress IP, self-hosting, BYOC, open source, GPU, Windows, macOS, GPU desktop, HTTP method/path egress rules, live resize, live fork (no pause), memory fork, automatic snapshots, snapshots on demand, agent harness API, hosted agent API (their own agent), firewall inside (nftables), secret proxy, secret proxy for any API

Unknown: everything else. Evidence (source + quote) per feature: https://battleships.dev/data/providers/aws-lambda.json → feature_evidence

## Caveats

- Rates from the AWS Price List API (AWSLambda, publication 2026-09-19) and AWSComputeSavingsPlan (2026-09-25).
- Volume tiers (automatic, per account per region): x86 $0.0000166667 (0-6B GB-s), $0.000015 (6-15B), $0.0000133334 (>15B); Arm $0.0000133334 (0-7.5B), $0.0000120001 (7.5-18.75B), $0.0000106667 (>18.75B). 6B GB-s = 1.67M GB-hours; not modelled. The previous provider record had tier 2 wrong ($0.0000133334).
- Regional variance: the major us/eu/asia regions all charge tier-1 $0.0000166667; af-south-1 $0.0000221, ap-east-1 $0.00002292, eu-south-1 $0.0000195172, me-south-1 $0.0000206667; requests $0.20/M in most regions, up to $0.28/M (ap-east-1).
- free.monthly_credit 6.87 = always-free 400,000 GB-s x $0.0000166667 ($6.67) + 1M requests x $0.20/M ($0.20), derived; it applies to x86+Arm combined and not to provisioned concurrency.
- Memory-only pricing: vcpu_h is 0 and ram_per_vcpu [1.769, null] makes the engine buy ~1.77 GB per requested vCPU (4 vCPU needs >= 7.1 GB). 1,769 MB per vCPU is AWS docs knowledge, not on the pricing page.
- Not a sandbox: 15-minute cap, stateless, no inbound shell, /tmp 512 MB free then $0.0000000309/GB-s ($0.0812/GB-month-equivalent while executing), max 10,240 MB.
- Other per-request fees: $0.20/M requests; streaming responses $0.008/GB beyond 100 GiB free; SnapStart cache $0.0000015046/GB-s + restore $0.0001397998/GB; durable functions $0.000008/operation + $0.25/GB written + $0.15/GB-month; tenant-isolated environments $0.000166667/GB created.
- Lambda in a VPC needs a NAT gateway for internet access: NAT gateway gotcha: tasks/functions in private subnets reach the internet through a NAT gateway at $0.045/h per gateway (~$32.85/month per AZ) plus $0.045/GB processed (us-east-1; eu-north-1 $0.046, ap-south-1 $0.056), charged ON TOP of the $0.09/GB egress. Not modelled; public IPv4 ($0.005/h) is the usual alternative.
- Internet egress (AWS Price List API, AWSDataTransfer us-east-1, 2026-09): first 100 GB/month free aggregated across all services and regions, then $0.09/GB first 10 TB, $0.085 next 40 TB, $0.07 next 100 TB, $0.05 over 150 TB. eu-west-1 is also $0.09; ap-south-1 $0.1093; ap-northeast-1 $0.114; ap-southeast-1 $0.12 (first-10-TB tier). The engine uses the flat us-east-1 first tier.
- Regional on-demand variance (Price List 2026-09-19, x86 tier 1 per GB-s): CHEAPER than us-east-1 in ap-east-2 Taipei, ap-southeast-5 Malaysia, ap-southeast-7 Thailand ($0.000015, requests $0.18/M, -10%); dearer in eu-central-2 Zurich $0.0000183334, il-central-1 / mx-central-1 / ap-southeast-6 $0.0000175, me-central-1 & me-south-1 $0.0000206667, eu-south-1 $0.0000195172, af-south-1 $0.0000221, ap-east-1 $0.00002292. Provisioned concurrency and ephemeral storage vary even in regions where on-demand is flat (eu-west-1 storage $0.000000034 vs $0.0000000309).
- Tenant isolation mode (per-tenant execution environments, the Lambda feature closest to 'one sandbox per user') adds a per-environment-creation fee of $0.000166667 per GB of configured memory (x86; Arm $0.000133333): an 8 GB tenant environment costs $0.00133 per cold start, on top of $0.20/M requests. Not modelled in start_fee.
- Durable functions let one logical execution span up to 1 year via checkpoint + replay; waits incur no duration charge on on-demand functions, but each sub-invocation still has the 15-min cap and replay re-bills handler time. Extra: $0.000008/durable operation, $0.25/GB written, $0.15/GB-month retained (1-90 days after completion, default 14).

## How this provider charges


Lambda sells **memory x wall-clock duration** (CPU scales with memory, ~1 vCPU per 1,769 MB, 6 vCPU at 10,240 MB),
rounded up to **1 ms**, plus **$0.20 per 1M requests**. Max 15 minutes per invocation. All rates below are from the
**AWS Price List API** (AWSLambda offer, publication 2026-09-19) and the AWSComputeSavingsPlan offer (2026-09-25).

Reference: 8 GB function (~4.6 vCPU) = x86 **$0.48/h**, Arm **$0.384/h**.

## Regime table

| Regime | When it applies | How billed | Numbers | Source |
|---|---|---|---|---|
| x86 duration tier 1 | Default, first 6B GB-s/month per region | Per GB-s, 1 ms rounding | $0.0000166667/GB-s = $0.06/GB-h | Price List API Lambda-GB-Second Tier-1 |
| x86 tier 2 / tier 3 | 6B-15B GB-s / >15B GB-s in a month (automatic) | Same | $0.000015 / $0.0000133334 per GB-s | Price List API Tier-2/3 |
| Arm (Graviton) tier 1 | arm64 functions, first 7.5B GB-s | Same | $0.0000133334/GB-s = $0.048/GB-h (-20%) | Price List API Lambda-GB-Second-ARM |
| Arm tier 2 / tier 3 | 7.5B-18.75B / >18.75B GB-s | Same | $0.0000120001 / $0.0000106667 | Price List API |
| Requests | Every invocation (x86 and Arm) | Per request | $0.20 per 1M (most regions; up to $0.28/M in ap-east-1) | Price List API Request |
| Regions | us-east-1, eu-west-1, eu-central-1, eu-north-1, ap-south-1, ap-northeast-1, ap-southeast-1 ... | Same tier-1 rate | $0.0000166667 everywhere major; af-south-1 $0.0000221, ap-east-1 $0.00002292, eu-south-1 $0.0000195172, me-south-1 $0.0000206667 | Price List API (all 36 regions) |
| Always-free tier | Every account, monthly, x86 + Arm combined | Deducted from usage | 1M requests + 400,000 GB-s (~$6.87/month at x86 rates) | Price List API Global-Request / Global-Lambda-GB-Second |
| Compute Savings Plan | 1y or 3y $/h commitment | Discounted duration | No-upfront (1y = 3y): x86 $0.0000147, Arm $0.0000117 per GB-s (-12%); all-upfront $0.0000138 / $0.0000111 (-17%) | AWSComputeSavingsPlan us-east-1 |
| Provisioned concurrency | Pre-warmed environments configured | PC fee for every configured second (5-min min) + reduced duration | x86: $0.0000041667 + $0.0000097222 per GB-s ($0.015 + $0.035 /GB-h); Arm $0.0000033334 + $0.0000077778; SP: $0.00000367 / $0.00000856; free tier does not apply | Price List API |
| Ephemeral /tmp storage | Beyond 512 MB, up to 10,240 MB | Per GB-s of configured extra, during execution | $0.0000000309/GB-s | Price List API Lambda-Storage-GB-Second |
| Lambda Managed Instances | Capacity-provider functions on EC2 in your account | EC2 on-demand + 15% management fee + $0.20/M requests | c7i.xlarge fee $0.026775/h (EC2 $0.1785), c7g.xlarge $0.02175/h | Price List API Lambda-Managed-Instances-*-Management-Hours |
| SnapStart | Java/Python/.NET snapshots | Cache per GB-s (3 h min) + restore per GB | $0.0000015046/GB-s + $0.0001397998/GB | Price List API |
| Response streaming | Streamed bytes beyond free | Per GB | $0.008/GB beyond 100 GiB/month free | Price List API |
| Durable functions | Durable execution API | Per op + written + stored | $0.000008/operation, $0.25/GB written, $0.15/GB-month | Price List API |
| Tenant isolation mode | New tenant-isolated environment | Per GB of memory created | $0.000166667/GB (x86), $0.000133333 (Arm) | Price List API |
| Event poller units | Provisioned ESM pollers | Per unit-hour | $0.185/h (SQS $0.00925/h) | Price List API |
| Egress | Internet data out | EC2 data-transfer tiers | 100 GB/month free then $0.09/GB | AWSDataTransfer price list |

## Gotchas

1. **Not a sandbox**: 15-minute hard cap, stateless, no inbound shell; long agent sessions must be chained.
2. **You pay wall-clock, not CPU**: an invocation waiting on an LLM for 30 s pays 30 s of full memory.
3. **CPU is bought through memory**: 4 vCPU needs ~7 GB; you cannot buy CPU without RAM (or vice versa).
4. **Provisioned concurrency bills while idle** and the free tier doesn't cover it; break-even vs on-demand is ~60% utilisation.
5. **VPC functions need a NAT gateway** for internet ($0.045/h + $0.045/GB) — often the largest line item for low-traffic functions.
6. **Volume tiers are per region per account** and need 6B GB-s/month (1.67M GB-hours) before they kick in.
7. Previous research had the x86 tier 2/3 prices wrong (tier 2 is $0.000015, not $0.0000133334).

## Worked example

4 vCPU / 8 GiB x 50 concurrent x 8 h/day x 22 days = 8,800 hours. Lambda can't hold an 8 h session; assume
work is split into back-to-back 15-min invocations (35,200 invocations) with state externalised. 30% CPU saves
nothing (duration billing). No snapshots exist (50 GiB state must live in S3/EFS, not priced here).
Egress 100 GiB inside the free 100 GB.

| Regime | Calculation | Total / month |
|---|---|---|
| x86 on-demand | 8,800 h x 8 GB x $0.06 = $4,224.00; 35,200 requests are inside the 1M free; minus 400k free GB-s ($6.67) | **$4,217.33** |
| Arm on-demand | 8,800 x 8 x $0.048 = $3,379.20 minus 400k free GB-s at Arm rate ($5.33) | **$3,373.87** |
| Arm + Compute SP (all-upfront) | 8,800 x 8 x 3,600 x $0.0000111 = $2,813.18 (commitment must also cover idle hours) | **~$2,813** (+ unused commitment) |
| Provisioned concurrency x86 (50 x 8 GB configured 8 h/day, fully busy) | 8,800 x 8 x ($0.015 + $0.035) = $3,520.00 (free tier doesn't apply) | **$3,520.00** |
| Managed Instances c7g.xlarge | 8,800 x $0.16675 = $1,467.40 (+ EBS, IPv4, requests) | **~$1,467** |
