AWS Cost Estimator
Work out what AWS would actually cost you, for a migration or a new build. The estimate includes the line items people leave out — NAT Gateway, egress, Multi-AZ, snapshots and Support — and every rate and formula is printed with your numbers in it.
Prices as at 27 May 2026 On-demand, USD, taken from the AWS Price List API. That date is the oldest of the seven price files behind this tool, not the newest — the per-service dates are in the assumptions below. AWS has published newer prices since. Treat the figures as indicative.
What this would cost on AWS
Estimated monthly bill
$0
Monthly breakdown
Sizing
What people do not budget for
Effort to get there
Engineer-hours, as a range, broken into components. This tool never publishes an hourly rate — multiply by whatever your own engineering time costs, or by a quote you have been given.Every assumption behind these numbers
- A month is
730hours, which is how AWS bills one. Not 720, not 744. - Every rate is on-demand, in USD, for the region you picked, taken from the AWS Price List API. Taxes are not included.
- Sizing picks the cheapest current-generation instance meeting both your vCPU and your RAM. You can override it, and the override is used exactly as chosen even if it is smaller than you asked for.
- EBS is priced at the gp3 baseline — 3,000 IOPS and 125 MB/s are included at no charge, and this tool never charges for provisioned IOPS or throughput above that. If you genuinely need more, add it separately.
- The first
100 GBof traffic out each month is free. Above that, the tiered rates apply in order. - NAT Gateway bills per hour and per gigabyte processed, and traffic leaving through it is then billed again as egress. That double charge is real and it is the most commonly missed item here.
- Multi-AZ bills the database instance at the Multi-AZ rate and stores the data twice. Where AWS publishes no Multi-AZ rate for an engine, twice the single-AZ rate is used and the sizing line says so.
- RDS backup storage up to your allocated database storage is free. Only the excess is charged.
- A savings plan or reserved instance discount applies to EC2 and RDS instance hours only. Storage, traffic, NAT Gateway, the load balancer, CloudWatch and Route 53 are never discounted, and this tool does not pretend otherwise.
- The discount percentage is a starting point you can edit, not a rate read from AWS. The price table carries on-demand terms only.
- AWS Support is a percentage of everything else, with a monthly minimum. Developer is 3% or $29. Business is 10% or $100. Both are simplified — AWS tiers the percentage down at high spend, so heavy bills pay slightly less than this shows.
- Effort is engineer-hours only. It contains no rate, no markup and no assumption about who does the work.
- Out of scope and deliberately absent: Lambda, ECS, EKS, Fargate, DynamoDB, Redshift, CloudFront, Windows licensing and Marketplace AMIs.
- There is no multiplier, weighting or industry average anywhere in this tool. Every figure comes from a published AWS rate and something you typed.
| Price file | Covers | Published |
|---|---|---|
| AmazonRoute53 | Route 53 hosted zones and queries | 27 May 2026 |
| AWSDataTransfer | Data transfer out to the internet | 20 July 2026 |
| AWSELB | Application Load Balancer | 20 July 2026 |
| AmazonCloudWatch | CloudWatch metrics and logs | 6 August 2026 |
| AmazonS3 | S3 storage and requests | 7 August 2026 |
| AmazonEC2 | EC2 instances, EBS volumes, snapshots, NAT Gateway | 10 August 2026 |
| AmazonRDS | RDS instances, database storage and backups | 12 August 2026 |
What this estimator actually does
Most AWS calculators either ask for forty fields or hide the rates behind a slider. This one asks what your servers look like, prices them at AWS’s own published on-demand rates, and prints every multiplication it performed. Nothing is rounded up to make a point.
The rates are not typed in by hand. They come from the AWS Price List API, refreshed automatically, and stamped with the date AWS published them. So the numbers move when AWS moves them, and the page tells you when it last looked.
Sizing works the same way. Give it the vCPU and memory each server needs, and it picks the cheapest current-generation instance that meets both. Then it shows you which one it picked and lets you change it. There is no hidden rounding and no “recommended” tier quietly costing double.
Two modes, one engine
Migrating and building from scratch ask the same question: what will this cost per month? So both run the same arithmetic. Only two things differ. Migration mode asks what you pay today, so it can compare. Greenfield mode asks whether you are using a second availability zone, because nobody migrating has that choice yet.
Why the effort estimate is in hours, not money
Because an hourly rate on this page would turn it into a quote, and a quote for work nobody has scoped is worthless. Instead you get engineer-hours, as a range, split into components you can argue with. Multiply by your own cost, or by a quote you have already been given.
The range is deliberately wide at the top end. Migrations run long when something unexpected turns up, and something usually does.
Every charge this tool prices
Ten line items, and no more. Each one is listed here with what drives it, so you can tell at a glance whether the estimate covers your setup or misses something.
- EC2 instances Charged per hour, per server, whether busy or idle. This is usually the largest single line and the one people already expect.
- EBS volumes Your disks, charged per gigabyte per month whether you fill them or not. Priced at the gp3 baseline, which includes 3,000 IOPS and 125 MB/s at no extra cost.
- EBS snapshots Backups of those disks. Cheap per gigabyte, and easy to forget. Snapshots accumulate quietly until somebody looks.
- RDS instances The managed database, charged per hour like EC2. Multi-AZ roughly doubles it, because AWS runs a standby for you.
- RDS storage and backups Charged separately from the instance. Multi-AZ stores your data twice and bills for both copies. Backup storage up to your allocated size is free; only the excess costs anything.
- Application Load Balancer An hourly charge plus a capacity charge measured in LCUs. Small sites sit at the one-LCU minimum, so the hourly part dominates.
- NAT Gateway Hourly, plus a fee on every gigabyte through it. Two zones means two gateways. This is the line item that surprises people most.
- Data transfer out Every gigabyte leaving AWS for the internet, after the first 100 GB each month. The rate falls in tiers as volume rises.
- S3 storage and requests Per gigabyte stored, plus a small charge per thousand uploads and downloads. Usually modest unless you serve media from it.
- CloudWatch and Route 53 Custom metrics, log ingestion and log retention, plus your hosted zones and DNS queries. Individually small, collectively not.
What it deliberately does not price
Lambda, ECS, EKS, Fargate, DynamoDB, Redshift, CloudFront, Windows licensing and Marketplace AMIs are all out of scope. Their cost depends on request counts and runtime durations that a form cannot sensibly ask for, and a confident wrong number is worse than an honest gap. AWS Support is handled as a percentage instead of an eleventh line, because that is how AWS charges for it.
Where an AWS bill goes wrong
Almost nobody is caught out by the instance price. They are caught out by the charges that have no equivalent on a VPS invoice, and by the work nobody costed. Here are the five that come up most, and what to do about each.
The NAT Gateway bills twice, and never sleeps
It costs roughly $33 a month before a single byte moves. Then every gigabyte through it is charged again, and that same traffic is charged a third time on the way out as egress. Two availability zones means two gateways.
The fix. Small setups often do not need one. Put the instances in a public subnet with tight security groups and they reach the internet directly. Where traffic is only going to AWS services, VPC endpoints for S3 and DynamoDB cost nothing per gigabyte and remove the gateway from that path entirely.
Bandwidth was included before, and is not now
This is the single biggest reason a VPS at $40 becomes an AWS bill at $300. Your old host bundled several terabytes. AWS gives you 100 GB a month and charges for the rest.
The fix. Put CloudFront in front of anything static. Its egress is cheaper than EC2’s, and cached responses never touch your servers. Compress what you serve, and check nothing is shipping uncompressed images or unminified bundles.
Multi-AZ doubles the database, quietly
Ticking Multi-AZ runs a second instance you never see, and stores your data twice. Both are billed. It is not a mistake, and it is not free.
The fix. Decide it against your own downtime cost rather than by reflex. If restoring from a snapshot and losing an hour is survivable, single-AZ with good backups is defensible. If it is not, keep Multi-AZ and budget for it properly.
Snapshots accumulate until somebody looks
Automated snapshots with no retention policy grow forever. Each one is cheap, which is exactly why nobody notices for eighteen months.
The fix. Set a lifecycle policy on day one. Decide how far back you genuinely need to restore, then delete everything older. Most businesses need days, not years.
The migration itself never made the budget
The monthly bill gets planned carefully. The work to get there gets estimated as “a couple of weekends”, and then runs into networking, IAM, DNS and a database that will not cut over cleanly.
The fix. Cost it before you commit. The effort breakdown above splits it into components you can hand to different people, absorb in-house, or drop. A rehearsed rollback is the one item worth keeping whatever else goes.
Questions people ask about AWS costs
How accurate is this estimate?
Why is my AWS estimate so much higher than my current hosting?
What is a NAT Gateway, and why does it cost so much?
Do I actually need Multi-AZ?
Are savings plans and reserved instances worth it?
Why are Lambda, containers and Kubernetes not included?
How current are the prices?
What does the effort estimate include?
Do you store the numbers I enter?
Want a second opinion on the sizing?
Run an estimate above and this section will point at whatever the numbers say is worth talking about. If you would rather just talk it through, book a call.
Prefer to talk? Book a free call ↗ · Or hire me on Upwork ↗ · Typical reply within one business day.