云数据库Redis版提供多种类型的连接地址,支持在专有网络(VPC)或公网(Internet)环境下,通过DMS、redis-cli或不同程序客户端等多种方式连接至Redis实例。

连接场景介绍

云数据库Redis版默认支持通过 专有网络(VPC) 访问Redis实例,若需要在本地设备或其他仅公网条件下的设备连接时,可以申请Redis实例的公网连接地址,并通过公网访问Redis实例。

  • ECS实例(与Redis实例为同一VPC):推荐通过专有网络连接Redis实例,连接时,需连接Redis实例的专有网络连接地址,可获得更高的安全性和更低的网络延迟。
  • 本地设备、与Redis实例跨地域的ECS实例(与Redis实例为不同VPC):可通过公网连接Redis实例,连接时,需连接Redis实例的公网连接地址,否则会导致连接失败。
Tair连接场景图

前提条件

  • 已将客户端的IP地址添加至Redis实例的白名单中。

    通过专有网络或公网访问Redis实例,均需要先将客户端的IP地址或IP地址段添加到Redis实例的白名单中,才允许访问Redis实例,详情请参见设置白名单

  • 已设置Redis实例的账户密码,用于登录Redis实例。

    您可以通过Redis实例默认账号、新建账号等方式访问Redis实例,详情请参见Redis实例访问方式

操作步骤

本示例介绍如何在与Redis实例为同一专有网络(VPC)的ECS实例(Linux)上通过redis-cli访问Redis实例。

  1. 登录ECS实例,下载、安装redis-cli。
    1. 执行下述命令下载Redis源码文件:
      wget https://download.redis.io/releases/redis-6.0.9.tar.gz
      说明 本文以redis-6.0.9版本为例演示操作流程,您也可以安装其他版本。具体操作,请参见Redis官网
    2. 执行下述命令解压Redis源码文件:
      tar xzf redis-6.0.9.tar.gz
    3. 执行下述命令进入解压后的目录并编译安装Redis源码文件:
      cd redis-6.0.9&&make
      编译安装需要一段时间(通常为2分钟~3分钟)。
  2. 获取连接信息,并在命令行窗口执行下述命令连接Redis实例:
    redis-cli -h hostname -p port [-c]
    表 1. 参数说明
    参数 说明 获取方式
    hostname Redis实例的连接地址
    • 通过专有网络连接:需获取Redis实例的专有网络连接地址。
    • 通过公网连接:需获取Redis实例的公网连接地址。
    具体操作,请参见查看连接地址
    port Redis实例的端口号 端口号,默认为6379。
    -c 启用集群模式

    该模式仅当Redis实例为集群架构,且使用开通直连访问连接时可用。

    连接示例:
    • 默认地址(适用于通过默认地址连接的场景,例如标准架构实例的连接地址或集群架构实例的代理地址):
      redis-cli -h r-bp1zxszhcgatnx****.redis.rds.aliyuncs.com -p 6379
    • 集群架构直连地址(适用于集群架构通过直连地址连接的场景):
      redis-cli -h r-bp1zxszhcgatnx****.redis.rds.aliyuncs.com -p 6379 -c
  3. 执行下述命令完成密码验证:
    AUTH password
    表 2. 参数说明
    参数 说明
    password
    填写账号、密码:
    • 使用默认账号(以实例ID命名的账号):直接填写密码即可。例如实例默认账号为r-bp1zxszhcgatnx****,自定义密码为Password21,密码验证命令为AUTH Password21
    • 使用新创建的账号:密码格式为user:password。例如自定义账号为testaccount,密码为Rp829dlwa,密码验证命令为AUTH testaccount:Rp829dlwa
    说明
    • 如果忘记或未设置密码,您可以重置密码。具体操作,请参见修改或重置密码
    • 如果通过第三方数据库管理工具(例如RDM等)连接Redis实例,请在密码框中输入user:password进行连接,请不要在用户名框中输入任何信息,否则会导致连接失败。
    • 如果实例已开启专有网络免密访问,通过专有网络连接Redis实例时无需执行本步骤即可执行Redis命令。

    示例:

    AUTH testaccount:Rp829dlwa
    显示OK表示已成功连接Redis实例,可执行Redis命令。

其他常用连接方式

客户端 推荐连接网络类型 说明
DMS 专有网络 通过DMS登录Redis
Redis实例同VPC的ECS实例 专有网络
  • Redis实例跨地域的ECS实例
  • 本地设备
公网
特殊连接方式
  • 客户端程序SSL加密连接Redis:启用SSL加密功能提高数据链路的安全性,保障数据的完整性。
  • 使用直连地址访问Redis实例集群架构Redis实例可申请直连地址,通过该地址可直接访问后端的数据分片(类似连接原生Redis集群)。相比 代理模式 ,直连模式节约了通过代理处理请求的时间,可以在一定程度上提高Redis服务的响应速度。
  • Sentinel兼容模式连接Redis实例提供Sentinel(哨兵)兼容模式,开启后客户端可以像连接原生Redis Sentinel一样连接Redis实例。

常见问题

报错信息 原因及解决方法
(error) ERR illegal address
未设置正确的白名单,可依次排查如下事项:
  1. 是否已将客户端的IP地址添加至Redis实例的白名单中,详情请参见设置白名单
  2. 是否选择正确的Redis连接地址,例如通过公网连接Redis实例,需连接Redis实例的公网连接地址,若此时选择Redis实例的专有网络连接地址会导致连接失败。
  3. 使用ECS实例通过专有网络连接时,检查ECS实例是否与Redis实例为同一VPC,若两者不是同一VPC,则可使用公网的方式进行访问。
排查后,可通过ping 实例地址进行测试,例如ping r-bp1zxszhcgatnx****.redis.rds.aliyuncs.com,若返回正常,则表示客户端与Redis实例可正常连接。
(error) ERR client ip is not in whitelist
Could not connect to Redis
  • (error) ERR invalid password
  • (error) WRONGPASS invalid username-password pair
密码错误,请使用正确的密码和密码格式。根据选取账号的不同,密码格式有一定区别。
  • 使用默认账号(以实例ID命名的账号):直接填写密码即可。例如实例默认账号为r-bp1zxszhcgatnx****,自定义密码为Password21,密码验证命令为AUTH Password21
  • 使用新创建的账号:密码格式为user:password。例如自定义账号为testaccount,密码为Rp829dlwa,密码验证命令为AUTH testaccount:Rp829dlwa
说明
  • 如果通过第三方数据库管理工具(例如RDM等)连接Redis实例,请在密码框中输入user:password进行连接,请不要在用户名框中输入任何信息,否则会导致连接失败。
  • 如果忘记密码,您可以重置密码。具体操作,请参见修改或重置密码