问题描述
ECS和RDS实例在同一个VPC和地域下,无法通过内网地址连接RDS实例(外网地址可以连接),Ping和Telnet命令执行失败。
问题原因
由于安装了Docker等服务导致变更了路由表的条目。
解决方案
重要
如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
登录问题ECS实例,执行以下命令,使用Ping命令测试RDS实例内网地址。
ping rm-XXX-mysql.rds.aliyuncs.com
系统显示类似如下,即使Ping不通也可以获取RDS实例内网IP。
执行以下命令,查看ECS实例的路由表信息。
route -n
系统显示类似如下,确认存在因为Docker等服务添加的路由条目(您也可以和正常的ECS实例路由表对比确认)。
执行以下命令,添加路由条目。
route add -net [$Network] gw [$Gateway] dev [$Network_Card]
说明您需确认在实际环境下添加该路由条目不影响当前业务。
[$Network]
为RDS实例所在的网段。[$Gateway]
为网关地址,您可以使用ECS实例的内网地址。[$Network_Card]
为ECS实例内网IP所在网卡名称,一般为eth0。
执行以下命令,确认可以正常Ping通。
ping rm-XXX-mysql.rds.aliyuncs.com
适用于
云数据库RDS
云服务器ECS