A while ago I was working on AWS cost reduction at my company and reserving instances is one essential step in such a project. This required me to go through so many AWS docs on different types of reservation options provided to get the whole picture. I tried to summarize the important points here, some of them which could be missed if one does not go through all the documents carefully:
Reserving, Modification and Exchanges are different.
- how much you want to reserve and what you do with them is up to you, discounts will get applied accordingly.
- While modifying the reserved, instance footprint should match (normalization factor x number of instances of that family (example, m4.))
- You can't modify it to a lesser footprint. If you need a greater reserved footprint, then simply purchase more reserved.
- You cannot modify instances for which only one option is there, like i3.metal.
- The instances you want to modify cannot be in the marketplace at the same time, of course.
- While Exchanging offers exchanging the instance with any type, or size, you cannot control the number of instances. AWS will just give you any number of instances to maintain the resulting cost, equal to or higher than what you are paying for the original instances.
- Another IMPORTANT point after saying above is that you can exchange any number of any type of instances but for only 1 type of instance.
- The above also means you can split the reservation and exchange them for different types of instances.
The normalization factor table is given at https://aws.amazon.com/blogs/aws/new-instance-size-flexibility-for-ec2-reserved-instances/.
The math works out as long as we keep the total normalization units the same or higher and in most cases, keep the instance family the same as well.
For example, in case of modification, let’s say you already own an RI for a c4.8xlarge. This RI now applies to any usage of a Linux/UNIX C4 instance with shared tenancy in the region. This could be:
One c4.8xlarge instance, or
Two c4.4xlarge instances, or
Four c4.2xlarge instances, or
Sixteen c4.large instances, or
One c4.4xlarge and eight c4.large, and more.
Two c4.4xlarge instances, or
Four c4.2xlarge instances, or
Sixteen c4.large instances, or
One c4.4xlarge and eight c4.large, and more.
For example, in the case of an exchange, if you have a t2.large CRI, to change it to a smaller t2.medium instance and an m3.medium instance:
Step 1. Modify the one t2.large CRI by splitting it into two t2.medium CRIs z
Step 2. Exchange one of the new t2.medium CRIs for an m3.medium CRI, then.
Step 2. Exchange one of the new t2.medium CRIs for an m3.medium CRI, then.
It's easier to think about reserving in terms of normalization units now.
DOUBT:
I wonder if someone would do something like this:
I wonder if someone would do something like this:
- You have a reservation with two t2.micro instances (giving you a footprint of 1) and a reservation with one t2.small instance (giving you a footprint of 1). You merge both reservations to a single reservation with one t2.medium instance—the combined instance size footprint of the two original reservations equals the footprint of the modified reservation.
- In both cases, you will get charged the same. Not sure.
No comments:
Post a Comment