我想将我的 Amazon Elastic Compute Cloud(Amazon EC2)实例移动或复制到其他子网、可用区或虚拟私有云(VPC)。
简短描述
您无法将现有实例移动到其他子网、可用区或 VPC。相反,您必须从源实例创建新的亚马逊机器映像 (AMI)。然后,在新的子网、可用区或 VPC 中使用新 AMI 启动新实例。最后,将源实例中的所有弹性 IP 地址重新分配给新实例。
要迁移实例,请使用以下方法之一:
解决方法
先决条件:
创建 AMI 时,不会自动为实例上的实例存储卷创建快照。有关详细信息,请参阅如何将我的 Amazon EC2 实例上的实例存储卷备份到 Amazon EBS?
使用 AWSSupport-CopyEC2Instance 运行手册创建新的 AMI 和新实例
必须在与实例相同的 AWS 区域中运行 AWSSupport-CopyEC2Instance 运行手册。
要运行运行手册,请完成以下步骤:
- 打开 AWSSupport-CopyEC2Instance 运行手册。
- 对于 Execute automation document(执行自动化文档),选择 Simple execution(简单执行)。
- 在 Input parameters(输入参数)中,对于 InstanceID,输入要复制的实例的实例 ID。如果使用交互式实例选取器,请选择 Show all instances(显示所有实例)。
- 对于 Region(区域)和 SubnetID,输入要复制实例的目标区域或子网 ID。
- 完成相关的可选字段,然后选择 Execute(执行)。
- 要监控进度,请打开 AWS Systems Manager 控制台,然后在导航窗格中选择 Automation(自动化)。
- 选择正在运行的自动化,然后查看 Executed steps(已执行步骤)。要查看自动化输出,请展开 Outputs(输出)。
运行手册完成后,继续执行“重新分配弹性 IP 地址”部分。
从 AMI 手动启动实例
从实例创建新的 AMI。
然后,完成以下步骤,以从 AMI 启动新实例:
- 打开 Amazon EC2 控制台。
- 在导航窗格中,选择 AMI。
- 将筛选条件设置为 Owned by me(我拥有的),然后选择新的 AMI。
- 选择 Launch instance from AMI(从 AMI 启动实例)。
- 在 Name and tags(名称和标签)下,对于 Name(名称),输入新实例的名称。您可以使用现有的名称和标签。
- 在 Instance type(实例类型)下,选择与要移动的实例相同的实例类型。
- 在 Key pair (login)(密钥对(登录))下,对于 Key pair name(密钥对名称),选择要移动的实例所使用的密钥对。
- 在 Network settings(网络设置)下,配置以下设置:
对于 Network(网络),选择要移动到的 VPC。
在子网中,选择要启动新实例的子网。
对于 Firewall (security groups)(防火墙(安全组)),选择您在要移动的实例上使用的相同安全组。
**注意:**如果您要在 VPC 之间移动实例,则必须在目标 VPC 中创建新的安全组。
(可选)根据新实例的要求配置其余字段。
- 在 Configure storage(配置存储)下,保留默认设置或修改存储设置。
- 展开 Advanced details(高级详细信息)部分,然后根据您的实例配置要求添加参数。
- 在 Summary(摘要)下,查看实例配置的摘要,然后选择 Launch instance(启动实例)。
- 当实例启动时,您会收到一条 Success(成功)消息。要检查实例状态,请在 Success(成功)消息中选择实例 ID。
重新分配弹性 IP 地址
**注意:**新实例具有不同的私有 IPv4 IP 地址或公共 IPv6 IP 地址。使用新的 IP 地址更新所有对先前 IP 地址的引用,例如 DNS 条目。如果您在源实例上使用弹性 IP 地址,则必须将其附加到新实例。
要重新分配弹性 IP 地址,请取消该弹性 IP 地址与源实例的关联。然后,将该弹性 IP 地址与新实例关联。只能在一个区域中使用弹性 IP 地址。如果将实例移至其他区域,则不能使用相同的弹性 IP 地址。
**重要事项:**在确认新实例按预期运行之后,注销 AMI,并删除不再需要的关联快照。
相关信息
创建 Amazon EBS-backed AMI
如何在一个 AWS 区域创建 AMI 然后将其复制到另一个区域?