如何将我的 EC2 实例移动到另一个子网、可用区或 VPC?
上次更新时间:2020 年 8 月 17 日
我想将我的 Amazon Elastic Compute Cloud (Amazon EC2) 实例移动或复制到另一个子网、可用区或 Virtual Private Cloud (VPC)。该如何操作?
简短描述
无法将现有实例移动到另一个子网、可用区或 VPC。相反,您可以通过从源实例创建新的 Amazon 系统映像 (AMI) 来手动迁移实例。然后,在所需的子网、可用区或 VPC 中使用新 AMI 启动新实例。最后,您可以将源实例中的任何弹性 IP 地址重新分配给新实例。
解决方法
在开始之前,请注意以下几点:
- AMI 基于 Amazon Elastic Block Store (Amazon EBS) 快照。对于先前没有快照的大型文件系统,创建 AMI 可能需要几个小时才能完成。要缩短 AMI 创建时间,请先创建 Amazon EBS 快照,然后再创建 AMI。
- 创建 AMI 不会为实例上的实例存储卷创建快照。有关将实例存储卷备份到 Amazon EBS 的信息,请参阅如何将 Amazon EC2 实例上的实例存储卷备份到 Amazon EBS?
- 新的 EC2 实例将具有不同的私有 IPv4 或公有 IPv6 IP 地址。您必须使用分配给新实例的新 IP 地址更新对旧 IP 地址的所有引用(例如,在 DNS 条目中)。如果您的源实例使用的是弹性 IP 地址,请务必将其附加到新实例
- 当副本启动并尝试联系域时,可能会发生域安全标识符 (SID) 冲突问题。捕获 AMI 之前,请使用 Sysprep 或从域中删除加入域的实例,以防止发生冲突问题。有关更多信息,请参阅如何使用 Sysprep 创建和安装自定义可重用 Windows AMI?
新建映像
- 打开 Amazon EC2 控制台,然后从左侧的导航窗格中选择 Instances(实例)。
- 选择要移动的实例,然后依次选择 Actions(操作)、Instance State(实例状态)、Stop(停止)。这可以确保旧 EBS 卷和新 EBS 卷之间的数据一致。
注意:如果您是在测试此过程,或者不想停止或重启您的实例,可以跳过此步骤。
- 选择操作、映像、创建映像。
对于映像名称,请输入映像的名称。
对于映像说明,请输入有关映像的说明。
注意:如果您在创建映像页面上选择不重启选项,则无法保证映像的系统完整性。
- 选择 Create Image(创建映像)。
- 在 Create Image request received(收到的创建映像请求)下,选择 View pending image [ID](查看待处理映像 [ID])。等待状态从待处理改为可用。
注意:您也可以通过从导航窗格的 Images(映像)部分选择 AMI 来查看待处理的映像。
启动新实例
- 选择新 AMI,然后选择启动。
- 选择与您要移动的实例相同的实例类型,然后选择下一步:配置实例详细信息。
对于网络,请选择您的 VPC。
对于子网,请选择要在其中启动新实例的子网。
如果实例属于生产实例,则对于启用终止保护,请选择防止意外终止。
- 选择下一步:添加存储。
- 接受默认值,然后选择下一步:添加标签。
对于键,请输入名称。
对于值,请输入您的实例名称。
- 选择下一步:配置安全组。
- 选择应用于您正在移动的实例的同一安全组。
注意:如果要在 VPC 之间移动实例,则必须在目标 VPC 上创建新的安全组。
- 选择查看并启动。
- 选择启动。
- 对于选择密钥对,请从下拉列表中选择您的密钥对。
- 选中协议复选框,然后选择启动实例。
- 选择实例 ID 以返回 EC2 控制台。
重新分配弹性 IP 地址
要重新分配弹性 IP 地址,您必须先解除此弹性 IP 地址与源实例的关联。然后,您可以重新将该弹性 IP 地址与新实例关联。有关说明,请参阅取消关联弹性 IP 地址。
注意:只能在一个区域中使用弹性 IP 地址。如果您将实例移动到其他区域,则无法使用相同的弹性 IP 地址。