← Insights
Cost·Jun 18, 2026·5 min read

Five ways we cut AWS bills without cutting corners

Most AWS bills carry more waste than teams expect. Here are the levers we pull first on a cost review — right-sizing, storage tiers, savings plans, and more.

Almost every AWS account we audit is paying for capacity it doesn't use. The good news: cost optimization rarely means degrading the product. It usually means matching what you pay for to what you actually run. Here's where we start.

1. Right-size compute

Instances get provisioned for peak-day guesses and never revisited. We look at real CloudWatch utilization and move workloads to the right instance family and size — often Graviton for a straight price-performance win.

2. Buy the commitment you already have

If a baseline of compute runs continuously, on-demand pricing is a tax on that baseline. Savings Plans and Reserved Instances reduce it substantially with no code change — the trick is committing only to the steady-state, not the spikes.

3. Tier and expire storage

  • Move cold S3 data to Infrequent Access or Glacier with lifecycle rules.
  • Delete unattached EBS volumes and old snapshots.
  • Turn on S3 storage-class analysis so tiering is data-driven.

4. Kill idle and orphaned resources

Dev environments running overnight, load balancers with no targets, NAT gateways in empty subnets. Individually small, collectively a real line item. We tag everything and schedule non-prod to shut down off-hours.

5. Make cost visible

You can't manage what you can't see. We set up cost allocation tags, budgets, and anomaly alerts so the next surprise bill becomes a Slack message before it becomes a month-end shock.

A structured cost review tends to surface most of this at once, simply because nobody had looked at it together before.