We launched the first part of the EC2 Reserved Instance Modification feature last month. At that time we gave you the ability to modify the Availability Zone and the Network Platform (EC2-Classic or VPC) of your EC2 Reserved Instances.

Today we are giving you the ability to change the instance type of your Linux/UNIX reservations. For example, you can change a reservation for four m1.small instances into a single reservation for an m1.large instance. With today’s launch you can take advantage of the pricing and capacity benefits of Reserved Instances even as you change from one EC2 instance type to another.

The modifications are always done within an instance family (m1, m2, m3, or c1) and are always expressed in terms of normalized “units.” The units are based on the size of the instance, per the following table:

Instance Size Normalization Factor small 1 medium 2 large 4 xlarge 8 2xlarge 16 4xlarge 32 8xlarge 64

For example, a large instance is worth 4 units, and can be replaced with four small instances or two medium instances. The number of units will always remain constant across a modification.

As usual, you can make the modification from the AWS Management Console, the EC2 API‘s, or the AWS Command Line Interface (CLI). Let’s use the Console this time:

Open up the EC2 console and click on Reserved Instances. Select the RI’s that you would like to modify, and then click on the Modify Reserved Instances button:

The console will show your existing RI’s in groups. All RI’s that share the same Platform (Linux / UNIX), Region, Instance Type, Product, Tenancy, Offering Type, Term and End Date/Time will be members of the same group:

You then choose replacement instances with sufficient units to account for all of the instances in the original group. You cannot modify the total number of units per RI group.

For example, you can replace four m1.smalls with a single m1.large, by editing the Instance Type and Count properties as follows:

You can alter any or all of the following properties:

Click Continue, review your request to make sure that it is accord with your needs, and then click Submit Request to initiate the specified modifications.

Once initiated, each of the modifications will succeed or fail within two hours. You will see the state of your existing Reserved Instances change, and you will see new Reserved Instances created as the modification proceeds:

You can refresh the console to track the status changes. When none of the status messages contain “pending”, the modification process is complete.

You could also initiate the modification from the command line as follows:

$ ec2-modify-reserved-instances b847fa93-09d0-4fe5-8aa6-8e97b44eaf76 -c "zone=us-east-1e,count=1,type=m1.large" -c "zone=us-east-1e,count=4,type=m1.small"

Here are a few things to keep in mind as you start to make use of this new feature:

Availability of Reserved Instances changes constantly. Therefore, each modification request can succeed or fail on its own. If a particular request fails, you can issue it another time.

You can only modify active Reserved Instances that you own, that are not currently listed for sale in the Reserved Instance Marketplace.

The Availability Zone and the Network Platform that you request must be available in your account.

Modifications take effect as soon as possible, and the pricing benefit starts to apply at the beginning of the current hour.

If your Reserved Instance cannot be modified, it will retain its original properties.

We have had a lot of requests for this feature and I hope that you like it. Leave me a comment and let me know what you think!

— Jeff;