As you may have already figured out, Amazon Machine Images (AMIs) and most other Amazon Web Services (AWS) are region specific. If you run an EC2 instance in the US East region, for example, you can't quickly run it in the US West or any other region.
Moving an EC2 Instance to a Different Availability Zone
You can, however, easily deploy EC2 instances in separate availability zones within the same region, which is enough to meet the SLA (service-level agreement) for service credits from outages. If you haven't already, you can see which zone each instance is assigned to by viewing the details of each on the Instances page. And if you need to change the zone, here's how to do so:
- Shutdown / stop the instance
- Right-click the instance and select Create Image to make an AMI from the instance
- Go to the AMI page, right-click on the new AMI and select Launch Instance
- In the new instance settings, choose a specific (different) availability zone
If you had other services, like an Elastic IP, associated with the previous instance, you'll have to reassociate them with the new instance.
Moving an EC2 Instance to a Different AWS Region
But for even more redundancy you may want to deploy across multiple regions. Or maybe your cloud application simply requires a specific region outside of your own for geographic reasons. Whatever the case, here I'll discuss a couple different ways you can go about copying AMIs to different regions.
If you're comfortable working with a command-line interface, you can use the API tools provided by Amazon to copy bundled AMIs from one region to another via the
ec2-migrate-image commands. For more information, go to the Amazon Elastic Compute Cloud Command Line Reference. You can also find tutorials on using command-line interfaces at sites like alestic.com.
CloudyScripts provides scripts for various EC2, OpenStack and vCloud tasks, including copying AMIs to different regions. The simplest approach is to use their free Web form, but security is a concern since you must input your AWS credentials and private keys for the instances. However, the risk may be acceptable to some, at least in terms of creating temporary AWS Access Keys and Key Pairs.
And if you don't want to hand over your credentials, CloudScripts also offers an AMI to launch your own CloudyScripts server for $10 per hour in addition to the normal Amazon EC2 fees. Or you can attempt to utilize their open source scriptsyourself.
Some cloud management solutions also include support for copying AMIs and other AWS features across regions. Ylastic, for example, offers a Web-based and mobile interface and supports many different AWS offerings with pricing at $25 or $50 a month.
Another option is Scalr, which provides an open source management platform you can deploy or hosted services that start at $99 a month after a 30-day free trial. Finally, a third choice is RightScale, which provides a free edition account to provision, monitor and automate across eight public clouds, as well as premium servicesthat start at $500 a month.
As we've detailed, it's easy to move Amazon EC2 instances to different availability zones inside a single AWS region, so you're covered under the SLA on service credits for outages.
But moving an EC2 instance to a completely different AWS region isn't so easy. Amazon provides command-line tools for tackling this or you can use third-party scripts or management solutions like the three covered above.
Eric Geier is a freelance tech writer. He's also the founder of NoWiresSecurity, which provides a cloud-based Wi-Fi security service for businesses, and On Spot Techs, which provides on-site computer services.