## TL;DR
Retired means the discount is gone: the term ended, you sold the reservation, or a modification replaced it with new reservations. The on-demand charges are correct; what you fix is coverage going forward, not the bill. Replace the coverage with a new RI or savings plan sized to current usage.

```text
AWS reserved instance shows "retired" status but the bill still charges on-demand rates
```

## Steps
1. Describe the reservation and check its state and end date: `aws ec2 describe-reserved-instances --reserved-instances-ids [RI_ID]`.
   Expected: state is retired and the end date has passed, or the reservation was superseded.
2. Check whether it was modified into new reservations. A successful modification retires the original and creates replacements with the same end date and a $0 fixed price.
   Expected: you find active child reservations covering the same term, or you confirm there are none.
3. Check the RI Marketplace sale history if your team sells reservations.
   Expected: a completed sale listing explains the retirement.
4. In Cost Explorer, look at RI coverage for that instance family and region over the last two weeks.
   Expected: coverage drops to zero right when the retirement happened, and the same usage now shows as unblended on-demand cost.
5. Buy replacement coverage sized to current steady-state usage, not the historical peak: a new RI or a savings plan. Confirm coverage recovers in the utilization report within a day.
   Expected: the on-demand line shrinks and the discount line reappears.

## Use this when
- A reservation shows retired and the bill charges on-demand for the same usage.
- You need to explain to finance why the discount vanished.
- An agent's coverage report suddenly drops for one instance family.

## Not for this skill when
- The RI is ACTIVE but not applying - that is a scope, AZ, platform, or tenancy mismatch.
- The bill shows NetSavingsPlanRecurringFee - that is a savings plan line item, not an RI.

## Variant phrasings
- Reserved instance expired but still being charged on demand
- EC2 RI retired status meaning
- RI term ended on demand charges appeared

## Why it happens
Retired is the terminal state: term expired, marketplace sale completed, or modification consolidated. AWS keeps the record visible for history, but no pricing benefit attaches to it. Usage that matched it falls back to on-demand rates the hour the term ends.

## Edge cases
- Modified reservations show $0 fixed price on the new record; the retired original keeps its old dates, which confuses audits.
- Check the discount-sharing preference in the payer account - coverage bought in one account may not share the way the team assumes.
- Set a calendar reminder 30 days before each term ends; most retirements surprise teams that bought the RI two years ago and forgot.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_L62wHtiIoNu9Lep1LHxWiA
