Calculating Reserved Instance Coverage

I had some confusion about exactly how Reserved Instance coverage works with regards to how different instances are sized via Normalised Units and how the size is scaled for each type of instance, the Normalisation Factor.

Reserved Instances Normalised Units and Normalisation Factor

The key is noting the different between Normalised Units and Normalisation Factor. As I understand it, they are:

  • Normalised Units - These are an abstract cost to run a given instance per hour. For example, a small size of instance costs 1 normalised unit per hour.
  • Normalisation Factor - Now, obviously, there are many kinds of instances and they can’t all cost the same. So the “base level” of small costing 1 unit per hour is them multiplied by a Normalisation Factor which can be < 1 for small instances and > 1 for most instances.

In other words, the normalisation factor is a scaling factor applied from the “base unit” of small. It says how fast an instance will use up its “normalised fuel”.

Examples

These examples are quite useful as an exercise to try and work it out yourself. Another one is:

  • Currently running 9 instances of cache.r7g.xlarge and Billing and Cost Management Recommendation is to purchase 18 cache.r7g.large
  • large normalisation factor is 4. Thus the recommendation is for 18 * 4 = 72 units per hour
  • xlarge normalisation factor is 8. Thus we are using 9 * 8 = 72 units per hour

Therefore, the recommendation is spot on and will provide us with 100% coverage.

Here is this relationship of large vs xlarge in a diagram:

cache-r7g-large-units

References

Categories:

Updated: