Posted on Mar 22, 2026 · Updated Mar 22, 2026 · 11 min read
Cloud Cost Optimization Checklist: 15 Ways to Cut Your Bill Today
Cloud bills have a habit of growing faster than the workloads they support. Organizations waste 27% of their cloud spend on average, according to Flexera's 2025 State of the Cloud Report. For a small business spending $2,000 per month, that's $540 disappearing every month into resources nobody uses.
This checklist breaks down 15 concrete ways to reduce your cloud bill across AWS, Azure, and GCP. Each item is grouped by effort level so you can start with five-minute wins and work up to architectural changes. No vague advice like "optimize your resources." Every step tells you what to do, what savings to expect, and how to verify the result. If you're not sure whether you have a problem yet, check the 7 cloud cost red flags that signal you're overspending before diving in. To stop waste before it ships, add cost guardrails to your CI/CD pipeline.
TL;DR
Most cloud waste comes from idle resources, over-provisioned instances, and missing commitment discounts. This 15-item checklist covers quick wins (5 min each), right-sizing (30 min each), commitment savings (20-72% off), and architecture changes. Organizations waste 27% of cloud spend on average (Flexera 2025). Start with the quick wins today.
Table of contents
Why do you need a cloud cost optimization checklist?
Cloud waste hit $44.5 billion in infrastructure spending for 2025, according to Harness's FinOps in Focus report. A checklist works because cloud waste is repetitive. The same mistakes — idle instances, unattached storage, missing discounts — show up in nearly every account.
One-time cleanups don't stick. We've found that teams who audit their cloud bill once save 15-20% initially, then slowly drift back within three months. A monthly checklist creates a feedback loop. It catches new waste before it compounds and keeps savings locked in. Think of it like brushing your teeth — the habit matters more than any single session.
The 15 items below are ordered by effort. Five-minute quick wins come first because they deliver immediate results. Right-sizing takes 30 minutes per resource but saves more. Commitment discounts require planning but deliver the deepest cuts. Architecture changes take the longest but compound over time.
For a deeper look at where cloud waste comes from and why it keeps growing, see our guide to cloud waste and overprovisioning.
Quick wins: 5 things you can fix in under 5 minutes each
Idle resources account for the bulk of preventable cloud waste. 84% of organizations report struggling to manage cloud spend (Flexera 2025). These five items cost nothing to fix and often save 5-15% of your monthly bill within the first hour.
1. Delete unused resources
Look for load balancers with no targets, Elastic IPs not attached to running instances, and empty resource groups. AWS charges $0.005 per hour for unattached Elastic IPs — roughly $3.60 per month each. Sounds small, but five forgotten IPs across two accounts adds up fast.
How to check: In AWS, go to EC2 > Elastic IPs and look for any without an associated instance. In Azure, check the resource group for items with no activity. In GCP, review "Unattached disks" under Compute Engine.
Expected savings: 1-3% of total bill.
2. Stop idle instances
An idle instance is running but doing no useful work. Dev and staging environments left running overnight and on weekends are the usual suspects. A t3.medium on AWS costs about $30 per month. Four idle instances? That's $120 per month for nothing. Scheduling non-production instances to stop outside business hours can cut their cost by 65%.
How to check: Sort instances by CPU utilization over the last 14 days. Anything averaging below 5% is a candidate for termination or scheduling.
Expected savings: 3-8% of total bill.
If your AWS bill specifically is out of control, our guide to diagnosing high AWS bills walks through a 15-minute audit process.
3. Remove unattached volumes
When you terminate a VM, its storage volumes often survive. These orphaned disks sit there quietly charging $0.08-$0.10 per GB per month on AWS EBS. Azure Managed Disks and GCP Persistent Disks have similar behavior. A 100 GB orphaned volume costs roughly $10 per month for data nobody accesses.
How to check: In AWS, go to EC2 > Volumes and filter by "State = available." In Azure, filter disks by "Unattached." In GCP, look under Compute Engine > Disks for disks not attached to any instance.
Expected savings: 1-5% of total bill.
4. Clean old snapshots
Snapshots are point-in-time backups of your storage volumes. They cost $0.05 per GB per month on AWS. Over time, teams accumulate dozens of snapshots from instances that were deleted months ago. We've seen small accounts carrying 30-50 orphaned snapshots, costing $20-$50 per month for backups of things that no longer exist.
How to check: Go to EC2 > Snapshots, sort by creation date. Delete anything older than 90 days that isn't required for compliance or disaster recovery.
Expected savings: 1-3% of total bill.
5. Review NAT gateways
NAT Gateways are one of the sneakiest cost items in cloud billing. On AWS, they charge $0.045 per hour ($32/month) just for existing, plus $0.045 per GB processed. Many small teams deploy a NAT Gateway during initial setup and never revisit it. If your private subnet resources only need to reach S3 or DynamoDB, VPC Gateway Endpoints eliminate the NAT fee entirely — and they're free.
How to check: In Cost Explorer, filter by usage type "NatGateway." For a full breakdown, see our AWS NAT Gateway pricing guide.
Expected savings: 2-10% of total bill (varies widely by architecture).
How do you right-size cloud resources without breaking things?
Right-sizing is the single highest-impact optimization most teams skip. Kubernetes clusters average just 10% CPU utilization, according to the CNCF 2024 FinOps survey. The same pattern holds for standalone VMs — teams overprovision "just in case" and never revisit the decision.
6. Downsize over-provisioned instances
If your VM averages below 20% CPU and uses less than half its memory over 30 days, it's oversized. Drop one instance size. On AWS, moving from an m6i.xlarge ($140/month) to an m6i.large ($70/month) saves 50% with no configuration changes beyond a restart. Azure and GCP follow similar pricing tiers.
How to check: Use CloudWatch (AWS), Azure Monitor, or GCP Ops Agent to review 30-day CPU and memory trends. AWS also provides right-sizing recommendations in Cost Explorer under "Recommendations."
Expected savings: 20-50% per instance.
7. Match storage tiers to access patterns
Cloud providers offer multiple storage classes at different price points. AWS S3 Standard costs $0.023 per GB, but S3 Infrequent Access costs $0.0125 per GB — nearly half. If you're storing logs, backups, or data accessed less than once a month, you're paying double what you should. S3 Intelligent-Tiering automates this for $0.0025 per 1,000 objects monitored.
How to check: Enable S3 Storage Lens or review access patterns in CloudWatch. Azure Blob has Hot/Cool/Archive tiers. GCP Cloud Storage has Standard, Nearline, Coldline, and Archive.
Expected savings: 30-70% on storage costs.
8. Optimize database instance sizes
Managed databases are often the second-largest line item on a cloud bill. A db.r6g.xlarge on AWS RDS with Multi-AZ costs about $350 per month. If your database CPU stays below 30% and freeable memory exceeds 50%, dropping to a db.r6g.large at $175 per month saves $2,100 per year. That's real money for a small business.
How to check: Open RDS Performance Insights or the CloudWatch dashboard for your database. Look at 30-day averages, not peak moments. Azure SQL and Cloud SQL on GCP have equivalent monitoring dashboards.
Expected savings: 25-50% on database costs.
What commitment discounts can cut your bill 20-72%?
Commitment-based pricing is where the biggest percentage savings live. Reserved Instances and Savings Plans offer 20-72% off on-demand pricing (AWS Savings Plans Pricing). Yet 37% of organizations underutilize their existing commitments (Flexera 2025). These discounts require planning, but they're the most impactful line on this checklist.
9. Evaluate Reserved Instances
If you've been running the same instance types for three or more months, Reserved Instances (RIs) are worth evaluating. A 1-year all-upfront RI on AWS saves roughly 40% compared to on-demand. A 3-year commitment saves up to 60%. The catch? You're locked into a specific instance family and region.
How to check: AWS Cost Explorer has an "RI Recommendations" tab that analyzes your usage patterns and suggests reservations. Azure Advisor and GCP recommender offer similar suggestions.
Expected savings: 30-60% on committed compute.
10. Adopt Savings Plans
Savings Plans are more flexible than Reserved Instances. Instead of committing to a specific instance, you commit to a dollar-per-hour spend level. AWS Compute Savings Plans cover EC2, Fargate, and Lambda. They offer 20-40% savings with 1-year terms. For teams whose workloads shift between instance types, Savings Plans are usually the better choice.
How to check: Go to the AWS Savings Plans recommender in Cost Explorer. It shows your recommended hourly commitment based on historical usage. Azure also offers Savings Plans for compute.
Expected savings: 20-40% on compute.
11. Use committed use discounts on GCP
Google Cloud's Committed Use Discounts (CUDs) work similarly to Reserved Instances. A 1-year commitment saves up to 37%. A 3-year commitment saves up to 55%. GCP also offers automatic sustained-use discounts of up to 30% for instances running more than 25% of the month — no commitment required. These stack with other discounts.
How to check: The GCP recommender in the Cloud Console suggests CUDs based on your usage patterns. Review under Billing > Committed use discounts.
Expected savings: 30-55% on committed compute.
12. Use spot instances for batch workloads
Spot instances (AWS), Spot VMs (Azure), and Preemptible VMs (GCP) run on spare cloud capacity at 60-90% off on-demand prices. The trade-off? They can be interrupted with short notice. That makes them ideal for batch processing, CI/CD pipelines, data analytics, and any workload that can handle restarts.
How to check: Identify workloads that don't need guaranteed uptime. Start with CI/CD runners or batch jobs. For a detailed comparison, see our reserved vs spot vs on-demand guide.
Expected savings: 60-90% on eligible workloads.
Which architecture changes reduce cloud costs long-term?
Architecture changes require the most effort, but they compound. Data egress alone costs $0.08-$0.12 per GB across major providers and represents 5-15% of typical bills (Cloudflare bandwidth analysis). The three changes below pay for themselves within weeks and keep saving as traffic grows.
13. Use a CDN to reduce egress costs
Every byte that leaves your cloud provider costs money. CloudFront, Azure CDN, or Cloud CDN caches your static content at edge locations, reducing the amount of data your origin server needs to send. For content-heavy apps, a CDN can cut egress costs by 40-70%. CloudFront's first 1 TB per month is free.
How to check: Look at your data transfer charges in Cost Explorer. If they exceed 10% of your total bill, a CDN will pay for itself. See our cloud egress costs guide for a full breakdown.
Expected savings: 40-70% on egress costs.
14. Consolidate regions
Every additional region adds cost through duplicated resources, cross-region data transfer ($0.01-$0.02/GB), and operational complexity. If you're a small business serving one geographic market, running in a single region eliminates cross-region fees entirely. Multi-region only makes sense when latency requirements or compliance demand it.
How to check: List all active regions in your cloud console. If any region holds resources that could run in your primary region without meaningful latency impact, consolidate.
Expected savings: 5-15% on data transfer and duplicated resources.
15. Implement auto-scaling
Auto-scaling adjusts your compute capacity based on actual demand. Without it, you're paying for peak capacity 24/7 even though most apps see 2-4x traffic variation throughout the day. AWS Auto Scaling, Azure Virtual Machine Scale Sets, and GCP Managed Instance Groups all offer this. The setup takes 30-60 minutes, and it keeps working forever.
How to check: Review your instance CPU patterns over a week. If utilization swings below 30% during off-peak hours, auto-scaling will save money. A service that needs 4 instances at peak but 1 at off-peak saves 50-60% on compute with proper auto-scaling configured.
Expected savings: 30-60% on compute costs.
Priority matrix: where should you start?
Not every optimization is equal. Some take five minutes and save 5%. Others take a weekend and save 50%. The Flexera 2025 report shows that organizations with structured FinOps reduce waste from 27% to under 15%. This matrix helps you pick the right order.
| Item | Effort | Impact | Savings Range |
|---|---|---|---|
| Delete unused resources | 5 min | Low-Med | 1-3% |
| Stop idle instances | 5 min | Medium | 3-8% |
| Remove unattached volumes | 5 min | Low-Med | 1-5% |
| Clean old snapshots | 5 min | Low | 1-3% |
| Review NAT gateways | 10 min | Medium | 2-10% |
| Downsize instances | 30 min | High | 20-50%/instance |
| Match storage tiers | 30 min | Medium | 30-70% on storage |
| Optimize database sizes | 30 min | High | 25-50% on DB |
| Reserved Instances | 1-2 hrs | High | 30-60% |
| Savings Plans | 1-2 hrs | High | 20-40% |
| GCP Committed Use Discounts | 1 hr | High | 30-55% |
| Spot instances | 2-4 hrs | Very High | 60-90% |
| CDN for egress | 1-2 hrs | Medium | 40-70% on egress |
| Consolidate regions | 2-4 hrs | Medium | 5-15% |
| Auto-scaling | 1-2 hrs | High | 30-60% on compute |
Start at the top. The first five items take less than 30 minutes combined and typically recover 8-20% of your bill. Then move to right-sizing — it's where the highest per-item savings are. Commitment discounts come last because they work best after you've eliminated waste and right-sized. There's no point locking in a reservation for an instance you'll downsize next month. For a real-world example of working through this process on a live account, see how one team cut their cloud bill 40% in one afternoon. Before starting, it also helps to know what you're looking at — our guide to reading your AWS bill explains every line item in plain language.
Want to estimate how much you could save? Try our cloud cost calculator to model your current spend and see where the biggest gaps are.
Frequently asked questions
How much can a cloud cost optimization checklist save?
Most small businesses save 20-35% on their first pass through a structured checklist. Organizations waste 27% of cloud spend on average (Flexera 2025). Quick wins alone typically recover 8-15%, while right-sizing and commitment discounts deliver the remaining savings.
How often should you review cloud costs?
Monthly is the minimum cadence. Run through quick wins (items 1-5) every month. Review right-sizing quarterly. Re-evaluate commitment discounts every 6-12 months or when workloads change significantly. Set up billing alerts so surprises don't wait until your next review.
What's the difference between Reserved Instances and Savings Plans?
Reserved Instances lock you into a specific instance type and region for 1-3 years. Savings Plans commit to a dollar-per-hour spend level and apply more flexibly across instance families, regions, and even services like Lambda and Fargate. Savings Plans are usually better for teams whose workloads shift over time.
Are spot instances safe for production workloads?
Generally no. Spot instances can be reclaimed with 2 minutes notice on AWS. They work well for batch processing, CI/CD pipelines, and stateless workers that can restart without data loss. For production, use on-demand or reserved capacity and run spot only for non-critical background jobs.
Does this checklist work for multi-cloud setups?
Yes. All 15 items apply across AWS, Azure, and GCP. The specific console paths differ, but the concepts — idle resource cleanup, right-sizing, commitment discounts, and architecture optimization — are universal. Multi-cloud setups often have more waste because visibility is fragmented across providers.
Estimate your cloud costs — for free
Compare AWS, Azure, and GCP pricing side by side with our free calculator, and dig into the guides to learn how to cut cloud waste. No sign-up required.