Three AWS Cost Leaks Hiding in Your Bill Right Now Field notes

The most expensive AWS line items aren't always the obvious ones. Three patterns we see in nearly every audit — and how to close them in a fortnight.

All posts

Most “AWS is too expensive” conversations start with EC2. That’s almost never where the real money is leaking. After running cost reviews across dozens of accounts — from six-person startups to scaled platforms — the same three patterns show up. They share a useful property: each one can be closed in under two weeks, with no application changes.

1. Idle non-production environments

Staging, QA, sandbox, and feature-branch environments routinely run 24/7 because nobody owns turning them off. The math is brutal: a non-production environment running around the clock costs the same as one running 8/5 — except the second one delivers the same value. On a typical mid-stage SaaS, scheduled start/stop on non-prod accounts cuts EC2 and RDS spend by 60–70% with zero code changes. Use EventBridge schedules, or AWS Instance Scheduler if you want a packaged solution.

2. NAT Gateway data processing

NAT Gateway data processing runs roughly €0.04/GB processed on top of the hourly charge. In data-heavy workloads (ETL pipelines, container image pulls, monitoring agents shipping logs to SaaS endpoints) the processing fee silently overtakes the hourly fee. We’ve seen single accounts paying €4,000/month in NAT data charges that VPC Endpoints would have eliminated entirely. Audit: check Cost Explorer filtered by Usage Type containing Bytes — if NAT data is more than 30% of your networking spend, you have a VPC Endpoint problem.

3. EBS volumes attached to nothing

When EC2 instances are terminated, their EBS volumes often survive — especially in environments built before Terraform discipline took hold. Same for snapshots tied to AMIs nobody owns anymore. These are pennies individually and thousands collectively. AWS Trusted Advisor flags them; so does aws ec2 describe-volumes --filters Name=status,Values=available. Delete them. The risk of losing important data is mitigated by snapshots, which cost a fraction of live volumes.

What we actually do in a Rapid Savings Sprint

Our two-week FinOps engagement closes all three of these in the first sprint, then maps the rest of the spend against Savings Plans and Reserved Instance opportunities. The result is typically a 20–35% bill reduction in the first month, with the changes living in version-controlled Terraform so the savings don’t quietly evaporate three quarters later when someone “temporarily” turns scheduling off.

If your AWS bill has grown faster than your engineering headcount, those three leaks are probably the reason. Start there.

Want to turn this into a project?
Let's scope it.

The patterns in this article are things we've built and operated for funded startups. Send us the brief and we'll come back with how we'd approach it — or book a call directly.