Cloud Comparison Cloud Updates

The Ultimate Guide To Amazon EC2 Reserved Instances

Amazon Web Service (AWS) offers users significant discounts on compute resources for users who commit to using specific instance types for a predetermined term length. These discounts, known as AWS EC2 Reserved Instances (RIs), offer AWS users significantly better pricing options compared to On-Demand and pay-as-you-go models.

In order to take full advantage of these savings opportunities, users not only need to understand how RIs are bought and applied to resources within their AWS environment, but what limitations exist on how and where these discounts can be used after purchase. We’ve created a guide to understanding Amazon EC2 RIs so you can feel confident in your purchases for the full length of your reservation agreement.


Understanding Reserved Instances

Amazon EC2 Instances are priced in three ways:

  1. On-Demand: Where you pay full price.
  2. Spot: Where price is determined by market availability.
  3. Reserved: Where you receive a discount based on commitment to pay for a certain amount of EC2 usage, whether you use the hours or not.

When you purchase an EC2 reservation, you’re essentially purchasing a coupon. Amazon offers significant compute discounts in return for your commitment to utilize specific instance types for 1 or 3 years. The benefit for you and your organization is potential savings of up to 75% on compute resources and guaranteed capacity (for some RI types).

So how do RIs work exactly? The process is actually more random than you might think. AWS evaluates the available reservations and running instances on an hourly basis, and then randomly applies reservations to usage. Each usage for the hour gets evaluated to determine if there is an applicable reservation to cover it.

The randomized approach to how RIs are applied to existing infrastructure is a powerful feature, but one that confuses a lot of AWS users. It’s common for AWS users to compartmentalize where RIs are going to go when they are purchased, “I have this one specific instance in mind that this RI would be a perfect fit for—I’ll buy the reservation because it’s such a perfect fit.”  It’s likely that cost benefit will be applied elsewhere, leaving the user more confused than when they started.

Things to know before making a commitment

Your ‘payback period’ is used to calculate the exact number of months it would take before you see a price benefit, assuming 100% usage of said instance. This calculation is helpful when you go to do a cost analysis on a potential RI purchase and identifies how long you must use the resource before it breaks-even. It’s important to remember that the payback period is applied to Partial and All Upfront reservations, and doesn’t apply towards No Upfront reservations, since they are less expensive than On-Demand immediately.

Purchasing RIs shouldn’t be intimidating. Here are some key questions to ask to help you get started:

  • What percentage of this group do I expect will be running one year from now? Three years from now?
  • How likely are the instances in this group to stay within their current region?
  • How likely am I to change the instance type family for the instances in this group (e.g. switching from c4 to c5)?

Purchasing RIs on a per instance basis will be unmanageable, so you’ll also want to consider how to group your instances based on one or more topics (e.g. environments, function, application) so that you can evaluate by groups. A best practice is to focus on your most expensive group(s) first. And because RIs are targeted at ‘always on’ infrastructure, a best practice is to specify that your RIs not evaluate groups whose infrastructure is only on <65% of the time—ensuring best bang for your buck.

With the right knowledge in place, RI purchasing and management isn’t as scary as it might appear initially. Read our eBook to learn about how to navigate reservation scope, a deep dive into how you can calculate your own break-even point, and how you can streamline RI purchasing to maximize savings.