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

2 分钟阅读
0

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

简短描述

您无法将现有实例移动到其他子网、可用区或 VPC。相反,您必须从源实例创建新的亚马逊机器映像 (AMI)。然后,在新的子网、可用区或 VPC 中使用新 AMI 启动新实例。最后,将源实例中的所有弹性 IP 地址重新分配给新实例。

要迁移实例,请使用以下方法之一:

解决方法

先决条件:

创建 AMI 时,不会自动为实例上的实例存储卷创建快照。有关详细信息,请参阅如何将我的 Amazon EC2 实例上的实例存储卷备份到 Amazon EBS?

使用 AWSSupport-CopyEC2Instance 运行手册创建新的 AMI 和新实例

必须在与实例相同的 AWS 区域中运行 AWSSupport-CopyEC2Instance 运行手册。

要运行运行手册,请完成以下步骤:

  1. 打开 AWSSupport-CopyEC2Instance 运行手册
  2. 对于 Execute automation document(执行自动化文档),选择 Simple execution(简单执行)。
  3. Input parameters(输入参数)中,对于 InstanceID,输入要复制的实例的实例 ID。如果使用交互式实例选取器,请选择 Show all instances(显示所有实例)。
  4. 对于 Region(区域)和 SubnetID,输入要复制实例的目标区域或子网 ID。
  5. 完成相关的可选字段,然后选择 Execute(执行)。
  6. 要监控进度,请打开 AWS Systems Manager 控制台,然后在导航窗格中选择 Automation(自动化)。
  7. 选择正在运行的自动化,然后查看 Executed steps(已执行步骤)。要查看自动化输出,请展开 Outputs(输出)。

运行手册完成后,继续执行“重新分配弹性 IP 地址”部分。

从 AMI 手动启动实例

从实例创建新的 AMI

然后,完成以下步骤,以从 AMI 启动新实例:

  1. 打开 Amazon EC2 控制台
  2. 在导航窗格中,选择 AMI
  3. 将筛选条件设置为 Owned by me(我拥有的),然后选择新的 AMI。
  4. 选择 Launch instance from AMI(从 AMI 启动实例)。
  5. Name and tags(名称和标签)下,对于 Name(名称),输入新实例的名称。您可以使用现有的名称和标签。
  6. Instance type(实例类型)下,选择与要移动的实例相同的实例类型。
  7. Key pair (login)(密钥对(登录))下,对于 Key pair name(密钥对名称),选择要移动的实例所使用的密钥对。
  8. Network settings(网络设置)下,配置以下设置:
    对于 Network(网络),选择要移动到的 VPC。
    子网中,选择要启动新实例的子网。
    对于 Firewall (security groups)(防火墙(安全组)),选择您在要移动的实例上使用的相同安全组。
    **注意:**如果您要在 VPC 之间移动实例,则必须在目标 VPC 中创建新的安全组。
    (可选)根据新实例的要求配置其余字段。
  9. Configure storage(配置存储)下,保留默认设置或修改存储设置。
  10. 展开 Advanced details(高级详细信息)部分,然后根据您的实例配置要求添加参数。
  11. Summary(摘要)下,查看实例配置的摘要,然后选择 Launch instance(启动实例)。
  12. 当实例启动时,您会收到一条 Success(成功)消息。要检查实例状态,请在 Success(成功)消息中选择实例 ID。

重新分配弹性 IP 地址

**注意:**新实例具有不同的私有 IPv4 IP 地址或公共 IPv6 IP 地址。使用新的 IP 地址更新所有对先前 IP 地址的引用,例如 DNS 条目。如果您在源实例上使用弹性 IP 地址,则必须将其附加到新实例。

要重新分配弹性 IP 地址,请取消该弹性 IP 地址与源实例的关联。然后,将该弹性 IP 地址与新实例关联。只能在一个区域中使用弹性 IP 地址。如果将实例移至其他区域,则不能使用相同的弹性 IP 地址。

**重要事项:**在确认新实例按预期运行之后,注销 AMI,并删除不再需要的关联快照

相关信息

创建 Amazon EBS-backed AMI

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