网络及安全 本节主要介绍网络及安全问题 数据复制服务有哪些安全保障措施 网络 使用安全组确保访问源为可信的。 使用SSL通道,确保数据传输加密。 如何处理迁移过程中出现的网络中断 迁移过程中如果出现网络中断,可先观察任务状态,当如下状态的迁移任务出现失败时,可在任务列表上单击“续传”,进行任务续传。 全量迁移 增量迁移 如何通过设置VPC安全组,允许本云VPC访问外部弹性IP 默认情况下,基于安全的考虑,本云VPC与外部网络是隔离的,VPC内是无法访问外部的弹性IP,如其他云数据库的弹性IP、云下数据库的弹性IP等。但数据库迁移场景需要确保本云VPC内的迁移实例或者目标数据库可连通外部的弹性IP,从而实现数据库迁移。 为此,您需要在安全组里设置一个出口规则,出口规则控制的是本云VPC可以访问哪些外部的弹性IP和端口范围,安全组的出入口规则一般需要满足“严进宽出”的要求。 如何处理迁移实例和数据库网络连接异常 数据迁移前请确保完成网络准备和安全规则设置。如果连接异常,请按照本节方法排查网络配置是否正确。 本节将以MySQL到RDS for MySQL的迁移为示例,从三种迁移场景(跨云数据库实时迁移、本地数据库实时迁移、ECS自建数据库实时迁移)进行说明。 跨云数据库实时迁移 1. 网络准备。 源数据库需要开放公网访问。 源数据库的网络设置: 源数据库MySQL实例需要开放外网域名的访问。 具体的操作及注意事项可以参考源数据库所在云提供的相关指导。 目标数据库的网络设置: 目标数据库默认与DRS迁移实例处在同一个VPC内,网络是互通的,不需要进行任何设置。 2. 安全规则准备。 源数据库的安全规则设置: 源数据库MySQL实例需要将目标端DRS迁移实例的弹性公网IP添加到其网络白名单中,确保源数据库MySQL实例可以与上述弹性公网IP连通。 在设置网络白名单之前,需要先获取目标端DRS迁移实例的弹性公网IP,具体方法如下:DRS迁移实例创建成功后,可在“源库及目标库”页面获取DRS迁移实例的弹性公网IP。 以上讲述的是精细配置白名单的方法,还有一种简单设置白名单的方法, 在安全允许的情况下 ,可以将源数据库MySQL实例的网络白名单设置为0.0.0.0/0,代表允许任何IP地址访问该实例。 上述的网络白名单是为了进行数据迁移设置的,迁移结束后可以删除。 目标数据库安全规则设置: 目标数据库默认与DRS迁移实例处在同一个VPC,网络是互通的,DRS可以直接写入数据到目标数据库,不需要进行任何设置。 本地数据库实时迁移 3. 网络准备: 源数据库的网络设置: 本地MySQL数据库实时迁移至本云云数据库 RDS for MySQL的场景,一般可以使用VPN网络和公网网络两种方式进行迁移,您可以根据实际情况为本地MySQL数据库开放公网访问或建立VPN访问。一般推荐使用公网网络进行迁移,该方式下的数据迁移过程较为方便和经济。 目标数据库的网络设置 : 若通过VPN访问,请先开通VPN服务,确保源数据库MySQL和目标端本云云数据库 RDS for MySQL的网络互通。 若通过公网网络访问,本云云数据库 RDS for MySQL实例不需要进行任何设置。 4. 安全规则准备: a. 源数据库的安全规则设置: 若通过公网网络进行迁移,源数据库MySQL需要将DRS迁移实例的弹性公网IP添加到其网络白名单内,使源数据库与本云的网络互通。在设置网络白名单之前,需要获取DRS迁移实例的弹性公网IP,具体方法如下: DRS迁移实例创建成功后,可在“源库及目标库”页面获取DRS迁移实例的弹性公网IP。 若通过VPN网络进行迁移,源数据库MySQL需要将DRS迁移实例的私有IP添加到其网络白名单内,使源数据库与本云的网络互通。DRS迁移实例创建成功后,可在“源库及目标库”页面获取DRS迁移实例的私有IP。 以上白名单是为了进行迁移针对性设置的,迁移结束后可以删除。 b. 目标数据库安全规则设置: 目标数据库默认与DRS迁移实例处在同一个VPC,网络是互通的,DRS可以直接写入数据到目标数据库,不需要进行任何设置。 ECS自建数据库实时迁移 5. 网络准备: 源数据库所在的region要和目标端本云云数据库 RDS for MySQL实例所在的region保持一致。 源数据库可以与目标端本云云数据库 RDS for MySQL实例在同一个VPC,也可以不在同一个VPC。 当源库和目标库处于同一个VPC时,网络默认是互通的。 当不在同一个VPC的时候,要求源数据库实例和目标端本云云数据库 RDS for MySQL实例所处的子网处于不同网段,此时需要通过建立对等连接实现网络互通。 6. 安全规则准备: 同一VPC场景下,默认网络是连通的,不需要单独设置安全组。 不同VPC场景下,通过建立对等连接就可以实现网络互通,不需要单独设置安全组。 排查iptables设置 以源数据库为本云ECS自建数据库为例,如果在上述的操作后,仍无法连通,此时需要额外排查iptables设置,因为HOSTGUARD服务在DRS发起频繁连接请求失败时,会将请求IP加入黑名单中。 7. 登录弹性云主机。 8. 执行以下命令,排查是否有DENY相关的项目包含DRS实例的IP,一般项目名称为INHIDSMYSQLDDENYDROP 。 iptables list 9. 如果存在,执行以下命令,查询iptables入方向规则列表,获取具体规则编号(linenumbers)。 iptables L INPUT linenumbers 10. 执行以下命令,删除DRS实例的IP相关的入方向规则(注意:必须从后往前删,不然linenumbers会更新,需要重新查询)。 iptables D 规则项目名 具体规则编号 11. 删除相关iptables规则后重新进行测试连接即可。