Wring

Cloud Cost Optimization Checklist: 30 Key Actions

30-point AWS cost optimization checklist by effort level. Quick wins save 10-15%, full implementation cuts bills 30-50%. Step-by-step guide.

Wring Team
March 12, 2026
9 min read
cloud cost optimizationAWS cost checklistcost reductionFinOps checklistAWS savingscost optimization guide
Team collaborating on strategic planning with charts and checklists on table
Team collaborating on strategic planning with charts and checklists on table

This isn't a theory guide — it's a checklist. Use AWS Cost Management tools to track your progress. Thirty specific actions organized by effort level, each with expected savings and how to do it. Start with the quick wins (15 minutes each), then work through the medium and strategic items.

Most organizations implementing this full checklist reduce their AWS bill by 30-50%.

TL;DR: Quick wins (under 15 min each): delete unattached EBS volumes, stop idle instances, enable S3 Intelligent-Tiering. Medium effort (under 1 day): migrate gp2 to gp3, switch to Graviton, implement Savings Plans. Strategic (under 1 week): set up tagging, deploy Spot for stateless workloads, implement auto-scaling. Each action below includes the expected savings impact.


Quick Wins (15 Minutes Each)

These require no architecture changes, no approvals, and deliver immediate savings.

1. Delete Unattached EBS Volumes

Savings: $80/TB/month | Check: Cost Explorer → EBS → filter "Unattached"

Volumes persist after EC2 termination. Snapshot them first, then delete. A forgotten 500GB gp3 volume costs $40/month doing nothing.

2. Release Unused Elastic IPs

Savings: $3.65/IP/month | Check: EC2 → Elastic IPs → filter unassociated

AWS charges for Elastic IPs not attached to running instances. Small per-IP, but they accumulate.

3. Delete Old EBS Snapshots

Savings: $0.05/GB/month | Check: EC2 → Snapshots → sort by age

Snapshots from terminated instances serve no purpose. Delete snapshots older than your recovery requirements.

4. Stop Idle RDS Instances

Savings: 100% of instance cost | Check: CloudWatch → RDS → DatabaseConnections = 0

Dev/staging RDS instances running 24/7 with zero connections. Stop them or use Aurora Serverless v2 for dev.

5. Enable S3 Intelligent-Tiering

Savings: 40-70% on infrequently accessed data | Check: S3 → Bucket → Management → Lifecycle

For buckets with unpredictable access patterns, Intelligent-Tiering automatically moves objects to cheaper tiers. No retrieval fees, $0.0025/1K objects monitoring fee.

6. Delete Unused Load Balancers

Savings: $22/month per ALB | Check: EC2 → Load Balancers → check target health

ALBs with no healthy targets or zero request count are wasting money.

7. Review and Delete Old AMIs

Savings: $0.05/GB/month per AMI snapshot | Check: EC2 → AMIs → sort by creation date

Each AMI has associated EBS snapshots. Old AMIs from months ago still incur snapshot storage charges.

8. Set Up AWS Budget Alerts

Savings: Prevents future waste | Check: Billing → Budgets

Set a budget at your current spend + 10%. Get email alerts when trending over. This prevents bill shock and catches runaway costs early.

9. Turn Off Dev/Test Resources After Hours

Savings: 65% on dev/test compute | Check: Instance Scheduler or manual stop

Dev instances running 24/7 but used only 8 hours/day, 5 days/week. Schedule start/stop with AWS Instance Scheduler or Lambda.

10. Delete CloudWatch Log Groups with No Retention

Savings: $0.03/GB/month | Check: CloudWatch → Log Groups → Retention = Never Expire

Log groups set to "Never Expire" accumulate indefinitely. Set retention to 30 days for most, 90 days for compliance-required logs.

Cloud Cost Optimization Checklist savings comparison

Medium Effort (Half-Day Each)

These require some testing but no major architecture changes.

11. Migrate All gp2 EBS Volumes to gp3

Savings: 20% on EBS | Method: EC2 → Volumes → Modify → Change to gp3

Zero downtime, no detach required. Every gp2 volume should be gp3 — better performance, lower price. No reason to stay on gp2.

12. Switch to Graviton Instances

Savings: 20% on compute | Method: Change instance family (m7i → m7g)

Most Linux workloads run on Graviton without changes. Start with dev/test, then production. Covers EC2, RDS, ElastiCache, Lambda.

13. Purchase Compute Savings Plans

Savings: 30-40% on committed compute | Method: Cost Explorer → Savings Plans → Recommendations

Start conservative: commit to 50-60% of your baseline On-Demand spend. 1-year No Upfront for flexibility. Covers EC2, Fargate, Lambda.

14. Right-Size EC2 Instances

Savings: 15-25% on over-provisioned compute | Check: Compute Optimizer → EC2 Recommendations

Most instances run at 10-30% CPU. Downsize from xlarge to large, or large to medium. Test in staging first.

15. Enable S3 Lifecycle Policies

Savings: 40-80% on aging data | Method: S3 → Management → Lifecycle Rules

Move objects to S3 Infrequent Access after 30 days, Glacier after 90 days, Deep Archive after 180 days. Adjust based on actual access patterns.

16. Deploy VPC Endpoints for S3 and DynamoDB

Savings: Eliminates NAT Gateway data processing | Method: VPC → Endpoints → Create

Gateway Endpoints for S3 and DynamoDB are free. Saves $0.045/GB that would otherwise flow through NAT Gateway.

17. Review and Consolidate NAT Gateways

Savings: $32/month per eliminated gateway | Check: VPC → NAT Gateways

Do you need one per AZ? For non-production VPCs, a single NAT Gateway is usually sufficient.

18. Enable RDS Reserved Instances

Savings: 30-60% on database compute | Method: RDS → Reserved Instances → Purchase

For production databases that run 24/7, Reserved Instances provide significant savings. 1-year No Upfront saves ~30%.

19. Use Aurora Serverless v2 for Variable Workloads

Savings: 40-60% vs provisioned for bursty DBs | Method: Modify RDS instance to Aurora Serverless v2

Dev databases and applications with variable query patterns benefit from pay-per-ACU pricing instead of running a provisioned instance 24/7.

20. Implement Tagging Strategy

Savings: Enables all future optimization | Method: Tag Policy in AWS Organizations

Tag every resource with: Team, Environment, Project, CostCenter. This is the foundation for accountability — you can't optimize what you can't attribute.

Cloud Cost Optimization Checklist process flow diagram

Strategic Changes (1-5 Days Each)

These require planning and cross-team coordination but deliver the largest sustained savings.

21. Implement Spot Instances for Stateless Workloads

Savings: 60-90% on eligible compute | Method: EC2 Spot, Karpenter, or Spot Fleet

Web servers, workers, batch jobs, CI/CD runners — any workload that can handle interruption. Use Spot with fallback to On-Demand.

22. Set Up Auto-Scaling Based on Demand

Savings: 20-40% by eliminating over-provisioning | Method: Target Tracking scaling policies

Scale compute based on actual demand instead of provisioning for peak. Use CPU/request-count target tracking for predictable scaling.

23. Containerize and Consolidate Workloads

Savings: 30-50% through better resource utilization | Method: Migrate to ECS or EKS

Multiple small EC2 instances each running one app waste capacity. Containers pack multiple workloads onto fewer, larger instances.

24. Move to Serverless Where Appropriate

Savings: Variable, significant for bursty workloads | Method: Lambda, API Gateway, DynamoDB, SQS

Workloads with less than 30% utilization often cost less as serverless. The break-even depends on request patterns.

25. Implement Cross-Account Cost Allocation

Savings: Enables organizational optimization | Method: AWS Organizations + CUR

Consolidated billing across accounts reveals duplicate resources, inconsistent pricing, and optimization opportunities invisible at the individual account level.

26. Review Data Transfer Architecture

Savings: 30-50% on transfer costs | Check: CUR → Data Transfer line items

Use CloudFront instead of direct S3 egress (cheaper and faster). Keep traffic within AZ when possible. Use VPC peering instead of Transit Gateway for simple connections.

27. Implement Automated Resource Cleanup

Savings: Prevents ongoing waste | Method: Lambda + CloudWatch Events

Auto-delete untagged resources after 7 days, stop idle instances, remove expired snapshots. Prevents the waste that this checklist manually addresses.

28. Optimize Lambda Functions

Savings: 20-40% on Lambda | Method: Power Tuning, ARM64, right-size memory

Use AWS Lambda Power Tuning to find optimal memory. Switch to ARM64 (20% cheaper). Set appropriate timeouts to avoid runaway executions.

29. Negotiate Enterprise Discount Program (EDP)

Savings: 5-15% on total AWS spend | Eligibility: $500K+/year spend

For large organizations, AWS offers volume discounts through EDPs. Requires annual commitment but provides bill-wide discounts.

30. Set Up FinOps Practice

Savings: Sustains all other optimizations | Method: Weekly reviews, team dashboards, accountability

Without ongoing practice, optimizations drift. Follow FinOps best practices: set up weekly cost reviews, team-level dashboards, and make cost a standard metric alongside latency and uptime.


Priority Matrix

PriorityActionsExpected Total Savings
Week 1 (Quick Wins)Items 1-1010-15%
Week 2-3 (Medium)Items 11-20Additional 15-25%
Month 2-3 (Strategic)Items 21-30Additional 10-20%
CombinedAll 30 items30-50% total
Cloud Cost Optimization Checklist optimization checklist

Related Guides


Frequently Asked Questions

How often should I review this checklist?

Run through the quick wins (items 1-10) monthly to catch new waste. Review medium-effort items quarterly, and reassess strategic changes semi-annually. Set up automated alerts for items like unattached volumes and idle instances so you catch them between reviews.

Which checklist items have the biggest impact?

Three items deliver the most savings for most organizations: Compute Savings Plans (item 13, 30-40% on committed compute), Spot Instances for stateless workloads (item 21, 60-90% on eligible compute), and rightsizing EC2 instances (item 14, 15-25% on over-provisioned compute). Start with these if you need to prioritize.

Can I automate these optimizations?

Yes, many items can be automated. Use AWS Instance Scheduler for stopping dev resources (item 9), Lambda functions for snapshot cleanup (item 27), and S3 lifecycle policies for storage tiering (item 15). Items like Savings Plans purchases and architecture changes still require human judgment and approval.


Start Optimizing Today

Print this checklist. Work through it top to bottom. The quick wins alone can save hundreds per month, and the full checklist typically cuts AWS bills by 30-50%.

  1. Start with items 1-10 today — 15 minutes each, immediate savings
  2. Schedule items 11-20 this week — half-day efforts with significant returns
  3. Plan items 21-30 this month — strategic changes that compound over time
Cloud Cost Optimization Checklist key statistics

Lower Your Cloud Costs with Wring

Wring helps you access AWS credits and volume discounts to reduce your cloud bill. Through group buying power, Wring negotiates better per-unit rates across all AWS services.

Start saving on AWS →