阿里云首页

由于路由问题导致ECS无法连接RDS实例

问题描述

ECS和RDS实例在同一个VPC和地域下,无法通过内网地址连接RDS实例(外网地址可以连接)、ping和telnet都失败。

问题原因

由于安装了Docker等服务导致变更了路由表的条目。

解决方案

阿里云提醒您:

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

适用于

  • 云服务器ECS
  • 云数据库RDS
首页 由于路由问题导致ECS无法连接RDS实例