是否可以更改正在运行的EC2实例的可用区域?

是否可以更改正在运行的EC2实例的区域?

当我尝试启动30分钟前运行的EBS支持的微型实例时,我目前遇到“容量不足”错误。

我正在尝试使用:

> ec2-modify-instance-attribute instance_id --SOME_OPTION-TO-CHANGE-ZONE 

但我没有取得进展。 这涉及到: https : //stackoverflow.com/questions/8425739/is-it-possible-to-change-the-availability-zone-of-an-existing-ec2-t1-micro-insta

感谢您的帮助 – 我在EC2上相当新颖。

不,但是您可以从中创build一个AMI,这将允许您在该区域内的任何可用区域中启动该实例的精确副本。 启动副本并杀死原件。

如果您正在使用EBS根目录,则还可以执行以下操作:

  1. 创build旧系统根卷的SNAPSHOT。 您可能需要停止您的实例进行此过程。 这通常比创build图像更快。
  2. 在新的可用区域中从SNAPSHOT创build一个新的卷。
  3. select旧系统上的“启动更多像这样”button,并启动相同的AMI到新的可用区域。
  4. 一旦创build实例,就停止它。 注意它是通常是/dev/xvda的根设备。
  5. 取消关联并删除与新实例关联的自动生成的根EBS卷。
  6. 将您创build的新卷与新可用区中的新实例与上面提到的根设备相关联。
  7. 启动新的实例并validation一切看起来不错。

如果你正在使用社区图片,那么你应该考虑引导你正在使用的图像,然后立即从它拥有一个图像。 否则,您将冒着被删除的社区图像的风险,并且无法执行“像这样启动”等操作。

我通常从社区映像中创build一个小(〜8GB)的映像,然后将根卷更改为更大(> 200GB)的EBS分区。