RDS Reserved Instance Opportunity
What does ZopNight detect here?
Standing production RDS databases without reservation coverage get a 1-year RI recommendation priced against a compute-only basis. An RDS RI discounts instance-hours alone while storage, IOPS, and backup keep billing. ZopNight recommends only when the RI rate times 730 undercuts that basis; the flat 0.40 fraction fallback is dropped.
Signal and threshold
| Field | Value |
|---|---|
| Rule IDs | RC-031 |
| Category | discount |
| Severity | low |
| Metric | none — pure configuration read |
| Source | rds_reserved.go |
Where it applies
Which production databases are still on demand
- resource.Status: statusAvailable
- Production classification: isProdEnvTag OR prod-looking name; a dev/test env tag (isDevTestEnvTag) is an authoritative VETO
- skip when already covered (ReservationCoverageForUID == Reservation/SavingsPlan, or ri_covered=true tag)
- EvaluationContext: per-UID pricing, CommitmentEligible, live RI TierRates (CommitmentBreakEven)
Break-even against a compute-only basis
Concrete or abstain (discount/commitment). Savings = the real break-even net only, against a compute-only break-even basis: an RDS RI discounts the instance-hour (compute) line and nothing else, since storage, provisioned IOPS and backup sit on separate, undiscounted rate lines. But cost (PricingForUID) is the full monthly RDS bill, so feeding the whole bill into the break-even over-credits the RI with the ~77% it never touches. When the catalog’s on-demand compute rate for this SKU is known the basis is capped at min(bill, OnDemand×730); unknown OnDemand degrades to the full-bill basis (prior behaviour). CommitmentBreakEven then prices the RI at the fixed full-month rate (RI×730) and recommends only when that falls below the compute-only basis, so savings = breakEvenBasis − RI×730 (positive by construction); the headline % is derived from that live net. The rule abstains (returns nil) when break-even inputs are unavailable (live RI tier rates absent/non-positive); the prior DeriveCommitmentFraction(tiers, 0.40) flat-fraction fallback is dropped; a discount rec carries a real data-backed dollar amount or none. rdsReservedSavingsFraction=0.40 is a legacy unused const. Ported from the sibling RC-1507. Mirrors RC-014.
Buying a matching 1-year RI
- Verify this database will run for at least 12 months
- Check AWS Cost Explorer RDS RI recommendations
- Purchase a 1-year No Upfront RI matching instance class and engine
- Consider Multi-AZ RI for production databases