如何将我的 EC2 实例移动到另一个子网、可用区或 VPC?

上次更新时间:2020 年 5 月 20 日

我想将我的 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?

新建映像

  1. 打开 Amazon EC2 控制台,然后从左侧的导航窗格中选择实例
  2. 选择要移动的实例,然后依次选择操作实例状态停止。这可以确保旧 EBS 卷和新 EBS 卷之间的数据一致。
    注意:如果您是在测试此过程,或者不想停止或重启您的实例,可以跳过此步骤。
  3. 选择操作映像创建映像
    对于映像名称,请输入映像的名称。
    对于映像说明,请输入有关映像的说明。
    注意:如果您在创建映像页面上选择不重启选项,则无法保证映像的系统完整性。
  4. 选择创建映像
  5. 选择查看待处理映像 ID。等待状态待处理改为可用

启动新实例

  1. 选择新 AMI,然后选择启动
  2. 选择与您要移动的实例相同的实例类型,然后选择下一步:配置实例详细信息
    对于网络,请选择您的 VPC。
    对于子网,请选择要在其中启动新实例的子网。
    如果实例属于生产实例,则对于启用终止保护,请选择防止意外终止
  3. 选择下一步:添加存储
  4. 接受默认值,然后选择下一步:添加标签
    对于,请输入名称
    对于,请输入您的实例名称。
  5. 选择下一步:配置安全组
  6. 选择应用于您正在移动的实例的同一安全组。
    注意:如果要在 VPC 之间移动实例,则必须在目标 VPC 上创建新的安全组。
  7. 选择查看并启动
  8. 选择启动
  9. 对于选择密钥对,请从下拉列表中选择您的密钥对。
  10. 选中协议复选框,然后选择启动实例
  11. 选择实例 ID 以返回 EC2 控制台。

重新分配弹性 IP 地址

要重新分配弹性 IP 地址,您必须先解除此弹性 IP 地址与源实例的关联。然后,您可以重新将该弹性 IP 地址与新实例关联。有关说明,请参阅取消关联弹性 IP 地址

注意:只能在一个区域中使用弹性 IP 地址。如果您将实例移动到其他区域,则无法使用相同的弹性 IP 地址。