通过自定义镜像跨地域复制ECS实例

更新时间:
复制 MD 格式

如果您需要跨地域部署业务或跨地域备份业务,您可以通过自定义镜像的跨地域复制功能将ECS实例从源地域复制到目标地域,新的ECS实例与源ECS实例会拥有相同的环境配置,可以实现快速跨地域复制环境。本文为您介绍如何通过自定义镜像跨地域复制ECS实例。

注意事项

跨地域复制ECS实例前,请您仔细阅读以下注意事项。

  • 在创建自定义镜像期间,系统会对ECS实例的各个云盘自动创建快照,快照将产生一定的费用。有关快照费用的详细信息,请参见快照计费

    说明

    本地盘不支持创建快照,因此包含本地盘的实例不支持本文操作。

  • ECS实例的网络类型为专有网络VPC,新建目标ECS实例时仅支持创建VPC网络类型的ECS实例。

  • 通过自定义镜像跨地域复制ECS实例时,虽然新创建的目标ECS实例中云盘数据与源ECS实例中的云盘数据保持一致,但新创建的目标ECS实例的实例元数据(实例ID、公网/私网IP地址等)会重新生成,与源ECS实例中的实例元数据相比较会发生变化。所以在复制ECS实例前,建议您手动排查资源关联关系,并在复制完成后及时更新资源的关联关系。关于实例元数据的更多信息,请参见实例元数据

步骤一:为源ECS实例创建自定义镜像

  1. 访问ECS控制台-实例

  2. 在顶部菜单栏左上角处,选择地域,本示例为华东1(杭州)。

  3. 找到源ECS实例,单击实例ID进入实例详情页,单击全部操作展开所有操作面板,然后搜索并单击创建自定义镜像

  4. 创建自定义镜像对话框中,完成配置,然后单击确认

  5. 访问ECS控制台-镜像

  6. 自定义镜像页签,找到并查看已创建的Created_from_hangzhouECS1自定义镜像的状态。

    当目标自定义镜像的状态变为可用时,再进行下一步操作。

步骤二:跨地域复制镜像

将源ECS实例跨地域复制到新创建的目标ECS实例前,需要先通过复制镜像功能将自定义镜像复制到目标地域。

  1. 访问ECS控制台-镜像

  2. 在顶部菜单栏左上角处,选择地域,本示例为华东1(杭州)。

  3. 自定义镜像页签,找到Created_from_hangzhouECS1镜像,在操作列单击复制镜像

  4. 复制镜像对话框中,根据复制镜像的不同类型配置参数,然后单击确认

    • 设置复制镜像的名称,例如Copy_from_hangzhouImage1。

    • 选择目标地域,例如华北2(北京)。

    • 其他更多参数说明,请参见复制自定义镜像

  5. 在顶部菜单栏左上角处,切换到华北2(北京)地域,查看Copy_from_hangzhouImage1镜像的进度和状态。

    镜像复制完成后,后续的操作步骤您需要在新的地域下进行。

步骤三:使用自定义镜像新建目标ECS实例

  1. 访问ECS控制台-镜像

  2. 在顶部菜单栏左上角处,选择地域,本示例为华北2(北京)。

  3. 自定义镜像页签,找到复制自定义镜像Copy_from_hangzhouImage1。

  4. 操作列,单击创建实例

  5. ECS实例购买页面,完成资源配置,然后新建目标ECS实例。

    • 地域和镜像信息已自动填充,您无需更改。

    • 根据实际业务需求选择实例规格。

    • 其他更多参数说明,请参见自定义购买实例

步骤四:检查新建ECS实例内的数据

您需要检查新创建的目标ECS实例的相关数据情况,确保实例数据复制后,业务功能仍可流畅运行。例如:

  • 检查云盘数据

    检查新建ECS实例系统盘数据是否与源ECS实例一致,例如比较文件和目录结构是否一致。如果源ECS实例存在数据盘并在目标ECS实例上挂载了相应的云盘,您可以检查数据盘上的数据是否与源ECS实例一致。

  • 运行应用程序或服务

    如果您的源ECS实例上运行了特定的应用程序或服务,您可以尝试在新建ECS实例上运行相同的应用程序或服务,并验证其功能和数据操作是否与源ECS实例一致。

  • 对比资源信息变化

    您可以查看实例信息,对比源ECS实例与新建ECS实例相关的资源信息变化,例如镜像信息、网络配置等。

  • 更新资源的关联关系

    新建ECS实例会重新生成实例元数据,与源ECS实例中的实例元数据相比较会发生变化。您需要在复制完成后及时更新资源的关联关系。例如:

    • 如果应用程序依赖于特定的私有IP地址进行内部通信,复制后必须更新新实例的网络配置,例如修改新实例的私有IP地址与源实例在相同子网内,并检查网络的连通性。修改私有IP地址的操作,可参见主私网IP

    • 如果应用程序依赖DNS域名访问,则在复制后必须更新新实例的DNS配置,以保证外部业务访问的连续性。例如:如何为ECS实例配置自定义DNS服务器地址

业务连续性保障

完成数据验证后,您需要将业务流量切换到目标地域的新实例,并确保切换过程中业务不中断。本节提供切换窗口规划、流量切换策略以及异常回滚步骤,帮助您实现平滑迁移。

源实例保持运行

创建自定义镜像时,系统默认不会停止源实例,源实例上的业务不受影响。创建自定义镜像的对话框会提示为确保数据完整性建议停止实例,但该提示并非强制要求,实例处于运行中状态时同样可以创建自定义镜像。因此,在创建镜像、跨地域复制镜像、新建目标实例的整个准备阶段,源实例都可以持续对外提供服务,直至流量切换完成。

规划切换窗口

选择业务低峰期(如凌晨 0:00–4:00 或法定节假日)作为切换窗口,提前通知业务相关团队。切换前准备以下内容:

  • 回滚条件:明确触发回滚的指标阈值,例如请求成功率低于 99% 持续 5 分钟,或平均响应时间(RT)超过正常值的 3 倍。

  • 回滚联系人:确认各环节(DNS、负载均衡、应用配置)的操作负责人及联系方式。

  • 变更通知:向依赖该业务的上下游系统和外部用户提前告知维护窗口时间。

重要

在切换窗口期间,请保持源实例继续运行,不要执行步骤五的释放操作,直至目标实例通过完整业务验证。

切换业务流量

根据您的业务接入方式,选择以下方法将流量从源实例切换到目标实例:

通过 DNS 切换流量

如果业务通过域名对外提供服务,请先将 DNS 记录的 TTL 值调低(建议调整为 60 秒),等待原 TTL 过期后,再将 DNS 记录中的 IP 地址更新为目标实例的公网或私网 IP。TTL 较低时,DNS 变更的生效速度更快,有助于缩短切换时间。有关 ECS 实例 DNS 配置,请参见如何为ECS实例配置自定义DNS服务器地址

通过负载均衡切换流量

如果您使用了阿里云负载均衡(CLB/ALB)进行流量分发,可执行以下操作:

  1. 将目标实例添加到负载均衡实例的后端服务器组中。

  2. 待目标实例的健康检查状态变为正常后,将源实例从后端服务器组中移除。

此方法可实现秒级流量切换,且切换过程中业务不中断。

更新私网 IP 引用

如果内部系统通过私网 IP 直接访问源实例,迁移至目标地域后,需要在相关应用程序配置中更新对应的私网 IP 地址。迁移后新实例的私网 IP 地址、公网 IP 地址和 MAC 地址都会重新生成,与源实例不同;IP 地址无法在不同地域之间迁移,因此不能沿用源地域的 IP,必须更新 DNS 解析记录或负载均衡后端服务器配置。关于如何修改实例的私网 IP 配置,请参见主私网IP

监控业务指标,确认切换成功

流量切换完成后,持续观察以下关键指标,确认目标实例业务运行正常:

监控指标

说明

建议观察时长

请求成功率

业务层面的成功响应比例,建议维持在 99% 以上

切换后至少 30 分钟

平均响应时间(RT)

显著升高可能表明实例规格不足或配置有误

切换后至少 30 分钟

应用错误日志

关注与 IP 地址、域名或配置路径相关的错误

切换后至少 30 分钟

您可以通过云监控为目标实例配置告警规则,在指标异常时及时收到通知。

异常回滚

如果在切换窗口期间出现以下情况,请立即执行回滚:

  • 目标实例上的应用程序或服务无法正常启动。

  • 业务关键指标超过预设阈值且无法在切换窗口内恢复。

  • 步骤四的数据一致性验证未通过。

回滚步骤

  1. 将 DNS 记录或负载均衡配置切回源实例,使业务流量恢复到源地域。

  2. 确认源实例上的业务已恢复正常访问。

  3. 分析目标实例的异常原因,修复问题后重新规划切换窗口。

(可选)步骤五:释放或删除源ECS实例及相关资源

警告

释放实例、删除快照以及删除镜像的操作为单向操作,一旦操作完成,资源内的数据不可恢复。请确保您已完成所有业务数据的迁移再执行释放或删除资源的操作。

在您仔细检查新建ECS实例与源ECS实例数据没有差异且完成了资源关联关系的更新,确保新建ECS实例内的业务可以流畅运行后,结合自身的实际需求,可以选择释放或删除源ECS实例的相关资源,避免资源持续产生费用。相关操作说明如下:

相关文档

您可以选择服务器迁移中心SMC(Server Migration Center)实现跨账号迁移ECS实例。具体操作,请参见跨账号和同账号ECS实例间迁移