我正在尝试将EC2实例从一个区域迁移到另一个区域。当EC2在区域A中下降时,如何从区域B开始?我很难弄清楚要做什么。我知道如何在一个区域内的可用区域内复制EC2实例,但我看到很多文章:
https://media.amazonwebservices.com/AWS_Migrate_Resources_To_New_Region.pdf http://www.serverwatch.com/server-tutorials/moving-ec2-instances-across-availability-zones-or-aws-regions.html
声明我需要使用第三方脚本才能实现此目的。有没有人有经验将EC2实例从一个地区转移到另一个地区?
答案 0 :(得分:4)
为了冗余,不需要将图像从一个区域复制到另一个区域。每个区域都有多个availability zones,这些区域旨在提供给定区域内的完全容错能力。区域内的每个可用区域都是物理上不同的数据中心,根据区域的不同,可能存在3到5个可用区域。一个地区的3个或更多可用区同时遭遇中断的可能性非常小。
根据应用程序的复杂性,您可以通过在同一区域内的多个可用区域之间部署多个EC2实例并在应用程序前放置Elastic Load Balancer(ELB)来获得非常好的容错能力。
容错的另一种方法是使用auto scaling,这不仅可以确保最少数量的EC2实例始终在运行您的应用程序,而且如果应用程序上的负载增加,则可以自动启动更多实例。还可以在一个原因中跨可用区域部署自动扩展,以帮助确保容错。在最简单的级别,如果您创建一个最小和最大为1 EC2实例的自动扩展组,那么AWS将确保您的应用程序已在运行,如果EC2实例因任何原因失败,那么它将启动一个新实例来替换它
如果您确实需要将实例从一个区域复制到另一个区域,则需要多个步骤。您不能简单地将实例从一个区域复制到另一个区域,因此您需要创建一个您感兴趣的EC2实例的亚马逊机器映像(AMI),将AMI传输到新区域,然后基于该AMI启动新的EC2实例。过去有必要使用第三方工具,但亚马逊现在提供直接执行此操作的能力。有关如何执行此操作,请参阅this documentation on copying AMI's。
答案 1 :(得分:0)
即使我理解在我面前这个人的答案背后的原因,他/她仍然没有回答你的问题。
因此,为了将AMI从一个区域移动到另一个区域,只需在控制台中单击AMI并选择“复制AMI”,它将询问您要将其复制到哪个区域。选择目的地,你就完成了。
希望这会有所帮助。 彼得五世。
https://aws.amazon.com/about-aws/whats-new/2013/03/12/announcing-ami-copy-for-amazon-ec2/
答案 2 :(得分:0)
使用 create-image AWS CLI命令创建AMI,然后使用 copy-image CLI命令将映像复制到新区域。
整个过程稍微复杂一点,如果要克隆安全组,标记实例并删除旧实例,则涉及多达14个步骤。
我在https://medium.com/@gmusumeci/how-to-move-an-ec2-instance-to-another-aws-region-69ebaa68f12d
上写了博客,详细解释了所有这些步骤。吉列尔莫