CostLensLow Reserved Instance Utilization

Low Reserved Instance Utilization

CostLens flags Reserved Instances that are sitting partly unused — you're paying for committed EC2 capacity that isn't being consumed.

Updated July 20262 min read

Coverage tells you whether you've bought enough Reserved Instances. Utilization tells you whether the RIs you already bought are actually being used. An RI bills for its full committed capacity whether or not you consume it, so low utilization is wasted committed spend — money you've already paid for benefit you aren't getting.

Advisory only

This check can't be auto-fixed — a Reserved Instance is a purchase you've already made. The available actions are to stop renewing the unused portion, lean on instance-size flexibility to absorb it into other usage, or adjust your next purchase.

How it works

CostLens measures your RI utilization

Queries AWS Cost Explorer's GetReservationUtilization for the previous full calendar month. Utilization is the percentage of purchased RI hours that were actually consumed by matching usage.

Applies the utilization threshold

Accounts with utilization below 90% and at least $10/month of unused committed spend are flagged. Accounts with no RIs, or with negligible unused cost under that threshold, are skipped entirely.

Estimates the waste

The finding's estimated savings is AWS's own RICostForUnusedHours for the period — the dollar amount you paid for RI hours nothing ran against.

What to do

Step 1 — Understand why utilization is low

Common causes:

  • The instance family/size the RI was purchased for is no longer running, or runs fewer hours than before
  • A workload was migrated, resized, or decommissioned after the RI was purchased
  • The RI's Availability Zone or platform doesn't match current usage (Zonal RIs are stricter than Regional)

Step 2 — Absorb the unused capacity where possible

  • Convertible / Regional RIs can apply across instance sizes within the same family — check whether shifting a workload to a matching size restores utilization.
  • If nothing in your fleet can use the reserved capacity, there's nothing to reclaim mid-term; the commitment runs until expiry.

Step 3 — Fix the next purchase, not this one

Since an active RI can't be cancelled, the real lever is your next purchase decision:

  • Don't renew the unused portion at the same size/quantity.
  • Consider a Compute Savings Plan instead of a new RI — it applies automatically across instance families, sizes, and Regions, so utilization issues from workload drift are far less likely. See Savings Plan Coverage.

Step 4 — Re-check after your usage stabilizes

CostLens re-measures utilization on every billing sync using a rolling calendar-month window, so the finding clears on its own once usage against the RI recovers above 90%.

Severity levels

Severity is based on the estimated monthly waste (RICostForUnusedHours), using the same scale as every other CostLens check:

SeverityEstimated monthly savings
critical>$500
high$100–$500
medium$20–$100
low<$20

Required IAM permissions

Included in the CostLens IAM policies from AWS Accounts:

ce:GetReservationUtilization

This is an account-level recommendation

RI utilization is measured across the entire AWS account, not per individual instance — AWS's utilization API reports one aggregate figure per account per period. The recommendation appears once per account rather than once per Reserved Instance.

CostLens
Previous
Reserved Instance Coverage
CostLens
Next
S3 Intelligent-Tiering