For the complete documentation index, see llms.txt. This page is also available as Markdown.

Auto Scaling

Learn how Rightsize sizes the instance type of your Auto Scaling groups.

On AWS accounts, Rightsize sizes the instance type of each Auto Scaling group. It recommends a smaller or cheaper instance type for the group, or a larger one when the group runs near capacity.

What Rightsize Recommends

An Auto Scaling group runs a set of EC2 instances. AWS adds or removes instances to keep the group within the minimum and maximum that you set, so AWS already manages the number of instances. If you stop an instance in a group, AWS replaces it to keep the group at its desired count. For these reasons, Rightsize recommends a different instance type for all the instances in the group. It does not change the group's desired count, and it does not recommend a stop. Rightsize does not mark a group as idle. A group with very low usage is sized in the same way as any other group.

The savings are the price difference per instance, multiplied by the current number of instances in the group, up to the group's compute cost. For a group that runs more than one instance type, Rightsize uses the type of the instance that costs the most.

Rightsize does not suggest a burstable instance type (t2, t3, t3a, or t4g) as a target.

How Rightsize Sizes a Group

Rightsize identifies the instances in a group from the aws:autoscaling:groupName tag in your billing data. AWS adds this tag to every instance in a group. Make sure that this tag is active as a cost allocation tag in the Billing and Cost Management console in AWS. An instance without the tag in your billing data is sized on its own, on the EC2 tab in Rightsize.

Rightsize reads these CloudWatch metrics across the group over the lookback window: CPU utilization, network out, and memory used.

Memory data comes from the CloudWatch agent. Without the agent, Rightsize can lower the vCPU count but never lowers memory. The panel then shows "Sized on CPU only. Install the CloudWatch agent to include memory."

The Sizing Target

Rightsize measures CPU and memory at the CPU percentile setting, which is P99 by default. A candidate instance type fits when that measured usage, scaled to the candidate's vCPU and memory, stays at or below the target:

base target = 100% − headroom
target      = base target × max(volatility floor, 1 − volatility sensitivity × CoV)

CoV is the coefficient of variation of the usage: its standard deviation divided by its mean. A spiky workload has a higher CoV. A higher CoV lowers the target, so the recommended size has more spare capacity.

For example, with the Balanced defaults (CPU headroom 20%, volatility sensitivity 0.5, volatility floor 0.5) and a CoV of 0.4:

You can change the CPU percentile, the headroom, and the volatility values in Auto Scaling Settings, below.

Rightsize then recommends the cheapest instance type that fits. A candidate with fewer vCPUs must also pass the peak load check: the highest CPU utilization in the window, scaled to the candidate, stays below 95%. When this check excludes a smaller type that would otherwise have been recommended, Rightsize adds the reason Limited by peak load.

The network and storage checks that apply to EC2 instances do not apply to a group. For a group, CloudWatch adds up the network traffic of all its instances, so the total does not show what one instance needs. Rightsize does not read storage metrics for a group.

Larger Instance Types

Rightsize recommends a larger instance type when daily average usage exceeds the base target on at least 25% of observed days. This must happen on at least two days. The finding state is Under provisioned.

Commitments

When a commitment covers the instances in a group, the recommendation depends on the commitment:

  • Reserved Instances that do not allow a size change - AWS allows a size change only on Linux/UNIX Reserved Instances with default tenancy. Reserved Instances for Windows, RHEL, SUSE, or SQL Server, and Reserved Instances with Dedicated tenancy, do not allow one. For these, Rightsize recommends no other instance type. It does the same when a commitment covers the group and Rightsize cannot identify it. When this blocks a type that would otherwise have been recommended, Rightsize adds the reason Review Reserved Instance coverage before resizing.

  • Linux/UNIX Reserved Instances with default tenancy - Rightsize can recommend a smaller type in the same family. When it does, Rightsize adds the same reason. A regional Reserved Instance applies its discount across all sizes in the family automatically. A zonal Reserved Instance needs a modification to cover the new size.

  • EC2 Instance Savings Plans - The discount applies only within one instance family, so Rightsize keeps the recommendation in the current family. When this blocks a type in another family that would otherwise have been recommended, Rightsize adds the reason Commitment limits sizing to this family.

  • Compute Savings Plans - The discount applies across families. Rightsize can recommend a type in another family only when it has the committed rate for every candidate type in the other families. Otherwise, it keeps the recommendation in the current family.

Using the Auto Scaling Tab

The summary metrics on the Auto Scaling tab are Available Savings, Idle, Optimized, Not Optimized, Tagged, and Untagged. The Idle tile always shows 0, because Rightsize does not mark a group as idle.

Click a row's AI Suggestion button to open the group's panel:

  • Current State - the group name, and its instance type.

  • Noros Recommendation - the recommended instance type.

  • Monthly Savings - the estimated saving. For a group covered by a commitment, the card also shows "Estimated at your commitment's blended rate."

  • Findings - the reasons behind the recommendation, as chips.

Below the panel sections, a chart shows the group's utilization history.

Auto Scaling Settings

In Settings, open Per-service overrides and select EC2 & Auto Scaling. The same settings apply to EC2 instances. An empty field uses the account default.

Setting
What it controls
Balanced default

CPU percentile

The usage percentile Rightsize sizes against. P99 excludes the highest 1 percent of readings.

P99

CPU headroom

Spare CPU kept above CPU usage at the CPU percentile. A higher value gives a larger, safer size.

20%

Memory headroom

Spare memory kept above memory usage at the CPU percentile. A higher value gives a larger, safer size.

20%

Volatility sensitivity

How much variable usage lowers the sizing target. 0 does not lower it. 1 lowers it the most.

0.5

Volatility floor

The lowest value the target can be lowered to. 0.5 keeps at least half of the base target.

0.5

Min savings percent

Rightsize does not recommend a smaller or cheaper type that saves less than this share of what the group costs today. The group shows as Optimized instead. Larger types are not affected.

5%

Auto Scaling Finding Reasons

Rightsize lists the reasons behind each finding. Check these before you act on a recommendation, to understand what it is based on.

Reason
Meaning

Group Overprovisioned / Underprovisioned

The finding is based on usage across the group.

Volatile usage

CPU usage varies, so Rightsize lowered the sizing target.

Limited by peak load

A smaller size passed the CPU percentile test, but the highest peak in the window exceeds its capacity.

Limited by missing memory data / No memory metrics

No memory agent is reporting data, so the recommendation is bounded by CPU alone. The group's panel links to the install guide for the CloudWatch agent.

Burst credits exhausted

The current type is burstable (t2, t3, t3a, or t4g), and daily average usage exceeded the base target on at least 25% of observed days and on at least two days. This indicates that the group needs a larger instance type.

Commitment limits sizing to this family

Because of the covering commitment, Rightsize keeps the recommendation in the current family. See Commitments, above.

Review Reserved Instance coverage before resizing

Resizing this group would change what its Reserved Instance covers. See Commitments, above.

GPU not sized

The instance type has GPU accelerators. Rightsize sizes on CPU, memory, and network, so it does not size GPU instances.

Last updated

Was this helpful?