AWS CLI compute-optimizer command

John Gakhokidze
2 min readAug 12, 2020

Per AWS webpage

AWS Compute Optimizer recommends optimal AWS Compute resources for your workloads to reduce costs and improve performance by using machine learning to analyze historical utilization metrics. Over-provisioning compute can lead to unnecessary infrastructure cost and under-provisioning compute can lead to poor application performance. Compute Optimizer helps you choose the optimal Amazon EC2 instance types, including those that are part of an Amazon EC2 Auto Scaling group, based on your utilization data.

AWS CLI added compute-optimizer command since version on 06/10/2020 2.0.21 — at least it was not available on version 2.0.14 and I was not able to find references to compute-optimizer in earlier versions.
Make sure to update your AWS CLI version, refer to AWS documentation for more details.

Use -u or --update option on install binary
sudo ./aws/install --update

Once confirmed it is 2.0.21 and higher you will see new command

Now, let us enable Compute optimizer, if has not been enabled yet

aws compute-optimizer update-enrollment-status --status Active

It is Global service — and it will collect information across all regions.
After few hours, depending of number of objects, you will start to see recommendations

Use subcommands bellow to get recommendations:

o describe-recommendation-export-jobs
o export-auto-scaling-group-recommendations
o export-ec2-instance-recommendations
o get-auto-scaling-group-recommendations
o get-ec2-instance-recommendations
o get-ec2-recommendation-projected-metrics
o get-recommendation-summaries

Originally published at on August 12, 2020.