What Are Reserved Instances and When Should You Use Them
What is a ‘Reserved Instance (RI)’
I explain reserved instances to customers quite simply - Reserved Instances (RI) are a billing function. In exchange for making a time-based commitment to Amazon Web Services (AWS), you get a discount for your Elastic Compute Cloud (EC2), and Relational Database Service (RDS). It’s important to know that while other services also support reserved instances, EC2 and RDS are the two I most commonly talk to customers about because typically the account for the majority of your AWS bill.
You have numerous options for purchasing RIs, you can buy them via the AWS Management Console, by using the AWS CLI, or by making API calls.
It’s important to note that you do not have to redeploy resources in when you decide to purchase an RI, AWS just applies the discount to your monthly invoice.
‘Utilization’ of Services is the Key Factor when deciding if buying an RI makes sense
I often talk to customers who are confused about the term ‘utilization’ when discussing reserved instances in AWS. When you are considering RI’s utilization refers to the percentage of time you are using the specific AWS service in a month.
In the graph above our EC2 instance is 100% utilized because it was powered on for the entire year.
While CPU and Memory utilization are an important factor to understand, they don’t relate directly to when it makes sense to purchase RI’s. They are, however, critical metrics to help you ‘right-size’ your infrastructure - before making a commitment to AWS. Read this article if you’re not sure what ‘right-sizing’ means.
Different Services have different RI purchase options
Elastic Compute Cloud (EC2)
Currently, AWS supports two types of reserved instances for EC2 - Standard and Scheduled. Standard EC2 RI’s are commonly used for workloads that run 24x7 like web servers or application servers. If you have EC2 instances that are doing batch processing, you should consider using scheduled RIs to cover this type of workload.
Depending on which type of RI you decide to use for your EC2 infrastructure you can purchase a one or three-year term. Currently scheduled instances only support a term of one-year.
Finally, when purchasing EC2 RIs, you can select one of three payment options: No Upfront, Partial Upfront, and All Upfront. The payment option you choose affects the cost savings associated with the RI purchase.
AWS has a great page that explains all the details regarding EC2 reserved instances, take a few minutes and review it.
Relational Database Service (RDS)
Purchasing reserved instances for RDS is very similar to EC2. You can pick a one or three year term, and you have three payment options: No upfront, Partial Upfront or All Upfront.
Check out this page from AWS to learn more about RDS reserved instances.
If you’re using other AWS services, I suggest that you review the pricing page for the service and find out if the service supports reserved instances.
How much money can you save?
“How much money can I save?” is the number one question that I get from customers. To be completely honest the amount of money that you can save is dependent on the payment option you choose (no upfront, partial upfront, and all upfront), as well as the term (one or three years). Typically, you can save anywhere from thirty to seventy percent.
How long of a commitment should you make?
Remember that when you make a commitment to AWS, you are no longer eligible for any price reductions that AWS may introduce for the duration of your RI purchase. For this reason, I often suggest to customers that they choose one-year reserved instances over three-year ones. Sure, you don’t get as big of a cost-optimization hit, but it also doesn’t tie you into a specific instance in a specific region for quite a long.
So, there you have it. A high-level overview of the reserved instance options in AWS (for EC2 and RDS) and when it makes sense to use them. When used correctly, purchasing of RIs (after ‘right-sizing’) is a key way to manage your costs in AWS. If you haven’t already investigated them I highly suggest that you do, whoever pays the AWS bill at your organization will appreciate it!