Supported resources and requirements - AWS Compute Optimizer

Supported resources and requirements

AWS Compute Optimizer generates recommendations for 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

To receive recommendations, the resources must meet the following Amazon CloudWatch (CloudWatch) metric and resource-specific requirements.

CloudWatch metric requirements

To generate recommendations, Compute Optimizer requires at least 30 consecutive hours of CloudWatch metric data from your resource.

If your resources don't have enough metric data, allow for more time before the recommendations start appearing in the Compute Optimizer console. For more information about the metrics that CloudWatch analyzes, see Metrics analyzed by AWS Compute Optimizer.


Lambda functions don't require 30 consecutive hours of metric data. For more information, see Lambda function requirements.

Suppose that your resources have enough metric data, but the recommendations aren't showing up. This probably means that Compute Optimizer is still analyzing your resources. It can take up to 12 hours to complete the analysis. After the analysis is complete, resource recommendations appear in the Compute Optimizer console.

Amazon EC2 instance requirements

Compute Optimizer generates recommendations for several instance types. You can run unsupported instance types in addition to supported types. However, Compute Optimizer only generates recommendations for supported instances. Not all instance types are available in every AWS Region that Compute Optimizer is available in. To determine the supported Regions for each of these instance types, see Finding an Amazon EC2 instance type in the Amazon EC2 User Guide for Linux Instances.


Compute Optimizer doesn't generate recommendations for Spot Instances.

The following table shows which instance types Compute Optimizer supports.

Instance type Supported by Compute Optimizer?
A1 No
C1 Yes
C3 Yes
C4 Yes
C5 Yes
C5a Yes
C5ad Yes
C5d Yes
C5n Yes
C6a Yes
C6g Yes
C6gd Yes
C6gn Yes
C6i Yes
D2 Yes
D3 Yes
D3en Yes
DL1 No
F1 No
G2 No
G3 No
G4ad No
G4dn No
G5 No
G5g No
H1 Yes
High memory (u-*) No
Hpc6a No
I2 Yes
I3 Yes
I3en Yes
Im4gn Yes
Inf1 No
Is4gen Yes
M1 Yes
M2 Yes
M3 Yes
M4 Yes
M5 Yes
M5a Yes
M5ad Yes
M5d Yes
M5dn Yes
M5n Yes
M5zn Yes
M6a Yes
M6g Yes
M6gd Yes
M6i Yes
Mac1 No
P2 No
P3 No
P3dn No
P4d No
R3 Yes
R4 Yes
R5 Yes
R5a Yes
R5ad Yes
R5b Yes
R5d Yes
R5dn Yes
R5n Yes
R6g Yes
R6gd Yes
R6i Yes
T1 Yes
T2 Yes
T3 Yes
T3a Yes
T4g Yes
VT1 No
X1 Yes
X1e Yes
X2gd Yes
X2idn No
X2iedn No
X2iezn No
z1d Yes

Auto Scaling group requirements

Compute Optimizer generates recommendations for Auto Scaling groups that run supported instance types. The supported instance types are listed in the preceding Amazon EC2 instance requirements section.

Additionally, the Auto Scaling groups must meet the following requirements:

  • Run only a single instance type (no mixed instance types).

  • The values for desired, minimum, and maximum capacity are all the same (for example, an Auto Scaling group with a fixed number of instances).

  • No scaling policy is attached.

  • No overrides are configured.

Compute Optimizer generates recommendations for instances in Auto Scaling groups that meet all of these configuration requirements.

Amazon EBS volume requirements

Compute Optimizer generates recommendations for General Purpose SSD (gp2 and gp3) and Provisioned IOPS SSD (io1 and io2) EBS volume types that are attached to an instance. Compute Optimizer also generates recommendations from General Purpose SSD (gp2) volumes to General Purpose SSD (gp3) volumes from the previously mentioned volume types.

Data is only reported to CloudWatch when the volume is attached to an instance. The volume must be attached to an instance for at least 30 consecutive hours. This is to meet the metric data requirement described earlier in this guide.

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 fewer 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.