How do I migrate from a micro to a small instance via ec2 console for my Windows instance, since we are running into heap size issues. I have some software (Apache, PHP) installed on that machine also. I don't see an action which will let me migrate this instance via the EC2 console.


Here are the steps to change the instance type from t1.micro to m1.small using the EC2 console.

  1. Right click on the instance > [Stop] > [Yes, Stop]
  2. Right click on the instance > [Change Instance Type] > [m1.small] > [Yes, Change]
  3. Right click on the instance > [Start] > [Yes, Start]

If you had an Elastic IP address associated with the instance, you'll need to re-associate it.

I prefer the command line and wrote an article on how to do it that way with three commands:

Moving an EC2 Instance to a Larger Size

You might want to read that article as it has a lot of information about this process that is important to understand whether you use the command line or the AWS console.

|improve this answer|||||
  • This rocks -- so simple! – Dan Esparza Nov 5 '12 at 16:26

It's dead easy - there's no 'one-click' way of doing it, but it is a series of console operations:

  1. Stop the Micro instance.
  2. Create a snapshot of its' root volume (/dev/sda1).
  3. Start a Small instance.
  4. Stop the Small as soon as it shows 'Running'.
  5. Detach and delete the Small instance root volume.
  6. Create a volume from the snapshot you took at step 2.
  7. Attach it to the Small as /dev/sda1.
  8. Start the Small.

When you've satisfied yourself it's working, you can terminate the Micro. Don't forget to switch any other EBS volumes from the Micro to the new Small instance, and if you use EIP then assign the address to the Small as well.

|improve this answer|||||
  • There's no need to go through the process of creating snapshots and detaching and attaching volumes. See my answer that describes how to change the instance type while the instance is stopped. – Eric Hammond Nov 28 '11 at 19:22

I create an AMI from my running instance so I can start up a new machine any time. This also allows me to have any number of them running at the same time. For pushing new code I can start up a new instance, push the changes, test and make sure things look good, then I just have to change the elastic IP to point to the new one, shut down the old, and I'm good to go with basically no down time.

Be warned that small and medium(high cpu) only run 32 bit, so if your current instance is on 64 bit then you have a challenge ahead.

|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.