关于因客户端配置错误而导致RDS连接失败的大致的排查方法
发布日期:2015-11-6 14:11:56
关于因客户端配置错误而导致RDS连接失败的大致的排查方法 通常来说,客户端不正确的配置必然会导致连接RDS失败,这时我们可以从以下几个方面检查进而做出必要的修改: 1. DNS出错 通常DNS配置错或者DNS暂时不可用,会导致无法正确解析RDS的连接域名。用户需要检查下DNS配置, 常见类似错误如下: db connect error Unknown MySQL server host 'xxx.mysql.rds.aliyuncs.com'。亦或者直接从服务器上测试RDS的域名是否可以正常解析出IP地址。 2. 应用配置配置 对于MySQL,常见的有端口参数配置错误、域名写错和JDBC等的连接参数配置错误; 对于SQL Server,最常见的是SqlServer management studio 配置出错,例如验证方式,连接参数未带端口等等。 3. 本地安全策略 不同平台需分别考虑。对于Linux平台,可使用 iptables检查防火墙及端口的放行情况。对于Windows平台,可检查Windows的安全策略是否开放RDS端口。 4. 云盾拦截 一般来说,被攻击或者用用户名密码多次错误尝试后,会造成服务器公网IP被云盾拦截, RDS 实例日志中常出现类似如下错误: [Warning] Access denied for user 'username'@'yourIp' (using password: NO) ,而用户端则常出现类似错误: Lost connection to MySQL server at 'reading initial communication packet', system error: 110。 5. 用户名密码错误 如发现RDS 实例日志中出现类似如下错误: [Warning] Access denied for user 'username'@'yourIp' (using password: NO) ,我们就需要检测用户名或密码是否正确。 6. VIP(虚拟IP)绑定问题 RDS升级和迁移可能会更改RDS实例的VIP,通过IP地址或者域名绑定IP地址的方式来访问RDS,可能会造成升级或者迁移后RDS实例无法访问。 用户端会报类似的错误:“ERROR 2812 (RDS00): Connect Failed For RDS backend” 用户端telnet RDS 端口,报类似错误:Trying xxx.xx.xxx.xxx... telnet: connect to address xxx.xx.xxx.xxx: Connection timed out 用户端 ping RDS URL,返回IP和实例VIP不同。
|