
# 开启Redis公网访问并获取公网访问地址
Redis 4.0及以上版本实例暂不支持绑定弹性IP，可以通过绑定弹性负载均衡（ELB）实现Redis公网访问，本章节介绍开启Redis 4.0及以上版本实例公网访问、获取公网访问连接地址和端口、以及Redis实例或ELB添加IP白名单的操作指导。Redis 3.0实例开启公网访问，请参考[公网连接Redis 3.0（Redis 3.0已停售）](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0713003.html)。
![](https://support.huaweicloud.com/usermanual-dcs/public_sys-resources/note_3.0-zh-cn.png)
Redis实例开启公网访问功能目前仅在"北京四"、"上海一"、"广州"、"深圳"、"贵阳一"、"曼谷"、"新加坡"区域放开使用，其他区域如果不支持，可以[提交工单](https://console.huaweicloud.com/ticket/#/ticketindex/createIndex)联系客服开启该功能。
#### 操作视频
本视频演示如何开启Redis公网访问并获取公网访问地址。因产品功能演进，操作界面可能存在差异，相关视频仅供参考，具体以实际环境为准。
<video controls="controls" preload="none" id="object1432676112112" class="idp-external-video" src="https://res-video.hc-cdn.com/cloudbu-site/china/zh-cn/support/dcs-video/1724811016941959113.mp4" title="开启Redis公网访问" poster="https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000002376270617.jpg" height="335.0000" width="600.0000"></video>
#### 约束与限制
- 仅单机、主备、读写分离、Proxy集群实例支持开启公网访问，Cluster集群实例暂不支持。
- 客户端公网访问Redis，与处于同一VPC下的客户端访问Redis相比，网络时延会增加。
- 因公网性能问题造成的客户端访问异常不计入SLA。
- 客户端通过ELB公网访问Redis，如果Redis配置了IP白名单，需要将ELB内网IP地址添加到Redis实例的IP白名单中，以确保ELB可以访问Redis实例。添加方式请参见[配置ELB内网IP到Redis实例IP白名单（可选）]。
- 客户端通过ELB公网访问Redis，如果需要添加公网IP白名单，请将访问Redis实例的公网IP添加到ELB的IP地址组，添加到Redis实例白名单无效。详情请参见[配置客户端公网IP到ELB IP白名单（可选）]。
 
 #### 前提条件
- 准备弹性负载均衡ELB，创建ELB的操作，请参考[创建独享型负载均衡器](https://support.huaweicloud.com/usermanual-elb/elb_lb_000006.html)。**创建的ELB必须符合以下条件。** 如果已有符合条件的ELB，无需重复创建。
  - ELB的实例类型必须选择"独享型"，**且** **必须开启"IP类型后端（跨VPC后端）"**。
  
  - ELB的规格中必须包含**"网络型（TCP/UDP）"**。
  
  - ELB必须选择与Redis实例相同的VPC。
  
  - ELB必须绑定弹性公网IP（EIP）。
  
  - ELB必须有可用的端口。
  
  - 单个ELB挂载多个实例时，Redis的性能会受限于ELB的规格。
   
- 为保护Redis实例的网络安全性，Redis实例必须配置访问密码，免密访问的实例不支持开启公网访问。如需修改免密访问的实例为密码访问，请参考[重置缓存实例密码](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0312039.html#dcs-ug-0312039__section7753521111)。
 
#### 开启公网访问并获取公网访问地址
1. 登录[分布式缓存服务管理控制台](https://console.huaweicloud.com/dcs)。
2. 在管理控制台左上角单击![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000001932555280.png)，选择实例所在的区域。
3. 单击左侧菜单栏的"缓存管理"，进入缓存管理页面。
4. 单击需要开启公网访问的实例名称，进入该实例的概览页面。
5. 在页面的"连接信息"区域，单击"公网访问"后的"开启"。
6. 在开启公网访问弹窗中勾选需要绑定的ELB，单击"确定"。 
   如果没有可选的ELB，单击页面提示的"弹性负载均衡"跳转链接，可前往ELB控制台页面进行创建。如果已经创建了ELB，未在ELB选择列表中，请参考[前提条件]中的说明排查ELB是否符合绑定条件。
   ![](https://support.huaweicloud.com/usermanual-dcs/public_sys-resources/caution_3.0-zh-cn.png)
   - Redis实例绑定ELB期间，请勿删除绑定的ELB和监听器，并保证ELB可用，否则会影响Redis的正常公网连接。
   
   - 如果需要删除ELB实例，请先在Redis实例详情页面解除绑定（关闭公网连接），再在ELB控制台删除ELB实例。
   
   - 开启公网访问后，Redis实例的域名将与ELB的EIP进行绑定。
    
   图1绑定ELB   
   ![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000001932533366.png "点击放大")
   
   
7. 开启公网状态显示"成功"后，表示开启公网访问成功。
8. 单击左侧菜单栏的"概览"，返回实例概览页面查看公网访问信息。如需关闭公网访问，单击"关闭"。 
   - **开启公网访问后，控制台中显示的"EIP"地址为Redis实例的公网访问地址，"监听器"后的端口号为公网访问的端口。**
     图2公网访问连接地址   
     ![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000001959827905.png "点击放大") 
   
   
   
   - 主备实例开启公网访问后，会生成两个监听器。一个主节点监听器（以listener-master开头）和一个备节点监听器（以listener-slave开头），分别用于监听实例的主节点和备节点。公网连接主备实例时请使用主监听器后的端口用于连接主备实例的主节点。仅当需要配置主备实例读写分离时，需要同时使用主、备监听器端口，分别连接主、备节点。
     图3主备实例公网连接地址   
     ![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000002115649714.png "点击放大") 
   
   - 连接信息中的"连接地址"及"IP地址"为相同VPC内客户端访问Redis时的"域名地址:端口"和"IP地址:端口"。
   
   
   
   
 
 #### 配置ELB内网IP到Redis实例IP白名单（可选）
如果Redis实例配置了IP白名单，需要将ELB内网IP地址添加到Redis实例的IP白名单中，以确保ELB可以访问Redis实例。如果Redis实例没有配置任何IP白名单，所有IP都可以访问该实例，则无需添加ELB内网IP到Redis的IP白名单。
1. 单击"公网访问"中ELB后的链接，跳转到负载均衡器页面。 ![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000001960046241.png "点击放大")
   
2. 复制页面中的ELB"ID"。 ![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000001960046301.png "点击放大")
   
3. 单击页面中"IPv4私有地址"后的地址，跳转到对应子网页面。
4. 选择"IP地址管理"页签，在第二个搜索框中筛选资源ID（已复制的ELB ID），获取ELB内网IP地址。 ![](https://support.huaweicloud.com/usermanual-dcs/zh-cn_image_0000001932969516.png "点击放大")
   
5. 将ELB的全部内网IP地址添加到Redis的IP白名单中，添加方式请参考[配置Redis访问白名单](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-190812001.html)。
 
 #### 配置客户端公网IP到ELB IP白名单（可选）
如果需要配置公网IP白名单，请将访问Redis实例的公网IP添加到ELB的IP地址组。添加ELB IP地址组的操作请参考[访问控制IP地址组](https://support.huaweicloud.com/usermanual-elb/elb_ug_ssf_0004_02.html)。
配置ELB IP地址组（IP白名单）后，仅添加到ELB IP白名单的公网IP可以访问ELB，从而访问Redis，如果不配置，默认全部公网IP都可以访问ELB。
#### 相关文档
- DCS支持API开启或关闭实例公网访问，相关接口文档请参见[开启/修改实例公网访问](https://support.huaweicloud.com/api-dcs/UpdatePublicIp.html)、[关闭实例公网访问](https://support.huaweicloud.com/api-dcs/DeletePublicIp.html)。
- 客户端连接Redis的指导，请参见[使用客户端连接Redis](https://support.huaweicloud.com/usermanual-dcs/dcs-ug-0512002.html)。
 
