DEV Community

Samarth Bhamare
Samarth Bhamare

Posted on

10 AWS Cost Optimization Strategies That Actually Work in 2026

Most AWS accounts waste 20-35% of their spend on resources that are idle, oversized, or forgotten. I found $600/month in pure waste on ours last month.

Here are 10 strategies that actually move the needle.

1. Find and Terminate Stopped EC2 Instances

A stopped EC2 instance doesn't charge for compute — but the EBS volumes attached to it keep charging. A 500GB gp3 volume costs ~$40/month whether the instance is running or not.

aws ec2 describe-instances --filters "Name=instance-state-name,Values=stopped" --query "Reservations[].Instances[].[InstanceId,LaunchTime,Tags[?Key=='Name'].Value|[0]]" --output table
Enter fullscreen mode Exit fullscreen mode

2. Delete Orphaned EBS Volumes

When you terminate an EC2 instance, EBS volumes can persist if DeleteOnTermination was set to false. These orphaned volumes sit there costing money indefinitely.

aws ec2 describe-volumes --filters "Name=status,Values=available" --query "Volumes[].[VolumeId,Size,CreateTime]" --output table
Enter fullscreen mode Exit fullscreen mode

3. Release Unattached Elastic IPs

AWS charges $3.65/month for each Elastic IP not associated with a running instance. Small per IP but adds up across accounts.

4. Right-Size Your EC2 Instances

If your instance runs at 5% CPU on average, you're paying for 20x more compute than you need.

What to look for: Instances with avg CPU below 10% over 14 days. Moving down one size (e.g., m5.xlarge to m5.large) cuts cost by 50%.

5. Use Savings Plans

For workloads running 24/7, Compute Savings Plans save 30-60% vs on-demand. The 1-year no-upfront plan offers around 30% savings with minimal commitment.

6. Implement S3 Lifecycle Policies

Data in S3 Standard not accessed in 30 days should move to S3 Infrequent Access (around 40% cheaper). After 90 days, move to Glacier (around 80% cheaper).

7. Review NAT Gateway Costs

NAT Gateways charge per GB of data processed. A single misconfigured service pulling data through NAT can cost hundreds per month. Check your VPC flow logs.

8. Clean Up Old Snapshots

EBS snapshots accumulate over time. Review snapshots older than 90 days and delete ones you no longer need.

9. Use Spot Instances for Non-Critical Workloads

Spot instances are 60-90% cheaper than on-demand. They work well for batch processing, CI/CD, dev environments, and any workload that can handle interruptions.

10. Set Up Cost Anomaly Alerts

Don't wait for the monthly bill. Set up alerts so you know the day a cost spike happens — not 30 days later.

The Bottom Line

Most teams can cut 20-30% from their AWS bill in a single afternoon just by finding and fixing the obvious waste. Start with stopped instances and orphaned volumes — that's where the easy money is.


I got tired of doing this manually so I built a free tool that automates it. It connects read-only to your AWS account, scans for all the waste patterns above, and shows you exactly what's costing money for no reason.

cloudbudgetmaster.com — free tier, no credit card, 5 min setup.

What's the most ridiculous waste you've found on an AWS bill?

Top comments (0)