All cheat sheets
Cost Governancecheat sheet

AWS Pricing Calculator

calculator.aws builds a per-service estimate before you build — the per-unit rates are accurate; the usage you type isn't. The seven line items people forget (cross-AZ transfer, NAT processing, S3 requests, CloudWatch Logs…) are what turn a $4k estimate into a $14k bill.

Last reviewed: July 14, 2026

TL;DR: calculator.aws is a free, no-login tool that assembles a per-service cost estimate before you build, pulling accurate per-unit rates from the AWS Price List API. It's a calculator, not a forecaster — the rates are right; the usage you type is the risk. Nearly every estimate that misses reality by 2–3× left out one of seven line items (cross-AZ transfer, NAT processing, CloudWatch Logs, inter-region transfer, S3 requests, EBS snapshots, RDS IOPS). Anchor to a measured reference, build per-component, add a 20% buffer, and you land within ±20% instead of ±100%.

The numbers

  • The seven most-forgotten items: cross-AZ transfer $0.01/GB each way (chatty multi-AZ meshes dwarf the compute), NAT Gateway $32/mo × AZs + $0.045/GB, CloudWatch Logs $0.50/GB ingest (no free tier), inter-region ~$0.02/GB, S3 request charges ($0.005/1K PUT), EBS snapshots $0.05/GB-mo accumulating, RDS provisioned IOPS ($0.10–0.125/IOPS-mo) + storage growth.
  • Small-object S3 is request-dominated: 50 KB files at 1 GB/min ≈ 864M PUTs/mo = $4,320 in requests vs ~$990 storage — over 4× the storage cost.
  • Field examples: a 12-service, 3-AZ gRPC mesh estimated $8,200/mo billed $28,500 (cross-AZ traffic was ~$13K alone; topology-aware routing + compression brought it to ~$10,800); an analytics migration estimated $4,500 billed $11,000 in month 1 purely from a one-time 18-month backfill, then settled at ~$4,400.

Do this

  1. Anchor to a measured reference workload, not an architecture diagram — "similar to service X at $4,200/mo, adjusted for 2× traffic" beats pure bottom-up (which is consistently optimistic).
  2. Build one row per logical component (EC2 hours + EBS + transfer, RDS instance + storage + IOPS + backup, S3 storage + requests + transfer, NAT base × AZs + processing, CloudWatch Logs GB…), and add Data Transfer as its own line.
  3. Multiply by environments — prod, staging, dev are separate estimates (dev/staging often 30–60% of prod).
  4. Add a 20% "things we forgot" buffer and apply Savings Plans/RI pricing last, showing on-demand and committed side by side.
  5. Separate one-time from run-rate (migration, backfill, parallel-running) and, for procurement, present P10/P50/P90 scenarios with the shareable link attached.

Gotchas

  • Rates accurate, usage assumed — when an estimate is off by 3×, the gap is almost always estimated-vs-actual usage, not an AWS price change; localize it in Cost Explorer first, then rebuild that one service.
  • It doesn't model traffic shape — steady 100 RPS and bursty 0–1000 RPS with the same average cost the same here but very differently in reality (autoscaling minimums, NAT throughput).
  • It doesn't know your EDP/PPA — multiply output by your effective discount post-hoc; and Marketplace/third-party charges (Datadog, Snyk) are separate.
  • It's a point estimate, not a curve — build multiple sizes if you need to show scaling; re-estimate quarterly.

Skip this if

  • You're investigating a bill you already have — use AWS Cost Explorer (what you spent) and Cost and Usage Reports (line-item forensics); the calculator is prospective. For a large on-prem migration, start with AWS Migration Evaluator instead. Once built, the calculator's output is a target to measure against — reality-check at month 1 in Cost Explorer and set the divergence alert in AWS Budgets.

Run this audit with your AI assistant

Paste this into Claude, ChatGPT, or any agent that can run the AWS CLI with read-only credentials. It audits your account for exactly the waste this sheet describes — and changes nothing.

You are helping validate an AWS cost estimate (or back-figuring a
variance) against reality. Use the AWS CLI with READ-ONLY credentials.
Do not create, modify, or delete anything — report findings and
recommended (unapplied) fixes only.

1. Reality anchor: if the workload exists, pull actual usage from Cost
   Explorer (ce get-cost-and-usage, group by SERVICE and USAGE_TYPE, 30-90
   days) as the ground truth to compare an estimate against.
2. The seven common misses — check each is represented: cross-AZ data
   transfer ($0.01/GB each way), NAT Gateway base × AZ count + $0.045/GB
   processed, CloudWatch Logs ingest ($0.50/GB), inter-region transfer,
   S3 request charges (small-object/high-throughput), EBS snapshot
   accumulation, RDS storage growth + provisioned IOPS.
3. Variance localization: if a real bill exceeds estimate, identify the
   top 3 over-line items and whether the gap is estimated-vs-actual USAGE
   (usually) or missing line items.
4. Scenario framing: recommend P10/P50/P90 and separating one-time
   migration cost from steady-state run-rate; apply any EDP/PPA discount
   post-hoc.

Report: estimate-vs-actual table by service, the missing/underestimated
line items, and a corrected estimate with a ~20% buffer. Change nothing.
Works with any assistant that can run shell commands.

Want the guided version?

The AWS Pricing Calculator walkthrough covers this topic interactively — it asks about your setup, branches to what’s relevant, and quizzes you on the tricky parts. Free and anonymous.

Start the walkthrough