为保障Redis数据库的安全稳定,系统默认禁止所有IP地址访问Redis实例。在开始使用Redis实例前,您需要将客户端的IP地址或IP地址段添加到Redis实例的白名单中。正确使用白名单可以让Redis得到高级别的访问安全保护,建议您定期维护白名单。
前提条件
- Redis实例的小版本为最新。关于如何升级,请参见升级小版本。
- 如需通过添加ECS安全组来设置Redis白名单,则Redis实例的引擎版本需为4.0或以上。
白名单设置方法介绍
设置方法 | 说明 |
---|---|
方法一:通过白名单分组设置白名单 | 手动添加客户端所属的IP地址到Redis实例的白名单,以允许该客户端访问Redis实例。 |
方法二:通过ECS安全组设置白名单 | 安全组是一种虚拟防火墙,用于控制安全组中的ECS实例的出入流量。如果需要授权多个ECS实例访问Redis实例,您可以通过为Redis实例绑定ECS所属安全组的方式实现快速授权(无需手动填写ECS的IP地址),提升运维的便捷性。 |
说明 您也可以同时通过上述两种方法设置白名单,白名单分组中的IP地址和安全组中的ECS实例都可以访问该Redis实例。
方法一:通过白名单分组设置白名单
方法二:通过ECS安全组设置白名单
将ECS安全组添加至Redis实例后,该安全组中的所有ECS实例既可以通过内网访问Redis实例,也可以通过外网访问Redis实例(Redis实例需已申请公网连接地址,具体操作,请参见如何通过公网连接Redis实例)。
说明 通过本方法设置白名单时,要求ECS实例和Redis实例的网络类型相同(如果是专有网络,则要求属于同一个VPC ID)。
常见连接场景
相关API
API | 说明 |
---|---|
DescribeSecurityIps | 查询Redis实例的IP白名单。 |
ModifySecurityIps | 设置Redis实例的IP白名单。 |
DescribeSecurityGroupConfiguration | 查询Redis实例白名单中已配置的安全组。 |
ModifySecurityGroupConfiguration | 重新设置Redis实例白名单中的安全组。 |
常见问题
- Q:Redis实例里有一些自动生成的白名单分组,它们的来源是什么?可以删除吗?
A:初始情况下,Redis实例的白名单分组仅包含default,随着对实例执行某些操作,白名单分组会逐渐增多,详情请参见下表。
白名单分组名称 来源说明 default 系统默认白名单分组,不可删除。 ali_dms_group 通过DMS登录Redis实例时,授权DMS自动创建的。具体操作,请参见通过DMS登录Redis。请勿删除或修改该白名单分组,否则可能导致无法通过DMS登录Redis实例。 hdm_security_ips 使用CloudDBA相关功能时(例如通过缓存分析快速发现大Key),授权DAS自动创建的。请勿删除或修改该白名单分组,否则可能导致CloudDBA功能使用异常。 - Q:为什么通过redis-cli连上后提示
(error) ERR illegal address
?A:您的redis-cli所属设备的IP地址未添加至白名单中,请确认白名单配置。
- Q:我的设备所属的IP地址没有添加到白名单中,可以通过telnet测试端口连通性吗?
A:可以,telnet命令会返回如下提示:
Escape character is '^]'. Connection closed by foreign host.