Skip to main content
rightsizing · aws

Running m5, c5 and r5 EC2 instances whose same-size m6i, c6i or r6i successor costs less

resource types
1
rule IDs covered
1
severity
low

What does ZopNight detect here?

ZopNight flags running `m5`, `c5` and `r5` EC2 instances when the same-size `m6i`, `c6i` or `r6i` successor has a lower On-Demand rate in the instance's Region. The saving is that rate gap applied to the instance's monthly cost, shown only above $5, and instances averaging 10% CPU or more over 30 days are left alone.

Signal and threshold

How ZopNight evaluates Running m5, c5 and r5 EC2 instances whose same-size m6i, c6i or r6i successor costs less.
Field Value
Rule IDsRC-092
Categoryrightsizing
Severitylow
MetricCPUUtilization
Thresholdsuccessor rate lower, CPU < 10% or unmeasured
Evaluation window30d
SourceZopNight
Permissions usedec2:DescribeInstances · cloudwatch:GetMetricStatistics

Newer Intel families give more for the same or less

AWS says M6i instances deliver up to 15% better price performance than M5, and makes the same claim for C6i against C5 and R6i against R5. The sizes line up one for one: an m6i.xlarge has the same 4 vCPUs and 16 GiB as an m5.xlarge, on the same x86 architecture.

Whether the hourly price drops depends on the Region. In US East (N. Virginia) the current On-Demand Linux rates are identical for both generations: m5.large and m6i.large are both $0.096 an hour, and c5.large and c6i.large both $0.085. There the move buys performance, not a lower bill, and this rule stays silent. It reports a saving only where the successor is listed cheaper.

Listing m5, c5 and r5 instances

Terminal window
aws ec2 describe-instances \
--filters Name=instance-state-name,Values=running Name=instance-type,Values='m5.*','c5.*','r5.*' \
--query 'Reservations[].Instances[].[InstanceId,InstanceType,Placement.AvailabilityZone]' \
--output table

Then compare the two rates for your Region on the On-Demand pricing page.

When an instance qualifies

  1. The instance is running and its type is exactly an m5, c5 or r5 size. Variants such as m5a, m5d or r5n are not matched.
  2. It is not capacity launched and managed by Amazon ECS Managed Instances.
  3. If ZopNight has CPU data, the 30-day average is below 10%. Instances with no CPU data still qualify.
  4. Memory from the CloudWatch agent does not show heavy use; high memory blocks the change.
  5. Both On-Demand rates are known, the successor’s is lower, and the saving is at least $5 a month.

Instances outside this rule

Busier instances, at 10% average CPU or more, are not flagged here. Older pre-Nitro families such as m4, c4 and r4 belong to Non-Nitro EC2 Instance, Migrate for Better Performance, and a move to ARM is priced by Graviton Migration Opportunity.

The successor rate as the saving

Terminal window
saving = monthly cost x (1 - successor hourly rate / current hourly rate)

Both rates are live On-Demand catalog prices for the same size. No assumed percentage is used, so an equal price means no finding.

Moving to the newer family

  1. Check any Reserved Instances or Savings Plans that the current family relies on.
  2. Stop the instance; AWS requires a stop to change the type, and a non-Elastic public IPv4 address is released.
  3. Change the type: aws ec2 modify-instance-attribute --instance-id i-0123456789abcdef0 --instance-type Value=m6i.xlarge
  4. Start it and watch the application for 48 hours.

See it fire on your bill.

Connect an account read-only. The first findings land in minutes.

472 rule families across 353 resource types on 22 platforms. Every threshold, metric, and IAM action is documented on these pages before you grant anything.

472 rule families documented
353 resource types covered
read-only default access level
Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console· Multi-cloud automation· Production-ready in 30 min· SOC 2 · ISO 27001· 20–60% off the bill, first month· 4 platforms · 1 console·