

# Viewing EC2 Auto Scaling group recommendations
<a name="view-asg-recommendations"></a>

AWS Compute Optimizer generates instance type recommendations for Amazon EC2 Auto Scaling groups. Recommendations for your EC2 Auto Scaling groups are displayed on the following pages of the AWS Compute Optimizer console.
+ **EC2 Auto Scaling group recommendations**

  This page lists each of your current EC2 Auto Scaling groups, their finding classifications, current instance type(s), current hourly price for the selected purchasing option, and current configuration. The top recommendation from Compute Optimizer is listed next to each of your EC2 Auto Scaling groups, and it includes the recommended instance type, the hourly price for the selected purchasing option, and the price difference between your current instance type(s) and the recommendation. Use the recommendations page to compare the current instance type(s) of your EC2 Auto Scaling groups with our top recommendation, which can help you to decide if you should upsize or downsize your instances.
+ **EC2 Auto Scaling group details**

  Depending on the specific EC2 Auto Scaling group, this page provides you with rightsizing recommendations and/or recommendations to scale in an idle group. It lists the specifications for each rightsizing recommendation such as the performance risk and hourly prices for the selected purchasing option. The details page also displays utilization metric graphs that can be used to compare the current EC2 Auto Scaling group with the projected utilization metrics for the recommendation option(s).

The recommendations are refreshed daily. They're generated by analyzing the specifications and utilization metrics of the current EC2 Auto Scaling group over the default lookback period of 14 days or a 32-day lookback period. You can extend the lookback period to 93 days if you enable enhanced infrastructure metrics. For more information, see [Enhanced infrastructure metrics](enhanced-infrastructure-metrics.md), [Rightsizing recommendation preferences](rightsizing-preferences.md), and [Metrics analyzed by AWS Compute Optimizer](metrics.md).

Keep in mind that Compute Optimizer generates recommendations for EC2 Auto Scaling groups that meet a specific set of requirements, recommendations could take up to 24 hours to be generated, and sufficient metric data must be accumulated. For more information, see [Resource requirements](requirements.md).

**Important**  
If you enable Cost Optimization Hub in AWS Cost Explorer, Compute Optimizer uses Cost Optimization Hub data, which includes your specific pricing discounts, to generate your recommendations. If Cost Optimization Hub isn't enabled, Compute Optimizer uses Cost Explorer data and On-Demand pricing information to generate your recommendations. For more information, see [Enabling Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-enable.html) and [ Cost Optimization Hub](https://docs.aws.amazon.com/cost-management/latest/userguide/cost-optimization-hub.html) in the in the *AWS Cost Management User Guide*.

**Topics**
+ [How an EC2 Auto Scaling group recommendation is generated](#asg-recommendations-generate)
+ [Finding classifications](#asg-recommendations-findings)
+ [Allocation strategy](#asg-recommendations-allocation)
+ [Estimated monthly savings and savings opportunity](#asg-savings-calculation)
+ [Idle](#asg-recommendations-idle)
+ [AWS Graviton-based instance recommendations](#asg-graviton-recommendations)
+ [Inferred workload types](#asg-inferred-workload-types)
+ [Migration effort](#asg-migration-effort)
+ [Performance risk](#asg-performance-risk)
+ [Utilization graphs](#asg-utilization-graphs)
+ [Accessing EC2 Auto Scaling group recommendations and details](asg-view-recommendations.md)

## How an EC2 Auto Scaling group recommendation is generated
<a name="asg-recommendations-generate"></a>

AWS Compute Optimizer generates recommendations for EC2 Auto Scaling groups using a three-step evaluation process designed to optimize cost and performance:

1. **Assessing whether an EC2 Auto Scaling group is idle**

   Compute Optimizer assesses whether your EC2 Auto Scaling group is idle by analyzing its resource utilization patterns over the lookback period. If all instances in an EC2 Auto Scaling group meet the idle criteria, Compute Optimizer finds your group to be idle and estimates the potential savings of scaling in the idle group. For more information, see [Idle criteria per resource](view-idle-recommendations.md#idle-criteria).

1. **Assessing the scalability of an EC2 Auto Scaling group**

   Compute Optimizer assesses the instance capacity settings and scaling policies to determine whether your EC2 Auto Scaling group is used to maintain a fixed pool of instances (with no scaling policies or disabled scaling policies), scale dynamically to meet your workload demands (using target tracking, predictive scaling, simple scaling, or step scaling policies based on CPU utilization), or follow a fixed schedule of scaling events (with scheduled scaling policies).

1. **Identifying rightsizing opportunities**

   Compute Optimizer analyzes the resource utilization and current configuration of your EC2 Auto Scaling group, including allocation strategy settings, scaling policies, instance types, pricing, and instance capacity to find suitable rightsizing opportunities.
   + For EC2 Auto Scaling groups maintaining a fixed pool of instances, Compute Optimizer recommends instance types that meet your workload requirements while maintaining the current instance count. This can improve your workload performance and provide cost savings.
   + For EC2 Auto Scaling groups that scale dynamically based on demand, Compute Optimizer recommends upgrading to newer instance generations that can provide increased savings. If memory metrics are enabled, it can also suggest memory downsizing opportunities for additional savings.
   + For EC2 Auto Scaling groups that follow a fixed schedule of scaling events, Compute Optimizer recommends instance types that can provide increased savings while meeting your resource workload requirements based on scheduled scaled capacity. This ensures that the recommendations align with the specific scaling strategies and workload demands of each group.

**Note**  
For rightsizing recommendations, Compute Optimizer doesn’t provide recommendations to modify scaling policy or instance capacity settings.

## Finding classifications
<a name="asg-recommendations-findings"></a>

The **Finding** column on the **EC2 Auto Scaling groups recommendations** page provides a summary of how each of your EC2 Auto Scaling groups performed during the lookback period.

The following findings classifications apply to EC2 Auto Scaling groups.


| Classification | Description | 
| --- | --- | 
|  Not optimized  |  EC2 Auto Scaling groups that maintain a fixed pool of instances are considered not optimized when the group is either oversized or running workloads that might cause performance issues.  EC2 Auto Scaling groups that scale dynamically or follow a fixed schedule of scaling events are considered not optimized when there are other instance types that can meet the demand at a lower cost.   | 
|  Optimized  |  An EC2 Auto Scaling group is considered optimized when all specifications of your group, such as CPU, memory, and network, meet the performance requirements of your workload. For optimized groups, Compute Optimizer might recommend a new generation instance type.  | 

## Allocation strategy
<a name="asg-recommendations-allocation"></a>

The allocation strategy columns on the EC2 Auto Scaling groups recommendations and details pages displays the current and recommended allocation strategy for the EC2 Auto Scaling group. The allocation strategy sets the order in which the EC2 Auto Scaling group deploys its mixed instance types. Compute Optimizer can find an allocation strategy to be one of the following:
+ **Prioritized** — The EC2 Auto Scaling group prioritizes the instance types based on the order you have listed in your instance type requirements.
+ **Lowest-price** — The EC2 Auto Scaling group automatically deploys the lowest priced instance types in each Availability Zone based on the current On-Demand price.
+ **No allocation strategy** — You have not set an allocation strategy for your EC2 Auto Scaling group. 
+ **Not applicable** — An allocation strategy isn’t applicable to an EC2 Auto Scaling group with a single instance type.

Compute Optimizer recommends using a **Prioritized** allocation strategy and prioritize our recommended instance types above your current instance types within your instance type requirements. Prioritizing Compute Optimizer’s recommendation enables your EC2 Auto Scaling group to deploy instance types that optimize both cost and performance. We also recommended that you keep your current instance types within your instance type requirements to make sure there is sufficient capacity to support your workloads.

You can update your EC2 Auto Scaling groups with our recommended instance types by using an instance refresh. For more information, see [Use an instance refresh to update instances in an Auto Scaling group](https://docs.aws.amazon.com//autoscaling/ec2/userguide/asg-instance-refresh.html) in the *Amazon EC2 Auto Scaling* user guide.

For more information about allocation strategies, see [Allocation strategies for multiple instance types](https://docs.aws.amazon.com//autoscaling/ec2/userguide/allocation-strategies.html#on-demand-allocation-strategy) in the *Amazon EC2 Auto Scaling* user guide.

## Estimated monthly savings and savings opportunity
<a name="asg-savings-calculation"></a>

**Estimated monthly savings (after discounts)**

This column lists the estimated monthly savings for the EC2 Auto Scaling group if you had used the recommended instance type(s) during the lookback period. After discount savings consider any Reserved Instances or Savings Plans pricing models that are active in your accounts. To receive recommendations with Savings Plans and Reserved Instances discounts, the savings estimation mode preference needs to be activated. For more information, see [Savings estimation mode](https://docs.aws.amazon.com/compute-optimizer/latest/ug/savings-estimation-mode).

**Note**  
If you don't activate the savings estimation mode preference, this column displays the default On-Demand pricing information.

**Estimated monthly savings (On-Demand)**

This column lists the approximate monthly cost savings for the EC2 Auto Scaling group if you had used Compute Optimizer’s recommendation during the lookback period, and purchased under the On-Demand instance pricing.

**Savings opportunity (%)**

This column lists the estimated monthly savings percentage of the current monthly cost that you can save by adopting the recommended instance type(s) for your EC2 Auto Scaling group. If savings estimation mode is activated, Compute Optimizer analyzes any Reserved Instances or Savings Plans pricing models that are active in your accounts to generate the savings opportunity percentage. If savings estimation mode isn’t activated, Compute Optimizer only uses On-Demand pricing information. For more information, see [Savings estimation mode](https://docs.aws.amazon.com/compute-optimizer/latest/ug/savings-estimation-mode).

### Estimated monthly savings calculation
<a name="asg-estimated-monthly-savings-calculation"></a>

For each recommendation, we calculate the cost to operate a new instance using the recommended instance type. Estimated monthly savings are calculated based on the number of running hours for current instances in the EC2 Auto Scaling group and the difference in rates between the current instance type and the recommended instance type. The estimated monthly savings for EC2 Auto Scaling groups displayed on the Compute Optimizer dashboard is a sum of the estimated monthly savings for all over-provisioned instances in EC2 Auto Scaling groups, in the account.

## Idle
<a name="asg-recommendations-idle"></a>

The **Idle** column on the **EC2 Auto Scaling groups recommendations** page displays whether your EC2 Auto Scaling group is idle or not.

**Idle criteria for EC2 Auto Scaling groups** — The group has no instances with more than 5% peak CPU utilization or 5 MB/day network utilization over the 14-day lookback period.

**Idle criteria for EC2 Auto Scaling groups that use G or P instance types** — If the group's instances meet the following criteria over the 14-day lookback period:
+ GPU isn’t actively working for more than 99% of the lookback period
+ GPU encoder isn't used for 99% or more of the instance's runtime
+ GPU memory usage at instance level is less than 5% 
+ CPU maximum utilization is less than 5%
+ Network utilization is less than 5 MB/day

## AWS Graviton-based instance recommendations
<a name="asg-graviton-recommendations"></a>

When viewing EC2 Auto Scaling group recommendations, you can view the price and performance impact of running your workload on AWS Graviton-based instances. To do so, choose **Graviton (aws-arm64)** in the **CPU architecture preference** dropdown. Otherwise, choose **Current** to view recommendations that are based on the same CPU vendor and architecture as the current instance.

**Note**  
The **Current price**, **Recommended price**, **Price difference**, **Price difference (%)**, and **Estimated monthly savings** columns are updated to provide a price comparison between the current instance type and the instance type of the selected CPU architecture preference. For example, if you choose **Graviton (aws-arm64)**, prices are compared between the current instance type and the recommended Graviton-based instance type.

## Inferred workload types
<a name="asg-inferred-workload-types"></a>

 The **Inferred workload types** column on the **EC2 Auto Scaling groups recommendations** page lists the applications that might be running on instances in the EC2 Auto Scaling group as inferred by Compute Optimizer. It does this by analyzing the attributes of instances in the EC2 Auto Scaling group, such as the instance name, tags, and configuration. Compute Optimizer can currently infer if your instances are running Amazon EMR, Apache Cassandra, Apache Hadoop, Memcached, NGINX, PostgreSQL, Redis, Kafka, or SQLServer. By inferring the applications running on your instances, Compute Optimizer is able to identify the effort to migrate your workloads from x86-based instance types to Arm-based AWS Graviton instances types. For more information, see [Migration effort](#asg-migration-effort).

**Note**  
You can't infer the SQLServer application in the Middle East (Bahrain), Africa (Cape Town), Asia Pacific (Hong Kong), Europe (Milan), and Asia Pacific (Jakarta) Regions.

## Migration effort
<a name="asg-migration-effort"></a>

The **Migration effort** column on the **EC2 Auto Scaling groups recommendations** and **EC2 Auto Scaling groups details** pages lists the level of effort that might be required to migrate from the current instance type to the recommended instance type. The following shows examples of the different levels of migration effort.
+ **Very low** — The recommended instance type has the same CPU architecture as the current instance type.
+ **Low** — Amazon EMR is the inferred workload type and an AWS Graviton instance type is recommended
+ **Medium** — A workload type can't be inferred but an AWS Graviton instance type is recommended.
+ **High** — The recommended instance type has different CPU architecture from the current instance type, and the workload has no known compatible version on the recommended CPU architecture.

For more information about migrating from x86-based instance types to Arm-based AWS Graviton instances type, see [Considerations when transitioning workloads to AWS Graviton2 based Amazon EC2 instances ](https://github.com/aws/aws-graviton-getting-started/blob/main/transition-guide.md) in the *AWS Graviton Getting Started GitHub*.

## Performance risk
<a name="asg-performance-risk"></a>

The performance risk columns on the **EC2 Auto Scaling groups details** page and the **EC2 Auto Scaling groups recommendations** page define the likelihood of the current and recommended instance type(s) running in your EC2 Auto Scaling group not meeting your workload requirements. Compute Optimizer calculates an individual performance risk score for each specification of the EC2 Auto Scaling group, including CPU, memory, EBS throughput, EBS IOPS, disk throughput, disk IOPS, network throughput, and network PPS. The performance risk of the current and recommended EC2 Auto Scaling group is calculated as the maximum performance risk score across the analyzed resource specifications.

The values range from very low, low, medium, high, and very high. A very low performance risk means that the instance type(s) is predicted to always provide enough capability. A higher the performance risk means that you should validate whether the instance type(s) running in your EC2 Auto Scaling group will meet the performance requirements of your workload before migrating your resource. Decide whether to optimize for performance improvement, for cost reduction, or for a combination of these two. For more information, see [Changing the Instance Type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html) in the *Amazon Elastic Compute Cloud User Guide*.

**Note**  
In the Compute Optimizer API, the AWS Command Line Interface (AWS CLI), and AWS SDKs, performance risk is measured on a scale of `0` (very low) to `4` (very high).

## Utilization graphs
<a name="asg-utilization-graphs"></a>

The **EC2 Auto Scaling group details** page displays utilization metric graphs for current instances in the group. The graphs display data for the analysis period. Compute Optimizer uses the maximum utilization point within each five-minute time interval to generate EC2 Auto Scaling group recommendations.

You can change the graphs to display data for the last 24 hours, three days, one week, or two weeks. If you activate the [enhanced infrastructure metrics paid feature](enhanced-infrastructure-metrics.md), you can view data from the last three months.

The following utilization graphs are displayed on the details page:


| Graph name | Description | 
| --- | --- | 
|  Average CPU utilization (percent)  |  The average percentage of allocated EC2 compute units used by instances in the EC2 Auto Scaling group.  | 
|  Average network in (MiB/second)  |  The number of mebibytes (MiB) per second received on all network interfaces by instances in the EC2 Auto Scaling group.  | 
|  Average network out (MiB/second)  |  The number of mebibytes (MiB) per second sent out on all network interfaces by instances in the EC2 Auto Scaling group.  | 
|  Instance capacity  |   This is the number of running instances with an EC2 Auto Scaling group at any given time.  | 

# Accessing EC2 Auto Scaling group recommendations and details
<a name="asg-view-recommendations"></a>

You can use one of the following procedures to access either the **EC2 Auto Scaling groups recommendations** or the **EC2 Auto Scaling group details** pages in the AWS Console.

On the **EC2 Auto Scaling groups recommendations** page you can view the recommendations for your current EC2 Auto Scaling groups. On the **EC2 Auto Scaling group details** page you can view the details of a specific group and its recommendations.

## Procedures
<a name="asg-view-process"></a>

### Accessing EC2 Auto Scaling group recommendations page
<a name="asg-view-recommendations"></a>

**To access the EC2 Auto Scaling group recommendations page**

1. Open the Compute Optimizer console at [https://console.aws.amazon.com/compute-optimizer/](https://console.aws.amazon.com/compute-optimizer/).

1. Choose **EC2 Auto Scaling groups** in the navigation pane.

   The recommendations page lists the specifications and finding classifications of your EC2 Auto Scaling groups, along with the specifications of the recommended groups. The current EC2 Auto Scaling groups listed are from the AWS Region that is currently selected, in the selected account.

1. You can perform the following actions on the recommendations page:
   + View the price and performance impact of running your workload on AWS Graviton-based instances. To do this, choose **Graviton (aws-arm64)** in the **CPU architecture preference** dropdown list. Otherwise, the **Current** (default) option displays recommendations that are based on the same CPU vendor and architecture as the current instance.
   + Filter recommendations by AWS Regions, Findings, or Finding reasons. To do this, first select the **Filter by one or more properties** text box. Then, choose the property and a value in the dropdown list that appears.
   + View recommendations for instances in another account. To do this, choose **Account**, and then select a different account ID.
**Note**  
If you're signed in to a management account of an organization and trusted access with Compute Optimizer is enabled, you can view recommendations for resources in other accounts. For more information, see [Accounts supported by Compute Optimizer](getting-started.md#supported-accounts) and [Trusted access for AWS Organizations](security-iam.md#trusted-service-access).
   + Clear the selected filters. To do this, choose **Clear filters** next to the filter.
   + Access the **EC2 Auto Scaling group details** page for a specific EC2 Auto Scaling group. To do this, choose the finding classification listed next to the desired group.

### Accessing EC2 Auto Scaling group details page
<a name="asg-viewing-details"></a>

**To access the EC2 Auto Scaling group details page**

1. Open the Compute Optimizer console at [https://console.aws.amazon.com/compute-optimizer/](https://console.aws.amazon.com/compute-optimizer/).

1. Choose **EC2 Auto Scaling groups** in the navigation pane.

1. To view the details of a recommendation, select an EC2 Auto Scaling group and choose **View details**. Or, choose the EC2 Auto Scaling group link.

   The details page lists up to three optimization recommendations for the EC2 Auto Scaling group that you chose. It lists the specifications of current instances in the EC2 Auto Scaling group, the specifications and performance risks of the recommended instances, and utilization metric graphs.

1. You can perform the following actions on the details page:
   + To view the price and performance impact of running your workload on AWS Graviton-based instances, choose **Graviton (aws-arm64)** in the **CPU architecture preference** dropdown. Otherwise, the **Current** (default) option displays recommendations that are based on the same CPU vendor and architecture as the current instance.
   + Activate the enhanced infrastructure metrics paid feature to extend the metrics analysis look-back period for the Auto Scaling group you're viewing up to three months (compared to the 14-day default). For more information, see [Enhanced infrastructure metrics](enhanced-infrastructure-metrics.md).
   + The utilization metric graphs for your current instance are displayed at the bottom of the page. The solid blue line is the utilization of current instances in the Auto Scaling group.
   + To change the time range of the graphs, choose **Time Range**, and then choose **Last 24 hours**, **Last 3 days**, **Last week**, or **Last 2 weeks**. If you activate the [enhanced infrastructure metrics recommendation preference](enhanced-infrastructure-metrics.md), you can also choose **Last 3 months**. Choosing a shorter time range displays the data points at a higher granularity, which provides a higher level of detail.