相比经典网络,专有网络(VPC)中的ECS实例更加安全并且支持更丰富的功能,例如支持绑定弹性公网IP(EIP)。本文介绍如何使用实例迁移计划功能将一台或多台ECS实例从经典网络迁移到专有网络。
前提条件
迁移前,请确保经典网络中的源ECS实例满足以下条件:迁移准备工作
- 为源ECS实例的磁盘创建快照并备份数据。
- 可选:如果源ECS实例关联了云数据库,需要提前将云数据库设置为混访模式。
混访模式的云数据库可以同时接受经典网络类型和VPC类型ECS实例的访问。更多信息,请参见云数据库混访概述。
- 可选:如果源ECS实例关联了具有白名单功能的云数据库服务(例如云数据库RDS),需要提前将目标虚拟交换机的网段加入白名单。
具体操作,请参见设置白名单。
- 可选:建议将应用服务设置为开机自启动,并做好可用性监控,方便在迁移后更快地恢复业务。
- 关闭或卸载源ECS实例上的服务器安全软件。 说明 迁移时会更新ECS实例的设备驱动,因此需要暂时关闭或卸载已安装的服务器安全软件,例如安全狗、护卫神、云锁。
- 对源ECS实例的系统盘,确保预留500 MiB以上的空间。否则可能导致虚拟化驱动安装失败,无法启动。
- 对目标VPC的虚拟交换机,确保预留内网IP地址的数量不少于待迁移ECS实例的数量。
步骤一:了解迁移影响
重要 网络迁移会对实例状态、网络类型、IP地址等有影响。请您在迁移前,务必仔细了解以下迁移影响。
影响项目 | 说明 |
---|---|
迁移时长 | 从源ECS实例停机到迁移后的ECS实例启动,约耗时15分钟。 重要
|
实例状态变化 | 迁移过程中会停止并重新启动ECS实例,建议您预约业务低谷的时间段进行迁移。 |
网络类型变化 | 从经典网络迁移至VPC。更多VPC的介绍,请参见什么是专有网络。 |
软件授权码变化 | 迁移后,软件授权码可能会发生变化。 |
公网/私网IP地址 |
|
磁盘识别名称 |
|
费用 |
|
其他 |
|
步骤二:创建迁移计划
- 登录ECS管理控制台。
- 在左侧导航栏,选择 。
- 在顶部菜单栏左上角处,选择地域。
- 单击创建迁移计划。
- 在创建迁移计划须知对话框中,仔细阅读迁移须知后选中我已认真阅读并了解,然后单击开始创建。
- 在配置迁移计划页面,配置目标VPC、网络属性、网络连通性相关的信息,然后单击下一步。
- 在选择待迁移实例页面,添加待迁移的源ECS实例,然后单击下一步。如果您将保留实例内网IP设置为是,并且需要已迁移至VPC的ECS实例和经典网络中其他尚未迁移的源ECS实例保持内网联通,必须添加所有需要内网联通的源ECS实例(您可以分别设置迁移时间控制迁移顺序)。说明 未添加至迁移计划的源ECS实例将无法通过内网与迁移至VPC的实例联通,且预约迁移后,将不能继续添加ECS实例。
示例如下图所示,①为需要先迁移的ECS实例,②为需要后迁移的ECS实例。
- 在预约迁移页面,设置迁移的时间,然后单击创建验证。在迁移过程中需要停止并重新启动ECS实例,建议您预约业务低谷时间段。支持为各ECS实例分别设置迁移时间:
- 为单台ECS实例设置迁移时间:在该ECS实例的操作列,单击预约迁移时间进行配置。
- 为多台ECS实例批量设置迁移时间:选中多个实例,然后单击批量预约迁移时间进行配置。
- 为全量ECS实例设置统一的迁移时间:单击设置统一迁移时间进行配置。
重要- 对需要暂时保留在经典网络并进行内网联通的ECS实例,请设置较晚的迁移时间,并且在迁移启动前再次评估是否需要将这些ECS实例也迁移到VPC。
- 可设置的迁移时间限制如下:
- 不得早于当前时间。
- 不得晚于ECS实例的到期时间。
另外创建迁移计划后,部分磁盘需要先进行三副本校验,校验时长取决于磁盘大小和校验队列排队情况,待校验完成后才开始迁移。请您根据系统提示设置预约迁移时间。
- 在创建验证对话框,查看迁移注意事项,并验证迁移计划配置是否符合要求。
- 如果迁移计划配置符合要求:选中迁移提示信息,然后单击确认并创建。
- 如果迁移计划配置不符合要求:系统将提示错误信息,您可以根据错误信息定位问题,并重新创建迁移计划。
步骤三:完成迁移
迁移计划创建完成后,系统将在您预约的时间启动迁移,自动将ECS实例从经典网络迁移至VPC。
迁移过程如下:
- 源ECS实例停机。
- 迁移ECS实例的计算网络资源。
- 迁移后的ECS实例启动。
- 继续迁移磁盘数据。
- 完成迁移。
说明 如果跨可用区迁移,在迁移完计算网络资源并启动ECS实例后还会继续迁移磁盘数据,通常情况下迁移100 GiB的磁盘数据耗时4小时左右,期间磁盘I/O性能会短暂下降,且暂时不支持对快照和磁盘进行相关操作。迁移磁盘数据过程中您可以正常使用业务。
步骤四:检查迁移结果
- 在左侧导航栏,选择 。
- 找到已迁移的ECS实例,单击实例ID。
- 在实例详情页面,查看实例的网络类型。如果网络类型为专有网络,说明该ECS实例已成功迁移到VPC。
- 检查内网环境和业务运行环境。
场景 迁移计划 后续操作 经典网络中的ECS实例全部迁移到VPC - 将选择迁移的目标专有网络设置为(默认)系统自动创建专有网络,网段:10.0.0.0/8。
- 将已迁移实例和该计划内还未迁移的经典实例保持内网联通设置为否。
检查业务系统运行是否正常。 部分ECS实例迁移到VPC,部分ECS实例保留在经典网络 - 将选择迁移的目标专有网络设置为(默认)系统自动创建专有网络,网段:10.0.0.0/8。
- 将已迁移实例和该计划内还未迁移的经典实例保持内网联通设置为是。
检查业务系统运行是否正常。 其他场景 将选择迁移的目标专有网络设置为其他网段不是10.0.0.0/8的VPC。 - 根据需要检查网络连通性。
- 该场景下不支持保留源ECS实例的内网IP。如果业务中通过内网IP对接,需要配置为新的内网IP。
- 检查业务系统运行是否正常。
后续步骤
- 如果ECS实例使用Linux系统,并且未保留内网IP,需要修改ECS实例的/etc/hosts文件。
- 执行命令
vi /etc/hosts
打开文件。 - 按i进入编辑模式。
- 将原内网IP修改为新的内网IP。
- 按Esc退出编辑模式。
- 输入:wq,然后按回车键(Enter)。
- 执行命令
- 如果未保留内网IP,还需要在其他云产品的白名单中移除废弃的原内网IP地址。
- 如果跨可用区迁移ECS实例,可能影响和云数据库RDS、云数据Redis、云数据MongoDB等产品的联通性。请及时调整应用的配置,例如将对应的RDS实例等迁移至同一个可用区,确保能够持续提供服务。
具体操作,请参见迁移可用区。
- 如果源ECS实例长时间未重启或升级过内核,迁移后的ECS实例可能会有文件系统检查fsck(File System Check)、相关配置改动失效、启动失败等问题。
- 可选:处理因网卡被删除发生的授权码变化。
在ECS实例上的软件绑定了MAC地址时,如果软件供应商认可阿里云的迁移证明,您可以重新授权;如果授权存在问题,请根据实际情况订正或者选择回滚。
- 可选:如果长时间未重启ECS实例,或者升级内核后未重启ECS实例,在重新启动ECS实例时系统会检查文件系统和更新相关配置。如果出现启动失败等问题,请及时提交工单联系阿里云。
常见问题
迁移后无法打开网站、服务不可用或者无法读写数据库,为什么?
可能是目标安全组没有开启相应通信端口,建议您尝试克隆原有的安全组规则。具体操作,请参见克隆安全组。
迁移后无法正常使用软件,提示授权码过期、授权码无效或者没有授权码,为什么?
- 该应用没有迁移许可计划:建议您联系软件供应商或者渠道伙伴提交验证表单,重新授权。
- 该应用通过绑定MAC地址注册:部分软件采用绑定MAC地址注册合法环境。由于迁移专有网络VPC后,只保留一个MAC地址(公网MAC地址或私网MAC地址),如果没有保留已绑定的MAC地址,会出现授权失败的情况。建议您联系软件供应商,确认在ECS实例上注册该软件时是否以绑定MAC地址的形式,并重新绑定MAC地址。更多信息,请参见弹性网卡概述。
迁移前能使用FTP服务,迁移后不能用了,为什么?
迁移到VPC的ECS实例不再保留公网网卡,会导致FTP服务不可用。建议您:
部分Windows实例迁移后,实例内部找不到数据盘,为什么?
迁移后,部分Windows实例的云盘处于脱机状态,建议您通过以下方式批量设置云盘自动联机。更多信息,请参见Windows系统的ECS实例磁盘脱机处理方法。
- 登录ECS管理控制台。
- 在左侧导航栏,选择 。
- 单击创建/执行命令,然后创建并执行以下云助手命令。云助手命令设置示例如下表所示,其他参数保持默认值即可。更多参数的说明,请参见立即执行命令。
参数 取值 命令类型 PowerShell 命令内容 @("san policy=onlineall") |diskpart
选择实例 选中待修复Windows实例。 - 单击执行并保存。
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实例是否挂载本地盘?
- 登录ECS管理控制台。
- 在左侧导航栏,选择 。
- 在实例列表,目标实例配置列查看是否有本地盘信息。如果有,表示该实例挂载了本地盘。否则表示没有挂载本地盘。