AWS Compute Optimizer · Rightsizing Guide
AWS Compute Optimizer: Rightsizing Recommendations
AWS Compute Optimizer uses machine learning to analyze utilization of EC2, Lambda, ECS Fargate, and EBS - and recommends right-sized alternatives. It’s free for 14-day lookback and takes 5 minutes to enable.
How to Use Compute Optimizer
Enable Compute Optimizer
Compute Optimizer requires opt-in and 14+ days of CloudWatch data before providing recommendations. Enable it in all AWS accounts where you run EC2, Lambda, or Fargate.
- AWS console → Compute Optimizer → Get started → Opt in
- For AWS Organizations: opt in at management account level to cover all member accounts
- Wait 14 days for the free tier, or immediately enable enhanced recommendations (paid) for 93-day lookback
- Enable EC2 and EBS recommendations first - these have the highest savings potential
Review EC2 recommendations
Compute Optimizer ranks EC2 recommendations by estimated monthly savings. Start with the highest-savings recommendations and work down.
- Compute Optimizer → EC2 instances → sort by Estimated monthly savings (descending)
- For each recommendation: check current vs. recommended instance type, estimated performance risk, and savings
- Filter by risk: VERY_LOW and LOW risk recommendations are safe starting points
- Note Graviton recommendations - these appear separately and often represent significant savings
Apply and monitor
Apply recommendations in non-production first, then production. Monitor key metrics for 48–72 hours before declaring success.
- Test recommendation in staging: change instance type, run load tests if available
- In production: schedule maintenance window, stop instance, change type, start
- Monitor CloudWatch for 48–72 hours: CPU utilization, memory (if using CloudWatch agent), application latency
- If metrics look healthy and no performance regression: proceed to next recommendation
Frequently Asked Questions
Is AWS Compute Optimizer free?
The standard tier (14-day lookback, basic recommendations) is free. The enhanced tier adds 93-day lookback and external metrics integration (Datadog, Dynatrace) - this costs $0.0003360 per resource per hour analyzed. For most startups, the free tier is sufficient.
What resources does Compute Optimizer cover?
EC2 instances, Auto Scaling Groups, EBS volumes, Lambda functions, and ECS services on Fargate. It does not cover RDS, ElastiCache, DynamoDB, or managed services. For those, use service-specific rightsizing tools or a manual audit.
How accurate are Compute Optimizer recommendations?
Reasonably accurate for CPU and memory utilization patterns. Less accurate for: bursty workloads (it may recommend downsizing something that has predictable peaks), workloads with external constraints (e.g., an EC2 instance that must be c5.2xlarge for licensing reasons), and instances with significant network or disk I/O requirements not captured in CPU/memory metrics.
Should I apply Compute Optimizer recommendations automatically?
No. Always review before applying. Compute Optimizer may recommend downsizing instances that have buffer for traffic spikes, or instances where the application has non-obvious performance requirements. Test on non-production first, monitor after applying, and roll back if you see increased latency or error rates.
What does Compute Optimizer not catch that a human audit would?
Architectural cost drivers: a pattern that causes 10 instances to do the work of 2, an ALB that terminates SSL for no reason, or NAT Gateway charges generated by network misconfigurations. Compute Optimizer optimizes individual resources in isolation - it can't reason about system-level waste.