场景描述
企业上云最大的难点在于业务数据库迁移,很多企业在上云前,数据库域名或IP往往是已被写入应用客户端代码中,当从本地构建的数据库迁移到RDS时,需要用户修改客户端代码进行应用改造,此过程复杂,且风险高。
解决方案
通过pvtz创建一个与之前相同的数据库域名,然后通过CNAME记录指向RDS分配的系统内网域名,这样在数据库上云过程中,企业用户无需修改客户端代码,能够减少应用改造,降低迁移风险。
资源准备
在进行操作前,请先按照以下列表进行资源准备。
资源 | 数量 | 示例值 |
线下数据库连接域名 | 1 | db.example.com |
Ecs服务器 | 1&more | 1.1.1.1、2.2.2.2 |
RDS数据库实例 | 1 | rm-2ze44q293vs56l9po125010.mysql.rds.aliyuncs.com |
服务开通
登录云解析控制台。
前往 PrivateZone 页面,并单击 立即开通。
在 云产品开通页,阅读并同意 《云解析 PrivateZone(按量付费)服务协议》,并单击 立即开通。
开通成功。产品开通成功后,您可以进入控制台使用该服务。
操作步骤
一、添加Zone及PrivateZone解析记录
在 添加PrivateZone 对话框中,输入 Zone名称,并单击确定。
添加完成,您可在 Zone列表 中看到新添加的Zone。
前往 RDS数据库控制台 查看RDS数据库 内网地址 信息。
返回 云解析控制台 ,在 PrivateZone页面 ,单击 Zone名称,可以进入解析记录页面,为该私有域名添加PrivateZone解析记录。
进行解析记录配置,并点击确定生成解析记录。记录类型:CNAME主机记录:@记录值:rm-2ze44q293vs56l9po125010.mysql.rds.aliyuncs.com(此域名为测试域名,根据实际情况填写)
创建完成后如下图。
返回 PrivateZone页面 进行关联VPC,找到需要关联VPC的Zone,单击其操作列下的 关联VPC。注:在关联VPC前,请确保已经为Zone添加相应PrivateZone解析记录,具体操作可以参考, 添加PrivateZone解析记录。
在关联VPC 对话框中,从对应地域的专有网络列表中选择并添加需要关联的VPC。如,我的客户端源代码部署在ECS:i-2zegrm**t0phtxtk,所在可用区:华北 2,那么下方选择VPC时,直接选择华北2-vpc-tl。
配置完成后,单击确定,完成关联。
二、效果测试
解析测试登录关联的VPC网络内的ECS服务器,进行解析生效测试,返回如下图即为成功。若返回结果异常,请排查解析记录是否正确配置。
dig db.example.com
RDS连接测试登录关联的VPC网络内的ECS服务器,进行远程命令测试,返回如下图即为成功。
mysql -utest_dns -ptest_dns -hdb.example.com -P3306 -Dtest_dns
三、常见错误
ERROR 2003 (HY000): Can’t connect to MySQL server on ‘db.example.com’(110)请检查数据库白名单设置,将ECS的IP加入白名单中。