Cloud Updates Migration Optimization Tips

The Ultimate Guide to AWS Reserved Instances, Part 4: Ongoing Reserved Instance Monitoring & Modification

In the first three parts of this blog series, we walked through the process of planning your Reserved Instance (RI) purchase, rightsizing, and making your RI buy. Did you think we were done just because we made the RI purchase?

Nope, it’s time for the next step of close monitoring and modifications. Over time it’s normal for usage to drift or change. You want to make sure that your usage continues to match your reservations as much as possible. Or in other words, get the most bang for your buck from your investment.

 

Modifying and Exchanging RIs

Did you know that once purchased, RIs can be changed (in various ways) to make sure your Reservation portfolio continues to match your On-Demand usage? The process is called modification or exchanging, depending on the type of RI you are using. Before the introduction of Regional Size Flexible RIs, modifications were a BIG DEAL. This allowed you to modify your RI to cover a different Availability Zone within the same Region, if there was an opportunity to cover more On-Demand usage. Another modification approach is splits and merges. For example, an m4.xlarge reservation could be split to make 2 m4.large reservations. The reverse of this is merging where 2 m4.large reservations could be merged to make 1 m4.xlarge reservation. Within an instance family, RIs can be merged and split in a variety of ways, all at no cost.

The introduction Regional Size Flexible RIs means that customers no longer have to worry about any of those changes above, AWS will account for them automatically. However, there are still many companies that opt for AZ Scoped Reservations (for a full discussion of these decision points, see Part 3 of this series), which do still require modifications to maintain full coverage and efficiency. These modifications can either be done in the AWS console, or automatically with a solution like CloudHealth.

Convertible RIs can also be modified in all the ways that Standard RIs can, but they can also be exchanged in several different ways, making them much more flexible. Unlike standard modifications, Convertible RI exchanges almost always include an additional financial investment because you must exchange RIs for greater or equal value.

 

Underutilized Reservations

Keeping track of unused Reservations will help you quickly flag Reservations that should be modified, exchanged, or sold. You can track underutilized RIs as a percentage (ratio of purchased RI hours that were used by matching instances to total RI hours), as unrealized savings, or as unused hours. The thresholds at which you take different actions may vary by the severity of the underutilization. For example, you may decide that anytime you can save $50, you should assess the RI for modification (typically this is relevant for AZ scoped RIs). If you can save an additional $100, you might consider conducting an Exchange (if a Convertible RI). And in the most extreme scenarios, for example, if $1,000 is on the line, you would look at selling the Reservation on the AWS Marketplace. Because modifying RIs (i.e., splits, merges, moves within a region) are all zero-dollar transactions and won’t impact running instances, they are very low risk to automate. Making an exchange or selling a Reservation, however, takes a bit more analysis and business context.

CloudHealth lets you optimize existing purchases by actively monitoring usage and providing a recommended course of action. You can use reports such as the RI Analyzer, which will look at your existing RIs and tell you what you should do with the under-utilized Reservations. You can also set alerts to notify you when utilization falls below critical thresholds and automated policies to make RI modifications as needed.

 

Opportunities to Save with New RI Purchases

When your On-Demand usage for a specific instance family in a Region starts to creep up, it’s likely time to make additional RI buys. Best practice it try and keep your On-Demand usage to 20-30% of your total EC2 consumption. Many companies will set a cadence for purchasing RIs once a month, once a quarter, or once a year. However, the best approach is to continuously evaluate opportunities to purchase new RIs. The only way to make this a reality without sinking a massive amount of time into the endeavor is to automatically get notified when On-Demand usage hits a threshold, and/or when there is an opportunity to save with an RI purchase.

With CloudHealth, you can set a policy to alert you when an instance has run more than 500 hours On-Demand Hours in a month. Why 500 hours? This is the approximate breaking points when you have the opportunity to reduce your AWS cost by purchasing Reserved Instances for one or more EC2 instances.

 

Expiring Existing RIs

The last area you must keep track of is any RIs that are expiring in the near future. If you are following the best practice of continuously purchasing RIs, it can be hard to keep track of when they expire. About 2-4 weeks before an RI expires, you should start to plan and model out if you will repurchase the same RIs or not. Luckily, the CloudHealth RI Optimizer allows you to set your analysis date for a time in the future, and will also let you know how many RIs will be expiring by that day.

Stay ahead of expiring RIs by setting CloudHealth alerts for upcoming expiring RIs by setting alerts that will email you when RIs are expiring in a specific time period. In the policy below, I’ve configured it to remind me when RIs are expiring in 30 days, and then again in 7 days.

 

CloudHealth can help you keep track of all three of these areas: Underutilized existing RIs, Opportunities to save with new RI purchases, and Expiring existing RIs in the EC2 RI Utilization Pulse report. Subscribe to this report on a daily, weekly, or monthly basis to keep an eye on the complete view of RI efficiency.