在使用Redis连接地址连接实例时,如果因DNS服务出现问题导致ECS解析连接地址失败,ECS与Redis之间的网络连接将会中断。您可以参考本文解决此类问题。

问题原因

ECS与Redis之间出现连接问题的原因多种多样,DNS解析失败是其中较为常见的一种。

当出现UnknownHostException或者failed to connect: r-***************.redis.rds.aliyuncs.com could not be resolved之类报错,提示未知主机名或连接地址无法正常解析时,请检查域名的正确性和DNS服务器设置。

操作步骤

本文以Linux环境为例进行说明。

  1. 检查业务代码中设置的Redis连接地址是否正确。
    说明 您可以在Redis管理控制台中实例详情页面的连接地址区域查看Redis的连接地址,如下图所示。
    图 1. 查看连接地址
    查看连接地址
  2. 确认ECS实例是否配置了正确的DNS服务器,具体操作请参见Linux系统的ECS实例内部无法正常解析域名
  3. 可选:若以上步骤未能解决问题,您可以采用临时方案。
    /etc/hosts文件中加入Redis的域名和IP映射地址,确保域名可以正常解析,之后参考Redis连接问题排查与解决文档排除其它原因引起的连接问题。
    重要 /etc/hosts文件的编辑方法类似resolv.conf。修改/etc/hosts的方案只能作为临时解决方案,如果Redis实例的IP地址发生改变,该方案将会失效。