AWS pricing is intentionally complex. There are over 200 services, each with its own pricing model, and the bill you receive is a 40-page PDF that most engineers never fully read. The result is that most teams pay 30–60% more than they need to — not from making bad decisions, but from not knowing what they're actually buying.
This is a breakdown of where AWS money actually goes, using real usage patterns from developer teams running production workloads. The numbers below come from AWS Cost Explorer data and publicly available pricing as of Q2 2026.
For a typical developer team running a production SaaS on AWS, the spend breaks down roughly like this:
EC2 and RDS together account for more than half of most bills — which is expected. What surprises teams is data transfer. At $0.09/GB out to the internet (us-east-1), a modest SaaS serving 10GB/day of API responses is spending $27/day, or $810/month, just on outbound traffic.
AWS charges for data leaving their network. Data going in is free. Data between AWS services in the same region is generally free. But the moment bytes leave AWS — to your users, to a third-party API, to anywhere outside — you pay.
The pricing tiers as of 2026:
At scale this gets more predictable, but for teams serving under 100TB/month — which is most developer teams — you're paying the full $0.09/GB rate.
CloudFront data transfer costs $0.0085/GB — ten times cheaper than direct EC2 egress. Putting CloudFront in front of anything that serves files to users cuts your transfer bill by 90%. Most teams know this but haven't done it because "it adds complexity." It doesn't. It's a 20-minute setup.
On-demand pricing is what you pay if you do nothing. Reserved instances save 30–60% for a 1–3 year commitment. Spot instances can save 70–90% but can be interrupted with 2 minutes notice.
The 3-year all-upfront reserved option saves 62% versus on-demand. But it requires $3,500 upfront and a 3-year commitment on a specific instance type in a specific region. For most early-stage teams, 1-year no-upfront reserved is the right call — 35% savings, no upfront cost, and enough flexibility if your needs change.
RDS charges for the instance, storage, I/O (on some storage types), backup storage, and data transfer. Multi-AZ doubles the instance cost. Read replicas add another instance cost per replica. A "simple" RDS setup that starts at $50/month reaches $400/month quickly once you add Multi-AZ, a read replica, and enough storage.
For most applications under serious load, a Supabase Pro plan ($25/month) or a self-managed PostgreSQL on EC2 using gp3 storage is significantly cheaper than RDS — and performs comparably for workloads under ~10,000 queries/second.
Based on impact-to-effort ratio:
The most reliable way to find all of this is to go through Cost Explorer with the grouping set to "Service" and then "Usage Type" — that combination shows you exactly what each line item maps to. It takes about an hour the first time but surfaces things you'd never find otherwise.
Driftn connects to AWS with read-only credentials and identifies idle resources, unused snapshots, and savings opportunities in 30 seconds.
Run a free audit