为保障Redis数据库的安全稳定,系统默认禁止所有IP地址访问Redis实例。在开始使用Redis实例前,您需要将客户端的IP地址或IP地址段添加到Redis实例的白名单中。正确使用白名单可以让Redis得到高级别的访问安全保护,建议您定期维护白名单。
准备工作
在为Redis实例设置白名单前,您需要先根据客户端的所属位置,获取应添加的客户端IP地址。
客户端位置 | 连接使用的网络类型 | 获取客户端IP地址的方法 |
---|---|---|
ECS实例(推荐) | 专有网络 | 查询ECS实例的IP地址 说明
|
本地或第三方云 | 公网 | 根据本地设备的操作系统,选择下述方法:
|
白名单设置方法介绍
设置方法 | 说明 |
---|---|
方法一:手动添加白名单 | 手动添加客户端所属的IP地址到Redis实例的白名单,以允许该客户端访问Redis实例。 |
方法二:通过ECS安全组设置白名单 | 安全组是一种虚拟防火墙,用于控制安全组中的ECS实例的出入流量。如果需要授权多个ECS实例访问Redis实例,您可以通过为Redis实例绑定ECS所属安全组的方式实现快速授权(无需手动填写ECS的IP地址),提升运维的便捷性。 |
方法三:通过阿里云App设置白名单(手机端) |
阿里云App是阿里云官方出品的移动应用,为您提供随时随地触达阿里云的能力。通过阿里云App,您可以在手机端快速完成IP白名单的设置,同时还支持云资源监控、了解产品动态、购买云产品等功能。 |
方法一:手动添加白名单
方法二:通过ECS安全组设置白名单
将ECS安全组添加至Redis实例后,该安全组中的所有ECS实例既可以通过内网访问Redis实例,也可以通过外网访问Redis实例(Redis实例需已申请公网连接地址,具体操作,请参见如何通过公网连接Redis实例)。
- 通过本方法设置白名单时,要求ECS实例和Redis实例的网络类型相同(如果是专有网络,则要求属于同一个VPC ID)。
- 暂不支持设置ECS安全组的地域:华南2(河源)、华南3(广州)、华东5(南京)、华北6(乌兰察布)。
方法三:通过阿里云App设置白名单
阿里云App是阿里云官方出品的移动应用,为您提供随时随地触达阿里云的能力。通过阿里云App,您可以在手机端快速完成IP白名单的设置,同时还支持云资源监控、了解产品动态、购买云产品等功能。
常见连接场景
相关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:白名单分组里除了包含客户端的IP地址,还包含了127.0.0.1,这种情况下该客户端可以连接Redis实例吗?
A:该客户端可以正常连接,如果所有的白名单分组里仅剩下127.0.0.1,则禁止所有IP地址连接Redis实例。
- Q:为什么通过redis-cli连上后提示
(error) ERR illegal address
?A:您的redis-cli所属设备的IP地址未添加至白名单中,请确认白名单配置。
- Q:我的设备所属的IP地址没有添加到白名单中,可以通过telnet测试端口连通性吗?
A:可以,telnet命令会返回如下提示:
Escape character is '^]'. Connection closed by foreign host.