'How do I upgrade from t2.micro to t2.small at the moment of expiration?

My AWS reserved instance t2.micro is going to expire. I decided to upgrade to t2.small, and have just bought a new reserved instance t2.small, as shown below.

enter image description here

Now, how do I switch from t2.micro to t2.small?



Solution 1:[1]

As I didn't change the instance type (T2), here is what I do.

  • Purchase a new reserved instance, t2.small
  • Stop instance (t2.micro)?Instances --> Actions --> Instance State --> Stop
  • Change Instance Type?Instances --> Instance Settings --> Change Instance Type --> t2.small
  • Start instance (t2.small)?Actions --> Instance State --> Start

Solution 2:[2]

Please note that a Reserved Instance is a pricing discount. It does not apply to a specific instance.

By purchasing a t1.micro reserved instance (RI), one instance matching the specification (Instance Type + Operating system + optional AZ) can run every hour during the RI period at no charge (because you have paid for it up-front, either annual or monthly).

The only 'danger' of going past your RI expiry is that the instance will be charged the standard hourly On-Demand rate (about 1.2c/hour for Linux instances). Similarly, the only 'danger' of using a t2.small prior is being charged the hourly rate of 3.2c/hour.

Therefore, if you can survive the instance being offline for a few minutes, simply:

  • Stop the instance
  • Change the instance type
  • Start it again

It doesn't matter if you don't do it at the perfect time... you'll just be charged a few cents.

Further, if your new Reserved Instance is regional (meaning that no Availability Zone has been selected), then you can take advantage of Instance Size Flexibility. This is best understood by example:

  • You have an RI for a t1.micro
  • You are running a t1.small
  • The micro is half the size of the small (in terms of CPU & RAM)
  • Therefore, the RI covers half the cost of the instance, and you only pay the other half

So, if your new RI is regional, it doesn't matter if you change the instance size late. Your t2.small RI will actually cover the cost of the t2.micro instance (and could actually cover the cost of 2 x t2.micro instances).

Bottom line: Change your instance type whenever you want. The cost of getting the timing wrong is negligible.

Solution 3:[3]

One strategy would be to take an image snapshot of your micro instance and use it for the small instance.

First, make a backup.

  1. Open the context menu (right click) on your running instance in your Instances pane.
  2. Choose Image -> Create Image.
  3. You'll eventually have a new AMI in the AMIs pane.
  4. When you are making the switch, use this new AMI to launch the instance (select the AMI and Launch).

You'll need to stop one instance and start the other at the appropriate time. Either write a script that uses the AWS SDK in the language of your choice, or do it manually.

Don't forget about DNS and IP addresses with respect to making the switch, and that you'll have downtime unless you have some overlap. I would recommend you leave micro running while you start the small and change your routing etc.

Solution 4:[4]

This solution will work, but it will reset the Public IP. Which will then need to be updated on Route 53, in order to make the site work again. And any other place the public IP has been used.

  1. Stop the instance: Instances --> Actions --> Instance State --> Stop
  2. Change Instance Type: Instances --> Instance Settings --> Change Instance Type
  3. Start the instance again: Actions --> Instance State --> Start

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 SparkAndShine
Solution 2 John Rotenstein
Solution 3 h4xnoodle
Solution 4 Anshumaan Bakshi