Importing a Virtual Machine into Amazon EC2 (Part 1)

If you would like to read the other parts in this article series please go to:


One of the big trends over the last few years has been that organizations no longer host virtual machines solely on premises. It is becoming increasingly common for organizations to use a combination of cloud and local virtual machines.

Historically, it has been easy to create VMs in the cloud and even easier to create VMs on premises. However, moving VMs from an organization’s datacenter to the cloud (or visa versa) has often proven to be more challenging. Thankfully, Amazon provides some tools that can be used to migrate VMs that are running locally to Amazon EC2.

What About the Cost?

Like most cloud service providers, Amazon charges its customers based on resource usage. As such, it is important to consider how much it will cost to migrate a virtual machine to Amazon EC2.

The cost of operating a virtual machine in the cloud can vary widely based on the size of the VM and its level of activity. As for the migration process, Amazon does not currently charge any additional fees for migration beyond the usual Amazon EC2 service fees.

What VMs are Good Candidates for Migration?

There are various schools of thought on what types of virtual machines make good candidates for migration to the Amazon EC2 Cloud. Ultimately, the selection process usually has more to do with an organization’s business needs than the virtual machine’s configuration.

Some organizations for instance, have been known to migrate virtual machines to the Amazon cloud as a way of achieving better scalability than what might be possible on premises. Scaling an existing virtual machine on premises very often requires an investment in additional hardware. A virtual machine that is running on Amazon EC2 can be scaled without having to purchase any hardware. As the VM continues to grow it can benefit from auto scaling and elastic load balancing.

Of course the opposite can also be true. Amazon charges customers based on the quantity of resources consumed, so some customers only migrate lightweight VMs to the cloud in an effort to minimize the costs.

One of the more common uses for Amazon EC2’s ability to import virtual machines is that the Amazon cloud can be treated as a disaster recovery mechanism. Amazon makes it possible to store VMs in the cloud without actually running them. In the event of a disaster, you can run the virtual machines on the Amazon cloud, while simultaneously exporting the virtual machines to your on premises network. That way, continuity of business is preserved but the organization is not committed to running the virtual machines in the cloud for the long-term.

Software Requirements

Amazon supports the importing of a wide variety of virtual machine types. There are a number of different guest operating systems supported and there are tools available for importing virtual machines from many of the most popular hypervisors. The hypervisors that are currently supported include:

  • VMware ESX
  • VMware Workstation (VMDK images)
  • Citrix Xen (VHD images)
  • Microsoft Hyper-V (VHD images only, VHDX is not supported)

Given Amazon’s support for the most popular hypervisors, it might at first seem that it should be possible to import any virtual machine that currently exist on a supported hypervisor. However, that isn’t the way that things work. Amazon has a very specific list of supported operating systems. That list currently includes:

  • Windows Server 2003
  • Windows Server 2003 R2
  • Windows Server 2008
  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2
  • Red Hat Enterprise Linux (RHEL) 5.1-6.5 (using Cloud Access)
  • Centos 5.1-6.5
  • Ubuntu 12.04, 12.10, 13.04, 13.10
  • Debian 6.0.0-6.0.8, 7.0.0-7.2.0.

I will be the first to admit that this list contains the operating systems that are most commonly used in enterprise class environments. However, the list of supported operating systems tends to be strictly enforced when it comes to Windows.

Think about the way that a hypervisor works for a moment. Most of the major hypervisor vendors supply a list of supported guest operating systems. In spite of such a list however, it is usually possible to run unsupported guest operating systems. Running an unsupported guest operating system isn’t necessarily something that you should do, especially in a production environment, but more often than not you can get away with doing so. In the case of the Amazon cloud however, Amazon’s licensing method may prevent you from being able to run operating systems other than the ones listed above.

When you migrate a Windows virtual machine to the Amazon cloud for example, your Windows product key is not used. Instead, the product key is stripped from the virtual machine and Amazon provides their own key for licensing the operating system. This is the reason why you may not be able to get away with running an unsupported operating system in a virtual machine on the Amazon cloud. Amazon simply will not have product keys available for unsupported Windows operating systems.

Of course this raises the question of why Amazon chooses to use their own product key as opposed to allowing the virtual machine to retain its existing product key. Part of the reason for this has to do with the logistics of the migration process. I will show you what this migration process looks like a little bit later on in the series.

Another reason why Amazon uses their own product key for Windows virtual machines probably has to do with Microsoft’s policy for licensing the Windows virtual machines. In a Hyper-V environment for example, virtual machines are not licensed directly. Instead, the Windows operating system license applies to the Hyper-V server and to a specific number of virtual machines that are running on it. If a virtual machine is live migrated to another Hyper-V server then the new host server’s license now covers the virtual machine assuming that the host’s virtual machine license count has not been exceeded.

So what happens if you later decide to bring the virtual machine back on premises? When you export a virtual machine from the Amazon cloud, the virtual machine forfeits its Amazon supplied product key. This means that when you bring the virtual machine back into your own data center, you will have to supply your own product key and you will most likely have to reactivate the virtual machine.

One thing to keep in mind is that the licensing mechanism that I have been discussing applies only to Windows virtual machines. Linux virtual machines use their own licensing model. For example, Amazon allows you to use license portability when importing Red Hat Enterprise Linux virtual machines.


There are a number of considerations that must be taken into account prior to migrating a virtual machine from an on premise hypervisor to the Amazon cloud. These considerations run the gamut from guest operating system compatibility to the costs involved in running the virtual machine in the cloud.

Now that I have spent some time discussing some of the most important pre-migration considerations, it’s time to begin talking about the migration process. In the next article in this series, I will introduce you to the tools that are available for migrating your virtual machines to the Amazon cloud.

If you would like to read the other parts in this article series please go to:

About The Author

Leave a Comment

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Scroll to Top