Production EC2 instances where a 1-year Reserved Instance beats their current bill
What does ZopNight detect here?
ZopNight suggests a 1-year Standard Reserved Instance for a running production EC2 instance with no commitment coverage when the live No Upfront RI rate, over 730 hours, is below its current monthly cost. The instance also needs 60 days of history, 70% uptime and at least 30% average CPU or memory. Reserved Instances discount up to 72%.
Signal and threshold
| Field | Value |
|---|---|
| Rule IDs | RC-014 |
| Category | discount |
| Severity | low |
| Metric | CPUUtilization |
| Threshold | 60d history, 70% uptime, 30% utilization |
| Evaluation window | 60d |
| Source | ZopNight |
| Permissions used | ec2:DescribeInstances · ec2:DescribeReservedInstances · ec2:DescribeReservedInstancesOfferings · ce:GetReservationCoverage |
Where it applies
How a Reserved Instance lowers the rate
A Reserved Instance is not a machine. It is a billing discount applied to On-Demand usage that matches its attributes, such as instance type and Region. AWS lists Reserved Instances at up to 72% off On-Demand, best suited to steady-state usage.
The offering class matters. A Standard Reserved Instance gives a bigger discount than a Convertible one, but it cannot be exchanged; a Convertible RI can be swapped during its term for another with different attributes.
Checking offerings and coverage
aws ec2 describe-reserved-instances-offerings --instance-type m5.large \ --offering-class standard --product-description "Linux/UNIX" \ --offering-type "No Upfront"
aws ce get-reservation-coverage \ --time-period Start=2026-08-01,End=2026-09-01The first returns term, fixed and recurring prices for matching RIs. The second shows how many instance hours existing reservations already cover.
What an instance must show
- It is running and is not an ECS Managed Instance.
- Billing shows no Reserved Instance or Savings Plan covering it, and it carries no
ri_covered=trueorsavings_plan=truetag. - It is not a Spot Instance.
- It is production. An environment tag decides first; a dev or test tag rules it out even if the
name says otherwise. With no environment tag, a name containing
prod,production,liveorprdqualifies. - Its monthly cost comes from your bill.
- It has at least 60 days of history, runs at least 70% of the time and averages 30% or more CPU or memory.
Instances the rule passes over
Part-time, short-lived or lightly used instances are left to EC2 Rightsizing or scheduling, since locking them in for a year would waste the commitment. With no live 1-year RI rate, no finding is shown; ZopNight no longer falls back to an assumed discount. An RI that would cost more than the instance costs today is never suggested.
The break-even calculation
RI monthly cost = 1-year No Upfront Standard RI hourly rate x 730saving = current monthly cost - RI monthly costThe saving is positive by construction, and the percentage shown is that saving divided by the current cost. Where a Compute Savings Plan or Spot move also fits, only the better one is kept; see EC2 Compute Savings Plan Opportunity.
Buying the reservation
- Confirm the instance will keep running on the same type and Region for at least 12 months.
- Compare the suggestion with the Cost Explorer RI recommendations for the account.
- Buy a 1-year Standard RI matching the instance type, platform, tenancy and Region, or a Convertible RI if the type may change.
- Check coverage in the next billing cycle to confirm the discount is applied.