Introduction
Welcome readers! In this blog, we will learn about AWS Compute Optimizer, a service that examines your AWS resources' configuration and utilization information. It determines whether your resources are optimal and generates optimization recommendations to lower costs and increase workload performance. Compute Optimizer also shows graphs of recent usage metric history data as well as anticipated utilization for recommendations, which you may use to determine which recommendation offers the best price-performance trade-off. The study and visualization of your usage patterns can assist you in determining when to transfer or shrink your running resources while still meeting your performance and capacity goals.
Supported resources and requirements
AWS Compute Optimizer recommends the following resources:
-
Amazon Elastic Compute Cloud (Amazon EC2) instances
-
Amazon EC2 Auto Scaling groups
-
Amazon Elastic Block Store (Amazon EBS) volumes
- AWS Lambda functions
The resources must meet the following Amazon CloudWatch metric and resource-specific requirements for receiving recommendations.
CloudWatch metric requirements
Compute Optimizer requires at least 30 hours of CloudWatch metric data from your resource to provide recommendations.
Allow extra time for the recommendations to appear in the Compute Optimizer console if your resources don't currently have adequate metric data.
Amazon EC2 instance requirements
Compute Optimizer makes suggestions for a variety of instance kinds. Although you can run unsupported instance types alongside supported ones, Compute Optimizer will only make suggestions for supported instances. Not all instance types are available in every AWS Region where Compute Optimizer is accessible. See Finding an Amazon EC2 instance type in the Amazon EC2 User Guide for Linux Instances for a list of supported Regions for each of these instance kinds.
Auto Scaling group requirements
For Auto Scaling groups that run supported instance types, Compute Optimizer generates suggestions. The supported instance types are listed in the preceding Amazon EC2 instance requirements section.
Additionally, the Auto Scaling groups must meet the following requirements:
-
Configured to run a single instance type (no mixed instance types)
-
Same values for desired, minimum, and maximum capacity (for example, an Auto Scaling group with a fixed number of instances).
-
No scaling policy attached.
-
No overrides configured
Compute Optimizer generates recommendations for instances in Auto Scaling groups that meet all of these configuration requirements.
Amazon EBS volume requirements
Compute Optimizer offers suggestions for EBS volume types associated to an instance that are General Purpose SSD (gp2 and gp3) and Provisioned IOPS SSD (io1 and io2). The above-described volume types also provide recommendations from General Purpose SSD (gp2) volumes to General Purpose SSD (gp3) volumes.
When a volume is linked to an instance, data is only reported to CloudWatch. To achieve the metric data requirement specified previously in this article, the volume must be linked to an instance for at least 30 hours.
Lambda function requirements
Compute Optimizer generates memory size recommendations only for Lambda functions that meet the following requirements:
- Configured memory is less than or equal to 1,792 MB
- Functions are invoked at least 50 times in the last 14 days
Functions that don't meet these requirements are given a finding of Unavailable. The reason code of Inconclusive applies to functions that have configured memory greater than 1,792 MB. Insufficient data applies to functions that have been invoked less than 50 times in the last 14 days.
Functions with a finding of Unavailable don't appear in the Compute Optimizer console and don't receive recommendations.