如何处理迁移实例和数据库网络连接异常
数据迁移前请确保完成网络准备和安全规则设置。如果连接异常,请按照本节方法排查网络配置是否正确。
本节将以MySQL到RDS for MySQL的迁移为示例,从三种迁移场景(跨云数据库实时迁移、本地数据库实时迁移、ECS自建数据库实时迁移)进行说明。
跨云数据库实时迁移
- 网络准备。
源数据库需要开放公网访问。
- 源数据库的网络设置:
源数据库MySQL实例需要开放外网域名的访问。
以阿里云云数据库RDS MySQL迁移到本云云数据库 RDS for MySQL为例,一般情况下,阿里云RDS MySQL不提供外网地址,需要通过申请外网地址来允许外部的应用对接,具体的操作及注意事项可以参考源数据库所在云提供的相关指导。
- 目标数据库的网络设置:
目标数据库默认与DRS迁移实例处在同一个VPC内,网络是互通的,不需要进行任何设置。
- 源数据库的网络设置:
- 安全规则准备。
- 源数据库的安全规则设置:
源数据库MySQL实例需要将DRS迁移实例的弹性公网IP添加到其网络白名单中,确保源数据库MySQL实例可以与上述弹性公网IP连通。
以上讲述的是精细配置白名单的方法,还有一种简单设置白名单的方法,在安全允许的情况下,可以将源数据库MySQL实例的网络白名单设置为0.0.0.0/0,代表允许任何IP地址访问该实例。
上述的网络白名单是为了进行数据迁移设置的,迁移结束后可以删除。
- 目标数据库安全规则设置:
- 目标数据库默认与DRS迁移实例处在同一个VPC,网络是互通的,DRS可以直接写入数据到目标数据库。
- 设置目标数据库所在VPC的安全组,确保DRS实例IP的出方向到本地数据数据库的IP、监听端口放通。具体设置如下图所示:
图1 出口规则
- 源数据库的安全规则设置:
本地数据库实时迁移
- 网络准备:
- 源数据库的网络设置:
本地MySQL数据库迁移至本云云数据库 RDS for MySQL的场景,一般可以使用VPN网络和公网网络两种方式进行迁移,您可以根据实际情况为本地MySQL数据库开放公网访问或建立VPN访问。一般推荐使用公网网络进行迁移,该方式下的数据迁移过程较为方便和经济。
- 目标数据库的网络设置:
- 若通过VPN访问,请先开通VPN服务,确保源数据库MySQL和目标端本云云数据库 RDS for MySQL的网络互通。
- 若通过公网网络访问,本云云数据库 RDS for MySQL实例不需要进行任何设置。
- 源数据库的网络设置:
- 安全规则准备:
- 源数据库的安全规则设置:
- 若通过公网网络进行迁移,源数据库MySQL需要将DRS迁移实例的弹性公网IP添加到其网络白名单内,使源数据库与本云的网络互通。在设置网络白名单之前,需要获取DRS迁移实例的弹性公网IP,具体方法如下:
- 若通过VPN网络进行迁移,源数据库MySQL需要将DRS迁移实例的私有IP添加到其网络白名单内,使源数据库与本云的网络互通。DRS迁移实例创建成功后,可在“源库及目标库”页面获取DRS迁移实例的私有IP。
以上白名单是为了进行迁移针对性设置的,迁移结束后可以删除。
- 目标数据库安全规则设置:
- 目标数据库默认与DRS迁移实例处在同一个VPC,网络是互通的,DRS可以直接写入数据到目标数据库。
- 设置目标数据库所在VPC的安全组,确保DRS实例IP的出方向到本地数据数据库的IP、监听端口放通。具体设置如下图所示:
图2 出口规则
- 源数据库的安全规则设置:
ECS自建数据库实时迁移
- 网络准备:
- 源数据库所在的region要和目标端本云云数据库 RDS for MySQL实例所在的region保持一致。
- 源数据库可以与目标端本云云数据库 RDS for MySQL实例在同一个VPC,也可以不在同一个VPC。
- 当源库和目标库处于同一个VPC时,网络默认是互通的。
- 当不在同一个VPC的时候,要求源数据库实例和目标端本云云数据库 RDS for MySQL实例所处的子网处于不同网段,此时需要通过建立对等连接实现网络互通。具体建立VPC对等连接的方法,可参考《虚拟私有云用户指南》。
- 安全规则准备:
- 同一VPC场景下,默认网络是连通的,不需要单独设置安全组。
- 不同VPC场景下,通过建立对等连接就可以实现网络互通,不需要单独设置安全组。
排查iptables设置
相关文档
更多关于DRS源数据库部署在不同位置的网络设置说明,可参考这里。