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

2 分钟阅读
0

我想将我的 Amazon Elastic Compute Cloud(Amazon EC2)实例移动或复制到其他子网、可用区或虚拟私有云(VPC)。

简短描述

无法将现有实例移动到其他子网、可用区或 VPC。但是,您可以从源实例创建新的亚马逊机器映像(AMI),以手动迁移实例。接下来,在所需的子网、可用区或 VPC 中,使用新 AMI 启动新实例。最后,将源实例中的任何弹性 IP 地址重新分配给新实例。

可通过以下两种方法来迁移实例:

  • 使用 AWS Systems Manager Automation 文档 AWSSupport-CopyEC2Instance。
  • 手动复制一个实例,然后从副本启动一个新实例。

解决方案

开始之前,请查看下面的信息:

  • AMI 基于 Amazon Elastic Block Store(Amazon EBS)快照。对于以前没有生成过快照的大型文件系统,创建 AMI 可能需要几个小时。要缩短 AMI 创建时间,请在创建 AMI 之前先创建 Amazon EBS 快照。
  • 创建 AMI 不会为实例上的实例存储卷创建快照。有关信息,请参阅 How do I back up an instance store volume on my Amazon EC2 instance to Amazon EBS?
  • 新的 EC2 实例具有不同的私有 IPv4 IP 地址或公有 IPv6 IP 地址。使用分配给新实例的新 IP 地址来更新对旧 IP 地址的所有引用(例如,在 DNS 条目中)。如果在源实例上使用弹性 IP 地址,请务必将其关联到新实例。
  • 当副本启动并尝试联系域时,可能会出现域安全标识符(SID)冲突问题。在捕获 AMI 之前,请使用 Sysprep 或将加入域的实例从域中移除,以防止出现冲突问题。有关更多信息,请参阅 How can I use Sysprep to create and install custom reusable Windows AMIs?

使用 AWS System Manager Automation 运行手册 AWSSupport-CopyEC2Instance

使用 AWS Systems Manager Automation 运行手册 AWSSupport-CopyEC2Instance 自动完成以下任务:

  • 创建新映像
  • 启动新实例

完成这些步骤后,如有需要,请按照重新分配弹性 IP 地址部分中的说明进行操作。

要运行自动化,请完成下面的步骤:

  1. 打开 AWSSupport-CopyEC2Instance 运行手册
    **注意:**确保您与要复制的实例位于同一区域。
  2. 对于执行自动化文档,选择简单执行
  3. 输入参数中,输入要复制的 EC2 实例的 InstanceID。如果使用交互式实例选取器,请从下拉列表中选择显示所有实例
  4. 提供实例复制的目标区域SubnetID
  5. 填写您的用例所需的任何其他可选字段,然后选择执行
  6. 要监控进度,请打开 Systems Manager 控制台,然后从导航窗格中选择自动化。选择正在运行的自动化,然后查看已执行步骤。要查看自动化输出,请展开输出

有关此运行手册的更多信息,请参阅 AWSSupport-CopyEC2Instance

手动复制实例并从副本启动新的实例

创建新映像

  1. 打开 Amazon EC2 控制台,然后从左侧导航窗格中选择实例
  2. 选择要移动的实例。选择操作,然后选择实例状态,接着选择停止。这样可以确保新旧 EBS 卷的数据保持一致。
    **注意:**如果正在测试此过程,或者不想停止或重启实例,则可以跳过此步骤。
  3. 选择操作,然后选择映像,接着选择创建映像
    对于映像名称,输入映像的名称。
    对于映像描述,输入映像的描述。
    注意:如果在创建映像页面上选择不重启,则无法保证映像的文件系统的完整性。
  4. 选择创建映像
  5. 已收到创建映像请求下,选择查看待处理映像 [ID]。等待状态待处理变为可用
    注意: 您还可以从导航窗格的映像部分选择 AMI,以查看待处理映像。

启动新实例

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

重新分配弹性 IP 地址

要重新分配弹性 IP 地址,必须先取消弹性 IP 地址与源实例的关联。然后,将弹性 IP 地址与新实例重新关联。有关说明,请参阅 Describe your Elastic IP addresses

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

相关信息

创建一个由 Amazon EBS 支持的 Linux AMI

创建自定义 Windows AMI

如何在一个 AWS 区域创建 AMI 然后将其复制到另一个区域?