是否可以更改正在运行的 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 还很陌生。
答案1
不可以,但您可以从中创建 AMI,这样您就可以在该区域内的任何可用区中启动该实例的精确副本。启动副本并终止原始实例。
答案2
如果您使用 EBS 根,您还可以执行以下操作:
- 创建旧系统根卷的快照。您可能需要停止实例以执行此过程。这通常比创建映像更快。
- 从新的可用区域中的 SNAPSHOT 创建新卷。
- 在旧系统上选择“启动更多类似 AMI”按钮,并将相同的 AMI 启动到新的可用区域。
- 创建实例后立即停止。请注意,它是根设备,通常是
/dev/xvda
。 - 取消关联并删除与新实例关联的自动生成的根 EBS 卷。
- 将您创建的新卷与新可用区域中的新实例与您上面记下的根设备关联起来。
- 启动新实例并验证一切正常。
如果您正在使用社区镜像,那么您应该考虑启动您正在使用的镜像,然后立即从中制作一个属于您自己的镜像。否则,您将面临社区镜像被删除的风险,并且您无法执行“启动更多类似镜像”和其他操作。
我通常从社区图像中创建一个小型(~8gb)图像,然后将根卷更改为更大的(>200gb)EBS 分区。