腾讯云无法连接 Redis实例
现象描述
- 现象1:从 CVM 连接登录云数据库 Redis,连接失败。
- 现象2:从数据库管理 DMC 平台连接登录云数据库 Redis,连接失败。
-
可能原因
- 网络问题。
- 安全组问题。
- 密码问题。
- 连接数已满。
- 内存写满或者分片写满。
- 需外网访问实例但无法访问。
- 发生 HA 切换、服务不可用、只读副本切换、只读副本服务不可用等。
- 解决思路
使用 telnet 确认是 Redis 问题还是业务侧问题。
确认是否为密码问题。
调整最大连接数。
确认是否内存写满或分片写满导致写入失败。
通过开启外网地址实现外网访问。
确认是否发生 HA 切换、服务不可用、只读副本切换、只读副本服务不可用等。 -
处理步骤
使用 telnet 确认是 Redis 问题还是业务侧问题
大部分客户遇到的连接失败、无法连接等问题,一般为业务侧问题,可以通过命令行工具以及 telnet 缩小问题范围:[root@VM-4-10-centos ~]# telnet 10.x.x.34 6379
Trying 10.x.x.34...
Connected to 10.x.x.34.
Escape character is '^]'.
如上述所示,提示连接成功代表 Redis 实例没有问题,下面进行业务侧问题排查: - 确认是否为网络问题
云服务器和数据库,须在同一账号同一个 VPC 内(保障同一个地域),或同在基础网络内,才能内网直接互通。
云服务器(CVM)采用私有网络(VPC),Redis 采用基础网络。建议将 Redis 从基础网络切换为 VPC 网络,请参见 配置网络。
CVM 采用基础网络,Redis 采用 VPC。建议将 CVM 从基础网络切换为 VPC 网络,请参见 切换私有网络服务。
CVM 与 Redis 在同一地域内,但属于不同的 VPC 网络。建议将 Redis 迁移到 CVM 所在的 VPC 网络,请参见 配置网络。
CVM 与 Redis 不在同一地域内,属于不同的 VPC 网络。建议在两个 VPC 网络之间建立 云联网。
CVM 与 Redis 为不同账号,属于不同的 VPC 网络。建议在两个 VPC 网络之间建立 云联网。 - 确认是否为安全组问题
若 CVM 和 Redis 的安全组配置有误,则会导致 CVM 无法连接 Redis。
CVM 安全组配置有误
若想使用 CVM 连接 Redis,需在 CVM 安全组中配置出站规则,当出站规格的目标配置不为0.0.0.0/0且协议端口不为 ALL 时,需要把 Redis 的 IP 及端口添加到出站规则中。
登录 安全组控制台,单击安全组名,进入 CVM 绑定的安全组详情页。
选择出站规则页,单击添加规则。
“类型”选择自定义;“目标”填写您 Redis 的 IP 地址(段);“策略”选择允许。
Redis 安全组配置有误
若想指定的 CVM 连接 Redis 实例,需要在 Redis 安全组中配置入站规则,当入站规则的源端配置不为0.0.0.0/0且协议端口不为ALL时,需要把 CVM 的 IP 及端口添加到入站规则中。
登录 安全组控制台,单击安全组名,进入 Redis 绑定的安全组详情页。
选择入站规则页,单击添加规则。
填写您允许连接的 IP 地址(段)及需要放通的端口信息(Redis 内网端口),选择允许放通。
“类型”选择自定义;“来源”填写您 CVM 的 IP 地址(段);“策略”选择允许。注意:
Redis 内网默认端口为6379,同时支持自定义端口,若修改过默认端口号,安全组中需放通 Redis 新端口信息。
安全组入站规则需要放通 Redis 实例的6379端口。
确认是否为密码问题
执行 info 命令进行测试,如果执行提示如下,说明 Redis 密码没有问题。 -
[root@SNG-Qcloud /data/home/rickyu]# redis-cli -h 10.x.x.34 -p 6379 -a password
10.x.x.2:6379> info cpuCPU
used_cpu_sys:1623.176000
used_cpu_user:4649.572000
used_cpu_sys_children:0.000000
used_cpu_user_children:0.000000
如果执行提示NOAUTH Authentication required.代表密码错误。10.0.4.31:6379> info memory
NOAUTH Authentication required.
10.0.4.31:6379>
解决方案
登录 Redis 控制台,单击实例 ID 进入详情页,进行密码重置即可,详情请参见 管理账号。调整最大连接数
登录 Redis 控制台,单击实例 ID,进入实例详情页。
在详情页的最大连接数处,单击调整可修改最大连接数。