将EC2实例穿越可用区域或AWS区域

也许你已经猜到了,亚马逊虚拟机镜像(AMIs)和大多数亚马逊云计算服务(AWS)是有地区限制的。比如,如果你在美国东部地区运行一个EC2实例,你不能在美国西部或任何其他地区快速地运行它。

将EC2实例转到一个不同的可用区域

然而,你可以很容易的将EC2实例部署在同一地区内分开的可用区域中,这可以满足SLA(服务水平协议)服务信用不中断。如果你还没有,你可以通过查看实例页面的每个实例的详情来发现每个实例被分配到了哪个区域。如果你需要变更区域,以下为具体做法:

·关机 / 停止实例

·右键单击实例并选择Create Image(创建镜像)来生成一个AMI

·访问AMI页面,右键单击新的AMI并选择Launch Instance(启动实例)

·在新实例设置里,选择一个特别的(不同的)可用区域

如果你还有其他服务,比如弹性IP,与之前的实例相关联,你必须将它们重新关联到新的实例。

将EC2实例转到一个不同的AWS地区

但对于更多的工作量,你可能要部署在多个地区。或许处于地理因素考虑,你的云应用只需要一个在你地区之外的特定地区。无论什么情况,我将讨论一下将AMI复制到不同地区的几种方法。

如果你擅长使用命令行界面,你可以使用亚马逊提供的API工具,通过ec2-migrate-bundle或ec2-migrate-image命令将一批AMI从一个地区复制到另一个地区。更多信息,请访问亚马逊弹性计算云命令行参考http://docs.amazonwebservices.com/AWSEC2/latest/CommandLineReference/。你还可以在alestic.com这样的网站找到更多使用命令行界面的教程。

CloudyScripts为各种EC2,OpenStack和vCloud任务提供脚本,包括复制AMI到不同地区。最简单的方法是使用免费的网页形式,但要注意安全,因为你必须输入的你AWS认证信息和私钥。然而,对某些人来说这种风险还可以接受,至少是在创建临时的AWS访问密钥和密钥对方面。

如果你不想交出认证信息,CloudScripts还提供了一个AMI来启动你自己的CloudyScripts服务器,比正常亚马逊EC2费用每小时加收10美元。或者你可以尝试使用它们的开源脚本。

一些云管理解决方案还包括对跨地区复制AMI和其他AWS功能的支持。例如,Ylastic提供了一个基于网页和移动的界面,支持多种不同AWS产品,定价为每月25或50美元。

另一个选择是Scalr,它提供一个你可以部署的开源管理平台或托管服务,在30天免费试用后起始价为每月99美元。最后,第三种选择是RightScale,它提供了一个免费版本的帐户,可以在八个公共云之间进行规定,监视和自动化,以及起价为每月500美元的高级服务。

总结

正如我们详细叙述的那样,在一个AWS地区内将亚马逊EC2实例转到不同可用区域是很容易的,因此你的SLA服务信用不会中断。

但是,将一个EC2实例转到一个完全不同的AWS地区就不那么容易了。亚马逊提供处理这方面的命令行工具,你还可以使用前面提到的三种第三方脚本或管理解决方案。