Skip to main content
discount · aws

EC2 Reserved Instance Opportunity

resource types
1
rule IDs covered
1
severity
low

What does ZopNight detect here?

Reserved Instance opportunities fire on production EC2 boxes lacking any commitment coverage. ZopNight prices the 1-year no-upfront RI at its live rate times 730 hours and recommends only when that undercuts the actual monthly cost; savings equal the difference. Dev/test environment tags veto, Spot lifecycles abstain, and the old 0.35 flat-fraction fallback is gone.

Signal and threshold

How ZopNight evaluates EC2 Reserved Instance Opportunity.
Field Value
Rule IDsRC-014
Categorydiscount
Severitylow
Metricnone — pure configuration read
Sourcereserved_ec2.go

Env tags, spot lifecycle, and existing coverage

  • resource.Status: running
  • already-covered skip: evalCtx.ReservationCoverage[UID] == “Reservation”/“SavingsPlan” (billing-derived) is the primary signal; tag: ri_covered=true / tag: savings_plan=true remain as the fallback check when billing data is unavailable
  • env tag (env/environment/stage/tier): prod is now established by an AUTHORITATIVE env tag via isProdEnvTag, with the prodPatterns name-substring kept only as the no-env-tag fallback; a dev/test env tag (isDevTestEnvTag) is an authoritative veto that suppresses the long-term RI commitment even on a prod-named box (item PAP002, reserved_ec2.go:83-97). The prior name-substring-only classification fired an assertive RI commitment off a customer-controlled label with no producer behind it.
  • Spot lifecycle veto (verification sweep S1, 2026-07-19): the rule abstains via the shared isSpotLifecycle(resource) guard (Metadata lifecycle/purchase_type == spot, tag fallback) placed immediately after the reservation-coverage skip. RI/on-demand commitment pricing does not apply to interruptible Spot capacity; when the spot rate is absent the aggregator prices the box at the on-demand rack rate (QualityFallbackOnDemandNoSpotRate), so CommitmentBreakEven would otherwise “pass” against spend the customer is not paying and recommend a 1-year lock-in that can increase the bill. Siblings spot_adoption/savings_plan already carried this guard; RC-014 did not.

The Reserved Instance break-even net

Concrete or abstain (discount/commitment). Savings are the real break-even net, nothing else. CommitmentBreakEven (W5-R02) prices the RI at the 1-year No Upfront rate AWS publishes held for a full month (RI1yrNoUpfront×730) and recommends only when that is less than the resource’s actual current monthly cost (cost, already rack-based + uptime-adjusted), so savings = currentCostUSD − RI1yrNoUpfront×730 (positive by construction) and the headline % is savings/cost*100 from that live net. The rule abstains (returns nil) when break-even inputs are unavailable (ok==false): since cost > 0 is already guaranteed, ok==false strictly means live RI tier rates are absent or non-positive. The prior cost × DeriveCommitmentFraction(tiers, riSavingsFraction) fallback always collapsed to the hardcoded 0.35 when the RI rate was absent or zero, a fabricated saving with no rate behind it, and is dropped: a discount (cost-driven) rec carries a real, data-backed dollar amount or none at all (user directive 2026-06-27). riSavingsFraction=0.35 is now a legacy const retained only so cross-rule test fixtures keep compiling; it is no longer used by the rule logic. Mirrors RC-1506 / RC-031 / RC-1507.

Purchasing a 1-year Standard RI

  1. Verify this instance will run for at least 12 months
  2. Check AWS Cost Explorer RI recommendations
  3. Purchase a 1-year Standard RI for this instance type and region
  4. Consider Convertible RI for flexibility

See it fire on your bill.

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

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

417 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·