Your AWS Bill Is Out of Control: 6 Strategies to Cut Cloud Spend Without Cutting Services
The AWS Cost Creep Problem
Here's a familiar story: your team migrated to AWS three years ago. The initial bill was manageable. Then new services were spun up, development environments proliferated, and someone launched a fleet of oversized EC2 instances "just to be safe." Now your AWS bill has doubled — or tripled — and nobody can explain exactly why.
You're not alone. Studies consistently show that organizations waste 30–35% of their cloud spend. For a company spending $50,000/month on AWS, that's $180,000–$210,000 per year going straight to waste.
The good news: you can cut AWS costs significantly without reducing capability. Here are six strategies that work, ordered from quickest wins to longer-term optimizations.
1. Right-Size Underutilized Instances
Potential savings: 20–40% on EC2
Right-sizing is the single most impactful cost optimization you can make. Most organizations provision instances based on peak estimated demand, then never revisit the sizing after deployment.
AWS CloudWatch metrics tell the real story. Pull CPU utilization, memory usage, and network I/O for your running instances over the past 30 days. Common findings:
- 40–60% of instances are running below 40% average CPU utilization
- Development and staging instances are often the same size as production
- Legacy instances launched years ago are still running original (often larger) instance types
How to fix it: Use AWS Compute Optimizer (free for basic recommendations) to identify instances that could be downsized. A common pattern is moving from m5.xlarge ($0.192/hr) to m5.large ($0.096/hr) — a 50% reduction per instance with no performance impact for underutilized workloads.
Quick math: Downsizing 20 underutilized m5.xlarge instances to m5.large saves approximately $33,600 per year.
2. Use Reserved Instances and Savings Plans
Potential savings: 30–72% on compute
If you're running production workloads on-demand, you're paying the highest possible price. AWS offers two commitment-based discount mechanisms:
Reserved Instances (RIs)
- 1-year commitment: ~30–35% savings vs. on-demand
- 3-year commitment: ~55–60% savings vs. on-demand
- Convertible RIs: Slightly lower discount but allow you to change instance families
Savings Plans
- Compute Savings Plans: Apply to any EC2 instance, Lambda, or Fargate usage (most flexible)
- EC2 Instance Savings Plans: Higher discount but locked to a specific instance family and region
- 1-year plans: ~30% savings
- 3-year plans: Up to 72% savings
The best approach: Start with 1-year Compute Savings Plans for your baseline compute usage. These offer strong savings (30%+) with maximum flexibility. Once you're comfortable with the commitment model, consider 3-year terms for your most stable workloads.
How to calculate: Use the AWS Cost Explorer Savings Plans recommendations. It analyzes your historical usage and recommends commitment amounts with projected savings.
3. Optimize S3 Storage Tiers
Potential savings: 40–80% on storage
S3 is deceptively expensive at scale because most organizations store everything in S3 Standard ($0.023/GB/month) regardless of access patterns.
S3 Storage Tiers and Pricing
| Tier | Price/GB/Month | Best For | |---|---|---| | Standard | $0.023 | Frequently accessed data | | Infrequent Access (IA) | $0.0125 | Data accessed less than once/month | | Glacier Instant Retrieval | $0.004 | Archive with millisecond access | | Glacier Flexible | $0.0036 | Archive retrieved within hours | | Glacier Deep Archive | $0.00099 | Long-term archive, 12-hour retrieval |
The opportunity: Data that hasn't been accessed in 90+ days sitting in Standard tier is costing you 5–23x more than necessary. Common culprits include log files, old backups, compliance archives, and historical data exports.
How to fix it: Enable S3 Intelligent-Tiering on buckets where access patterns are unpredictable (automatic optimization with no retrieval fees). For buckets with known patterns, create S3 Lifecycle policies to automatically transition objects to cheaper tiers after 30, 60, or 90 days.
Quick math: Moving 10 TB of infrequently accessed data from Standard to IA saves $1,260 per year. Moving it to Glacier Deep Archive saves $2,640 per year.
4. Eliminate Idle Resources
Potential savings: 5–15% on total bill
Every AWS account accumulates idle resources over time. These are the ghosts of deployments past — resources that were created for a purpose that no longer exists but were never cleaned up.
Common Idle Resources
- Unattached EBS volumes: Volumes from terminated instances that persist and incur storage charges ($0.10/GB/month for gp3)
- Unused Elastic IPs: Each unattached Elastic IP costs $0.005/hour ($3.60/month)
- Idle load balancers: ALBs cost $0.0225/hour ($16.20/month) whether they're serving traffic or not
- Unused NAT Gateways: $0.045/hour ($32.40/month) each, plus data processing charges
- Stale snapshots: EBS snapshots accumulate at $0.05/GB/month and are rarely cleaned up
- Forgotten development environments: EC2 instances, RDS databases, and entire VPCs created for testing and never decommissioned
How to fix it: Run AWS Trusted Advisor (included with Business and Enterprise support plans) to identify idle resources. For a more comprehensive view, use AWS Cost Explorer's resource-level cost breakdown to find resources with consistent charges but no associated application traffic.
Best practice: Implement a tagging strategy that requires every resource to have an Environment, Owner, and ExpiryDate tag. Run weekly automated reports flagging untagged or expired resources.
5. Leverage AWS Savings Plans for Lambda and Fargate
Potential savings: 15–30% on serverless
Serverless isn't free — it's just billed differently. Organizations running significant Lambda or Fargate workloads can benefit from Compute Savings Plans, which apply discounts to Lambda invocations and Fargate vCPU/memory hours in addition to EC2.
If your Lambda bill exceeds $1,000/month consistently, a 1-year Compute Savings Plan likely makes sense. The same applies to Fargate workloads running containerized services at steady-state.
Often overlooked: Many organizations apply Savings Plans only to EC2 and miss the Lambda/Fargate benefit, leaving 15–30% in savings on the table for serverless workloads.
6. Negotiate an Enterprise Discount Program (EDP)
Potential savings: 10–25% across all AWS services
For organizations spending $500,000+ annually on AWS, the Enterprise Discount Program (EDP) offers volume-based discounts across your entire AWS bill in exchange for a multi-year spend commitment.
How EDPs Work
- You commit to a minimum annual AWS spend (typically $500K–$1M+)
- AWS provides a percentage discount on all services (typically 10–25%)
- Terms are usually 1–3 years
- The discount applies to your entire bill — EC2, S3, RDS, Lambda, everything
The Partner Advantage
Here's what most organizations don't realize: you don't have to negotiate an EDP directly with AWS. AWS consulting partners and managed service providers can negotiate EDPs on your behalf — often securing better terms because of their aggregate purchasing power across multiple clients.
This is where competitive bidding becomes powerful. Different AWS partners have different relationships with AWS, different levels of aggregate spend, and different discount structures they can offer. Getting proposals from multiple partners for managed AWS services and EDP negotiation can yield significantly better pricing than going direct.
License Bids makes this easy. Submit your AWS spend profile and requirements, and receive competing proposals from verified AWS partners — including EDP negotiation support, managed services pricing, and cost optimization consulting.
Adding It All Up
These six strategies compound. Here's what a realistic optimization looks like for a company spending $600,000/year on AWS:
| Strategy | Estimated Savings | |---|---| | Right-sizing instances | $60,000–$120,000 | | Reserved Instances/Savings Plans | $90,000–$180,000 | | S3 tier optimization | $12,000–$24,000 | | Eliminating idle resources | $30,000–$60,000 | | Serverless Savings Plans | $6,000–$12,000 | | EDP negotiation | $60,000–$150,000 |
Total potential savings: $258,000–$546,000 per year — a 43–91% reduction, though most organizations realistically achieve 30–50% overall savings by implementing these strategies systematically.
Where to Start
Don't try to boil the ocean. Start with the two quickest wins:
- Eliminate idle resources — immediate savings, zero risk
- Right-size instances — high impact, low effort with Compute Optimizer
Then move to commitment-based savings (RIs and Savings Plans) and storage optimization. If your AWS spend exceeds $500K/year, pursue an EDP negotiation — ideally through competitive bidding to ensure you get the best available terms.
License Bids supports competitive bidding across AWS, Microsoft 365, and Google Workspace. Submit your cloud requirements and get competing proposals from verified partners who can help you optimize and reduce your cloud spend.
About the Author
Steve Kelley
Steve Kelley is the founder of Software Licensing Advisors and License Bids. With over 15 years of experience in Microsoft licensing and cloud strategy, he helps organizations reduce licensing costs through competitive bidding and strategic partner selection.