Skip to content

Optimizing AWS Reserved Instances: Understanding Utilization and Coverage

8 minute read
Content level: Advanced
1

This article serves as a comprehensive guide for optimizing AWS costs using Reserved Instances (RIs) by focusing on two crucial metrics: RI Utilization and RI Coverage. It defines RI Utilization as the percentage of purchased RI hours actually used, emphasizing a goal of 100% to avoid wasted spend. RI Coverage is explained as the percentage of total eligible instance hours covered by an RI discount, with a high coverage indicating maximized savings over On-Demand rates.

AWS Reserved Instances (RIs) are a powerful way to reduce your cloud costs for predictable workloads. But simply purchasing an RI isn't enough; to truly optimize your spending, you need to understand and monitor two key metrics: RI Utilization and RI Coverage. Let's dive into what each means and how to track them using AWS Cost Explorer.

What is RI Utilization?

RI Utilization measures how much of your purchased Reserved Instance capacity you are actually using. It tells you if you're getting the full value out of the RI you've committed to.

  • Goal: 100% utilization.
  • Why: If your utilization is less than 100%, it means you've paid for RI capacity that wasn't matched by running instances, leading to "idle" or "wasted" RI hours. You are paying for something you're not using.
  • Formula: Enter image description here

Example:

Imagine you purchase one (1) 1-year Standard EC2 RI for a t3.medium Linux instance in the US East (N. Virginia) region. For a standard 30-day month, this RI provides you with 720 purchased hours (1 instance * 24 hours/day * 30 days).

  • Scenario A: High Utilization

    • You run a t3.medium Linux instance continuously for the entire month (720 hours).
    • RI Usage Hours: 720 hours
    • Total RI Purchased Hours: 720 hours
    • Utilization: (720/720)×100%=100%
    • Explanation: This is ideal! You've perfectly utilized your RI, meaning every hour you paid for at the discounted RI rate was used by a matching running instance.
  • Scenario B: Low Utilization

    • You run a t3.medium Linux instance for only 500 hours during the month.
    • RI Usage Hours: 500 hours (as only 500 hours of the RI were applied)
    • Total RI Purchased Hours: 720 hours
    • Utilization: (500/720)×100%≈69.4%
    • Explanation: Your utilization is low. You paid for 720 hours, but only used 500 hours. The remaining 220 hours of your RI commitment for that month were wasted.

What is RI Coverage?

RI Coverage measures what percentage of your total eligible instance-hours are covered by a Reserved Instance discount. It tells you how much of your overall compute usage is benefiting from the lower RI rates, as opposed to running at the more expensive On-Demand rates.

  • Goal: Maximize coverage for your stable, predictable workloads.

  • Why: A low coverage percentage indicates that a significant portion of your eligible instance usage is running On-Demand, which means you're missing out on potential cost savings.

  • Formula: Enter image description here

Example:

Let's continue with the t3.medium Linux instance example for a 30-day month (720 hours).

You own one (1) 1-year Standard EC2 RI for a t3.medium Linux instance (720 purchased hours).

  • Scenario A: High Coverage

    • Your team actually ran t3.medium Linux instances for a total of 750 hours in that month.

    • RI Usage Hours: 720 hours (The RI covers up to its purchased capacity).

    • Total Instance Usage Hours: 750 hours (All t3.medium Linux usage for the month).

    • Coverage: (720/750)×100%=96%

    • Explanation: Your coverage is high. Most of your t3.medium Linux instance usage (96%) benefited from the RI discount, with only a small portion running On-Demand. This is a very efficient use of your RI.

  • Scenario B: Low Coverage

    • Your team actually ran t3.medium Linux instances for a total of 1200 hours in that month.

    • RI Usage Hours: 720 hours (The RI still covers up to its purchased capacity).

    • Total Instance Usage Hours: 1200 hours (All t3.medium Linux usage for the month).

    • Coverage: (720/1200)×100%=60%

    • Explanation: Your coverage is low. A significant portion of your t3.medium Linux instance usage (480 hours, or 1200−720) ran at On-Demand rates. This indicates an under-commitment, meaning you have a substantial opportunity to save more by purchasing additional RIs to cover this higher steady-state usage.

Important Note: Reserved Instance Hourly Application and Aggregate Reporting

It's crucial to understand that AWS Reserved Instances are applied on a strictly hourly basis to matching instance usage, and any unused RI hours from one hour do not roll over to compensate for usage in subsequent hours. This means if your purchased RI capacity for a particular hour is not matched by a running instance (or covered by size flexibility for eligible RIs), that specific RI hour is effectively forfeited. Conversely, if your instance usage exceeds your RI capacity in a given hour, the excess will be charged at the standard On-Demand rates.

The formulas for RI Utilization and RI Coverage provided in this article (and within AWS Cost Explorer) represent the aggregate outcome of these granular hourly calculations over a selected period (e.g., daily, monthly). While these formulas accurately summarize the overall performance of your RIs, it's important to note that they provide the most straightforward interpretation in an ideal situation where eligible services run with consistent usage from the start of the month to the end, with no interruptions in any hour of that month. The "RI Usage Hours" and "Total Instance Usage Hours" reflect the cumulative effect of all individual hours.

Example of Hourly Forfeiture with Dynamic Usage:

Imagine you purchase one (1) 1-month RI for a t2.micro Linux instance (providing 720 discounted hours for the month).

  • For the first 699 hours of the month, you run no t2.micro instances. Your RI sits idle for these 699 hours, and those 699 RI hours are effectively wasted – they do not accumulate.

  • On the 700th hour of the month, you suddenly launch 20 t2.micro instances.

  • For each of the remaining hours in the month (from hour 700 to 720, approximately 20 hours), your single RI can only cover one t2.micro instance per hour.

  • Therefore, for these 20 hours, one instance will receive the RI discount, while the remaining 19 instances (per hour) will be charged at the more expensive On-Demand rate.

  • Your overall RI utilization for the month will be very low (e.g., (20 hours×1 instance)/(720 total RI hours)×100%≈2.7%), and your coverage will also be low during the periods of high On-Demand usage.

This hourly application underscores the importance of aligning your RI purchases as closely as possible to your consistent, predictable hourly usage to maximize the benefit and avoid paying for idle commitment.

Why Both Metrics Matter

  • High Utilization (e.g., 100%): This is the ideal state. It means your Reserved Instances are perfectly aligned with your running instance usage, and you are not wasting any of your committed RI hours. You are maximizing the value of your existing RI purchase.

  • Low Utilization (e.g., < 80%): Indicates that you have purchased more RI capacity than you are currently using. This leads to wasted spend, as you are paying for RI hours that are not being applied to any running instances. This can happen due to unexpected workload reductions, instances being terminated early, or an initial over-purchase of RIs. Addressing low utilization is crucial to stop paying for idle capacity.

  • High Coverage (e.g., 90%+): This is the desired state for predictable workloads. It means a significant majority of your eligible instance usage is benefiting from the RI discount. A high coverage percentage indicates you are effectively reducing your On-Demand spend and are getting the most out of RIs for your stable compute needs.

  • Low Coverage (e.g., < 80%): Implies that a substantial portion of your eligible instance usage is running at On-Demand rates, even though it could potentially be covered by an RI. This means you are missing out on significant cost-saving opportunities. Low coverage often occurs when your compute needs are growing, or if you haven't purchased enough RIs to match your steady-state usage. Increasing coverage can lead to substantial cost reductions.

By regularly monitoring both RI utilization and coverage, you can identify opportunities to optimize your RI purchases, reduce wasted spend, and significantly lower your AWS bill.

For more detailed information on how to access and utilize Reserved Instance reports, refer to the following official AWS re:Post articles:

How do I view my Reserved Instance utilization and coverage?

How do I use the Reserved Instance utilization report in Cost Explorer?