相比经典网络,专有网络(VPC)中的ECS实例更加安全并且支持更丰富的功能,例如支持绑定弹性公网IP(EIP)。本文介绍如何使用实例迁移计划功能将一台或多台ECS实例从经典网络迁移到专有网络。

前提条件

迁移前,请确保经典网络中的源ECS实例满足以下条件:
  • 磁盘条件:ECS实例没有挂载本地盘。如果ECS实例挂载了本地盘,请提交工单咨询迁移方式。
    说明 如何查看ECS实例是否挂载本地盘,请参见常见问题
  • 带宽条件:ECS实例公网带宽大于0 Mbps。如果ECS实例分配了公网IP地址,但公网带宽为0 Mbps,需要先升级公网带宽。具体操作,请参见修改公网带宽
  • 地域条件:位于支持ECS实例迁移计划功能的地域,包括华北1(青岛)、华北2(北京)、华东1(杭州)、华东2(上海)、华南1(深圳)、中国(香港)、美国(硅谷)、新加坡。
    重要 华东1(杭州)地域可用区C中的部分ECS实例不支持迁移。

迁移准备工作

  1. 为源ECS实例的磁盘创建快照并备份数据。
    具体操作,请参见创建一个云盘快照
    说明 使用快照会产生计费。更多信息,请参见快照计费
  2. 可选:如果源ECS实例关联了云数据库,需要提前将云数据库设置为混访模式。

    混访模式的云数据库可以同时接受经典网络类型和VPC类型ECS实例的访问。更多信息,请参见云数据库混访概述

  3. 可选:如果源ECS实例关联了具有白名单功能的云数据库服务(例如云数据库RDS),需要提前将目标虚拟交换机的网段加入白名单。

    具体操作,请参见设置白名单

  4. 可选:建议将应用服务设置为开机自启动,并做好可用性监控,方便在迁移后更快地恢复业务。
  5. 关闭或卸载源ECS实例上的服务器安全软件。
    说明 迁移时会更新ECS实例的设备驱动,因此需要暂时关闭或卸载已安装的服务器安全软件,例如安全狗、护卫神、云锁。
  6. 对源ECS实例的系统盘,确保预留500 MiB以上的空间。否则可能导致虚拟化驱动安装失败,无法启动。
  7. 对目标VPC的虚拟交换机,确保预留内网IP地址的数量不少于待迁移ECS实例的数量。

步骤一:了解迁移影响

重要 网络迁移会对实例状态、网络类型、IP地址等有影响。请您在迁移前,务必仔细了解以下迁移影响。
影响项目说明
迁移时长从源ECS实例停机到迁移后的ECS实例启动,约耗时15分钟。
重要
  • 迁移后的ECS实例启动,代表计算网络资源已迁移完成,您就可以正常使用业务。
  • 如果跨可用区迁移,在ECS实例启动后还会继续迁移磁盘数据,通常情况下迁移100 GiB的磁盘数据耗时4小时左右,期间磁盘I/O性能会短暂下降,且暂时不支持对快照和磁盘进行相关操作。迁移磁盘数据过程中您可以正常使用业务。
实例状态变化迁移过程中会停止并重新启动ECS实例,建议您预约业务低谷的时间段进行迁移。
网络类型变化从经典网络迁移至VPC。更多VPC的介绍,请参见什么是专有网络
软件授权码变化迁移后,软件授权码可能会发生变化。
公网/私网IP地址
  • 公网IP地址:保持不变。
    重要 VPC中的ECS实例没有公网网卡,通过NAT方式访问公网,在ECS实例内只能查看到内网IP。如果应用依赖操作系统中可见的公网IP,请谨慎评估是否迁移。
  • 私网IP地址:支持自定义是否保留内网IP。您也可以在迁移完成后自行修改内网IP,具体操作,请参见修改私有IP地址
磁盘识别名称
  • Linux实例:部分ECS实例会在迁移的同时升级底层虚拟化技术,可能导致磁盘识别名称会发生变化。在Linux实例中,磁盘会被识别为vda、vdb、vdc等名称。
    • 如果源ECS实例的磁盘识别名称已经是vda、vdb、vdc等,不会发生变化。
    • 如果源ECS实例的磁盘识别名称是xvda、xvdb、xvdc,迁移后会被识别为vda、vdb、vdc等。阿里云会为Linux实例自动修复/etc/fstab文件,但您仍需关注其他应用是否依赖旧的磁盘识别名称。
  • Windows实例:不受影响。
费用
  • 迁移本身不额外计费。包年包月ECS实例从新的计费周期(迁移完成)开始,实例规格的单价会发生变化,同等配置条件下VPC实例的费用低于经典网络实例。
  • 取消未生效和未支付的续费变配订单,您可以重新操作续费变配。
其他
  • ECS实例的ID、用户名、登录密码不变。
  • 如果负载均衡SLB的虚拟服务器组(VServerGroup)中添加了源ECS实例,迁移后的ECS实例不会自动添加,您需要手动添加。具体操作,请参见编辑虚拟服务器组

步骤二:创建迁移计划

  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择运维与监控 > 实例迁移计划
  3. 在顶部菜单栏左上角处,选择地域。
  4. 单击创建迁移计划
  5. 创建迁移计划须知对话框中,仔细阅读迁移须知后选中我已认真阅读并了解,然后单击开始创建
    迁移须知
  6. 配置迁移计划页面,配置目标VPC、网络属性、网络连通性相关的信息,然后单击下一步
    1. 设置目标可用区与专有网络。
      设置网络
      配置项说明
      请输入计划名称自定义迁移计划名称。
      选择目标可用区从下拉列表中选择迁移后ECS实例所属的目标可用区。可选的可用区由系统根据资源情况自动规划,如果您需要将源ECS实例迁移至指定的可用区,但下拉列表中没有该可用区,请提交工单咨询。
      说明 一个实例迁移计划仅支持选择一个目标可用区。如果您需要将多台源ECS实例分别迁移至多个目标可用区,请根据需要分别创建多个迁移计划。
      选择迁移的目标专有网络从下拉列表中选择迁移后ECS实例所属的目标专有网络。目标专有网络的网段设置决定了能否保留源ECS实例的内网IP,如下所示:
      • 如果需要保留源ECS实例的内网IP,必须选择网段为10.0.0.0/8的VPC。根据是否自行创建了此类VPC选择:
        • 如果您尚未创建网段为10.0.0.0/8的VPC,选择(默认)系统自动创建专有网络,网段:10.0.0.0/8即可,系统将自动创建网段为10.0.0.0/8的VPC。
        • 如果您已经创建了网段为10.0.0.0/8的VPC,则选择该VPC。
      • 如果无需保留源ECS实例的内网IP:根据自己的网络规划,选择网段不是10.0.0.0/8的其他VPC。
    2. 设置实例网络属性。
      网络属性
      配置项说明
      目标安全组选择迁移后ECS实例所属的安全组。
      • (默认)克隆经典实例安全组:克隆源ECS实例所属的经典网络安全组,目标安全组的安全组规则和该经典网络安全组保持一致。
        重要
        • 克隆安全组时,经典网络安全组的组组授权对象不能是托管安全组。
        • 如果您在设置目标可用区与专有网络时,将选择迁移的目标专有网络设置为(默认)系统自动创建专有网络,网段:10.0.0.0/8,则仅支持选中该选项自动克隆经典网络安全组,不支持自定义安全组。
      • 指定安全组:从下拉列表中选择您已经创建的安全组。
        重要 如果该安全组的安全组规则设置不当,在迁移后会影响ECS实例的网络访问,请确保安全组规则设置符合您对网络访问的预期。
      优先保留MAC地址策略在经典网络中,如果ECS实例分配了公网IP,会同时拥有公网MAC地址和私网MAC地址。在专有网络中,ECS实例则只拥有私网MAC地址,通过NAT方式映射实现访问公网。

      因此,您需要选择迁移后使用哪一个MAC地址,请根据业务系统需要选择保留私网MAC公网MAC

      • 如果业务系统绑定了MAC地址,例如业务系统中直接配置了MAC地址、部分软件采用绑定MAC地址的方式注册,请选择保留对应的MAC地址。
        • (默认)私网MAC:无论实例是否有公网MAC,迁移后实例的MAC地址均为私网MAC。
        • 公网MAC:如果实例有公网MAC,则迁移后实例的MAC地址为公网MAC。如果实例没有公网MAC,则迁移后实例的MAC地址为私网MAC。
      • 如果业务系统没有绑定MAC地址,则保留任选一项即可。
    3. 设置实例网络连通性。
      实例连通
      配置项说明
      保留实例内网IP选择是否保留源ECS实例的内网IP地址。如果保留,需要设置如何创建虚拟交换机;如果不保留,需要选择已创建的虚拟交换机。
      • :保留源ECS实例的内网IP地址,这时需要继续设置创建虚拟交换机策略
        • 创建虚拟交换机策略自动时,由系统根据内网IP地址自动创建网段符合要求的虚拟交换机。请确保对应的网段未被其他虚拟交换机占用,否则虚拟交换机会创建失败。
          说明 如果您在设置目标可用区与专有网络时,将选择迁移的目标专有网络设置为(默认)系统自动创建专有网络,网段:10.0.0.0/8,则系统自动保留源ECS实例内网IP并自动创建虚拟交换机,创建虚拟交换机策略仅支持设置为自动
        • 创建虚拟交换机策略手动时,您需要自行创建符合目标可用区、源ECS实例的内网IP地址要求的虚拟机交换机。
          说明 仅在选择迁移的目标专有网络设置为自行创建的网段为10.0.0.0/8的VPC时,才支持将创建虚拟交换机策略设置为手动
      • :不保留源ECS实例的内网IP地址,继续从下拉列表中选择您希望使用的虚拟交换机即可。
        说明 如果在下拉列表中找不到您已经创建的虚拟交换机,可能原因是该虚拟交换机不在迁移ECS实例的目标可用区,请在目标可用区重新创建虚拟交换机。具体操作,请参见创建和管理交换机
      已迁移实例和该计划内还未迁移的经典实例保持内网联通在迁移计划包括了多台ECS实例时,已迁移至VPC的ECS实例和经典网络中其他尚未迁移的源ECS实例是否保持内网联通,内网联通的设置方法由是否保留了源ECS实例的内网IP地址决定。
      • 保留了源ECS实例的内网IP地址
        • 无需内网联通:选择
        • 需要内网联通:选择,并在下一步选择待迁移实例页面中添加所有需要内网联通的源ECS实例(您可以分别设置迁移时间控制迁移顺序)。
          说明 未添加至迁移计划的源ECS实例将无法通过内网与迁移至VPC的ECS实例联通,且预约迁移后,将不能继续添加ECS实例。
      • 不保留源ECS实例的内网IP地址
        • 无需内网联通:无需额外配置,继续下一步操作即可。
        • 需要内网联通:请在启动迁移前自行为源ECS实例配置ClassicLink链接,具体操作,请参见经典网络和专有网络互通
  7. 选择待迁移实例页面,添加待迁移的源ECS实例,然后单击下一步
    如果您将保留实例内网IP设置为,并且需要已迁移至VPC的ECS实例和经典网络中其他尚未迁移的源ECS实例保持内网联通,必须添加所有需要内网联通的源ECS实例(您可以分别设置迁移时间控制迁移顺序)。
    说明 未添加至迁移计划的源ECS实例将无法通过内网与迁移至VPC的实例联通,且预约迁移后,将不能继续添加ECS实例。

    示例如下图所示,①为需要先迁移的ECS实例,②为需要后迁移的ECS实例。

    选择实例
  8. 预约迁移页面,设置迁移的时间,然后单击创建验证
    在迁移过程中需要停止并重新启动ECS实例,建议您预约业务低谷时间段。支持为各ECS实例分别设置迁移时间:
    • 为单台ECS实例设置迁移时间:在该ECS实例的操作列,单击预约迁移时间进行配置。
    • 为多台ECS实例批量设置迁移时间:选中多个实例,然后单击批量预约迁移时间进行配置。
    • 为全量ECS实例设置统一的迁移时间:单击设置统一迁移时间进行配置。
    重要
    • 对需要暂时保留在经典网络并进行内网联通的ECS实例,请设置较晚的迁移时间,并且在迁移启动前再次评估是否需要将这些ECS实例也迁移到VPC。
    • 可设置的迁移时间限制如下:
      • 不得早于当前时间。
      • 不得晚于ECS实例的到期时间。

      另外创建迁移计划后,部分磁盘需要先进行三副本校验,校验时长取决于磁盘大小和校验队列排队情况,待校验完成后才开始迁移。请您根据系统提示设置预约迁移时间。

  9. 创建验证对话框,查看迁移注意事项,并验证迁移计划配置是否符合要求。
    • 如果迁移计划配置符合要求:选中迁移提示信息,然后单击确认并创建
    • 如果迁移计划配置不符合要求:系统将提示错误信息,您可以根据错误信息定位问题,并重新创建迁移计划。

步骤三:完成迁移

迁移计划创建完成后,系统将在您预约的时间启动迁移,自动将ECS实例从经典网络迁移至VPC。迁移完成
迁移过程如下:
  1. 源ECS实例停机。
  2. 迁移ECS实例的计算网络资源。
  3. 迁移后的ECS实例启动。
  4. 继续迁移磁盘数据。
  5. 完成迁移。
说明 如果跨可用区迁移,在迁移完计算网络资源并启动ECS实例后还会继续迁移磁盘数据,通常情况下迁移100 GiB的磁盘数据耗时4小时左右,期间磁盘I/O性能会短暂下降,且暂时不支持对快照和磁盘进行相关操作。迁移磁盘数据过程中您可以正常使用业务。

步骤四:检查迁移结果

  1. 在左侧导航栏,选择实例与镜像 > 实例
  2. 找到已迁移的ECS实例,单击实例ID。
  3. 实例详情页面,查看实例的网络类型。
    如果网络类型为专有网络,说明该ECS实例已成功迁移到VPC。查看结果
  4. 检查内网环境和业务运行环境。
    场景迁移计划后续操作
    经典网络中的ECS实例全部迁移到VPC
    • 选择迁移的目标专有网络设置为(默认)系统自动创建专有网络,网段:10.0.0.0/8
    • 已迁移实例和该计划内还未迁移的经典实例保持内网联通设置为
    检查业务系统运行是否正常。
    部分ECS实例迁移到VPC,部分ECS实例保留在经典网络
    • 选择迁移的目标专有网络设置为(默认)系统自动创建专有网络,网段:10.0.0.0/8
    • 已迁移实例和该计划内还未迁移的经典实例保持内网联通设置为
    检查业务系统运行是否正常。
    其他场景选择迁移的目标专有网络设置为其他网段不是10.0.0.0/8的VPC。
    1. 根据需要检查网络连通性。
    2. 该场景下不支持保留源ECS实例的内网IP。如果业务中通过内网IP对接,需要配置为新的内网IP。
    3. 检查业务系统运行是否正常。

后续步骤

  1. 如果ECS实例使用Linux系统,并且未保留内网IP,需要修改ECS实例的/etc/hosts文件。修改hosts
    1. 执行命令vi /etc/hosts打开文件。
    2. i进入编辑模式。
    3. 将原内网IP修改为新的内网IP。
    4. Esc退出编辑模式。
    5. 输入:wq,然后按回车键(Enter)。
  2. 如果未保留内网IP,还需要在其他云产品的白名单中移除废弃的原内网IP地址。

    例如,RDSSLBOSS等支持设置白名单的云产品。

  3. 如果跨可用区迁移ECS实例,可能影响和云数据库RDS、云数据Redis、云数据MongoDB等产品的联通性。请及时调整应用的配置,例如将对应的RDS实例等迁移至同一个可用区,确保能够持续提供服务。

    具体操作,请参见迁移可用区

  4. 如果源ECS实例长时间未重启或升级过内核,迁移后的ECS实例可能会有文件系统检查fsck(File System Check)、相关配置改动失效、启动失败等问题。
  5. 可选:处理因网卡被删除发生的授权码变化。

    在ECS实例上的软件绑定了MAC地址时,如果软件供应商认可阿里云的迁移证明,您可以重新授权;如果授权存在问题,请根据实际情况订正或者选择回滚。

  6. 可选:如果长时间未重启ECS实例,或者升级内核后未重启ECS实例,在重新启动ECS实例时系统会检查文件系统和更新相关配置。如果出现启动失败等问题,请及时提交工单联系阿里云。

常见问题

迁移后无法打开网站、服务不可用或者无法读写数据库,为什么?

可能是目标安全组没有开启相应通信端口,建议您尝试克隆原有的安全组规则。具体操作,请参见克隆安全组

迁移后无法正常使用软件,提示授权码过期、授权码无效或者没有授权码,为什么?

  • 该应用没有迁移许可计划:建议您联系软件供应商或者渠道伙伴提交验证表单,重新授权。
  • 该应用通过绑定MAC地址注册:部分软件采用绑定MAC地址注册合法环境。由于迁移专有网络VPC后,只保留一个MAC地址(公网MAC地址或私网MAC地址),如果没有保留已绑定的MAC地址,会出现授权失败的情况。建议您联系软件供应商,确认在ECS实例上注册该软件时是否以绑定MAC地址的形式,并重新绑定MAC地址。更多信息,请参见弹性网卡概述

迁移前能使用FTP服务,迁移后不能用了,为什么?

迁移到VPC的ECS实例不再保留公网网卡,会导致FTP服务不可用。建议您:
  1. 转换实例公网IP为弹性公网IP(EIP)
  2. 设置EIP网卡可见模式
说明 部分已停售的实例规格上一代入门级实例规格不支持挂载弹性网卡,这时建议您升级为具有兼容性的实例规格后采用以上方案,具体操作,请参见升降配方式概述

部分Windows实例迁移后,实例内部找不到数据盘,为什么?

迁移后,部分Windows实例的云盘处于脱机状态,建议您通过以下方式批量设置云盘自动联机。更多信息,请参见Windows系统的ECS实例磁盘脱机处理方法

  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择运维与监控 > 发送命令/文件(云助手)
  3. 单击创建/执行命令,然后创建并执行以下云助手命令。
    云助手命令设置示例如下表所示,其他参数保持默认值即可。更多参数的说明,请参见立即执行命令
    参数取值
    命令类型PowerShell
    命令内容
    @("san policy=onlineall") |diskpart
    选择实例选中待修复Windows实例。
  4. 单击执行并保存

ECS实例从经典网络迁移到VPC后,使用FTP传输文件失败,为什么?

经典网络中的ECS实例会有公网网卡和私网网卡,而VPC中的ECS实例只有私网网卡。因此,如果您的应用必须识别公网IP,就需要进行特殊配置。

大部分客户端会使用FTP被动模式访问FTP Server,该模式下需要FTP Server将其IP地址告知客户端,由于专有网络下无法直接识别公网IP,就将内网IP告知了客户端,客户端使用该内网IP尝试访问就会失败。

因此,使用VPC中ECS实例作为FTP Server时,建议主动将ECS实例的公网IP告知FTP Server程序。由于FTP Server程序类型众多,设置方式也存在差异,请您根据使用的程序类型搜索设置方法。以常见的vsftpd为例,打开vsftpd的配置文件,并加入以下内容:
listen_ipv6=NO
pasv_address=<PublicIP>
说明<PublicIP>替换为ECS实例的公网IP地址,推荐使用弹性公网IP。

如何查看ECS实例是否挂载本地盘?

  1. 登录ECS管理控制台
  2. 在左侧导航栏,选择实例与镜像 > 实例
  3. 在实例列表,目标实例配置列查看是否有本地盘信息。
    如果有,表示该实例挂载了本地盘。否则表示没有挂载本地盘。实例挂载本地盘

相关文档