A lot of cost optimization products including AWS Cost Explorer recommend that you purchase Reserved Instances to save on costs. This can be a good way to reduce your EC2 instance costs, however if not understood correctly, you could end up with a higher bill after a short period of time. To purchase Reserved Instances, you need to commit to a one-year or three-year contract and when you purchase them you need to specify a lot of additional options.
For example, you purchase ten t2.large Reserved Instances on a three year, Windows operating system, Standard Term, all payment upfront in Virginia for $16,530. Two months later, you upgrade the applications that reside on these instances and you realise that a burstable instance type is no longer appropriate and they need to be upgraded to m5.large. Therefore, if you have no further Windows instances in the same region using t2.large instance types then you will not receive any discount on the m5.large instances after already paying up front for three years for them initially when they were t2.large.
Committing to such an upfront contract for instances is not advisable if you think there is any chance that the instance type may change. This may be due to resource requirements or upgrading to newer instance generations (t2 to t3 for example). If Convertible term was chosen when you purchased the Reserved Instances then you could request a change to the reservation from t2.large to m5.large. This is not automatically done as an Reserved Instance is not tied to an actual instance, it is more like a gift voucher, so ensure you keep an eye on your Reserved Instance utilization via Cost Explorer.
Reserved Instance attributes can be changed via a modification or exchange request. However, it is dependent on the term of the original Reserved Instance you selected. Take your time to understand what it is you’re purchasing because what you think is a good cost savings initiative at the beginning can easily end up with you spending more. Below is a table which can help you to understand the different options available when purchasing Reserved Instances and which attribute can be changed by which term.
Attribute | Standard R.I. | Convertible R.I |
Availability Zone (in same Region) | Yes | Yes |
Scope (zonal and regional) | Yes | Yes |
Region | Yes | Yes |
Operating System | No | Yes |
Tenancy | No | Yes |
Instance Family | No | Yes |
Additionally, Reserved Instances that are purchased for Windows operating system cannot take advantage of Instance Size Flexibility, which was introduced in March 2017. This means if you change the instance size on your instance, your Reserved Instance purchase may not be applied. Instance Size Flexibility only applies to Linux/UNIX instance types which are shared tenancy and have regional scope. Instance Size Flexibility means a Reserved Instance can be applied to any member of the instance family on a pro-rata basis. This is achieved by the Normalization Factor and each member of the instance family is ranked as shown in the below table.
Instance Size | Normalization Factor | Instance Size | Normalization Factor |
Nano | 0.25 | 2xlarge | 16 |
Micro | 0.50 | 4xlarge | 32 |
Small | 1 | 8xlarge | 64 |
Medium | 2 | 16xlarge | 128 |
large | 4 | 32xlarge | 256 |
Xlarge | 8 |
Take your time to determine if Reserved Instances are appropriate for your environment and understand the restrictions before purchasing them. It is also advisable to monitor your Reserved Instance Utilization as once purchased they can easily be forgotten.
No responses yet