电光石火电光石火

陌晴博客
ilkhome.cn

公网连接阿里云Redis

前提条件

如果您需要从本地 PC 端访问 Redis 实例进行数据操作,可以通过在 ECS 上配置端口映射或者端口转发实现。但必须符合以下前提条件:

  • 若 Redis 实例属于专有网络(VPC),ECS 必须与 Redis 实例属于同一个 VPC。
  • 若 Redis 实例属于经典网络,ECS 必须与 Redis 实例属于同一节点(地域)。
  • 已将访问数据库的 ECS 服务器私网地址加到目标 Redis 实例的白名单中。详情请参见设置 IP 白名单
  • 已在 ECS 服务器的安全组中添加安全组规则,允许本地 PC 的公网地址和 Redis 实例的私网地址对 ECS 服务器的访问。详情请参见添加安全组规则


ECS Windows 篇
目前云数据库 Redis 版需要通过 ECS 的内网进行连接访问,如果您需要本地通过公网访问云数据库 Redis 版,可以在 ECS Windows 云服务器中通过 netsh 进行端口映射实现。
登录 ECS Windows 服务器,在 cmd 执行以下命令:

netsh interface portproxy add v4tov4 listenaddress=ECS服务器的私网IP地址 listenport=6379 connectaddress=云数据库Redis的连接地址 connectport=6379

如果需要查看当前服务器存在的映射,可用netsh interface portproxy show all命令。
设置完成后在本地进行验证测试。
1.在本地通过 redis-cli 连接 ECS Windows 服务器。假设 ECS Windows 服务器的 IP 是 1.1.1.1,即 telnet 1.1.1.1 6379。
2.连接上 ECS windows 服务器后,输入连接 Redis 的密码:auth Redis的连接密码。
3.进行数据写入及查询验证。
通过上述步骤即可实现:您本地 PC 或服务器通过公网连接 ECS Windows 6379端口,对云数据库 Redis 进行访问。


注意:因 portproxy 由微软官方提供,未开源使用,您如果配置使用过程中遇到疑问,可参看 netsh 的 portproxy 使用说明或向微软官方咨询确认。或者您也可以考虑通过其他的方案实现,比如通过 portmap 配置代理映射。


ECS Linux 篇
目前云数据库 Redis 版需要通过 ECS 进行内网连接访问。如果您本地需要通过公网访问云数据库 Redis,可以在 ECS Linux 云服务器中安装 rinetd 进行转发实现。
1.在云服务器 ECS Linux 中安装 rinetd。

wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz&&cd rinetd
sed -i 's/65536/65535/g' rinetd.c (修改端口范围)
mkdir /usr/man&&make&&make install


注意:rinetd 安装包下载地址不确保下载可用性,您可以自行搜索安装包进行下载使用。
2.打开配置文件 rinetd.conf。

vi /etc/rinetd.conf

3.在配置文件中输入如下内容:

0.0.0.0 6379 Redis 的链接地址 6379
logfile /var/log/rinetd.log

4.执行如下命令启动 rinetd。

rinetd

您可以通过 echo rinetd >>/etc/rc.local 将 rinetd 设置为自启动。
若遇到绑定报错,可以执行 pkill rinetd 结束进程,再执行 rinetd启动进程 rinetd。
rinetd 正常启动后, 执行netstat -anp | grep 6379 确认服务是否正常运行。15380184851165_zh-CN.png
5.在本地进行验证测试。
5.1.您可以在本地通过 redis-cli 连接 ECS Linux 服务器后进行登录验证,比如安装了 rinetd 的服务器的 IP 是 1.1.1.1,即redis-cli -h 1.1.1.1 -a Redis的实例ID:Redis密码。或者通过 telent 连接 ECS Linux 服务器后进行操作验证。假设 ECS Linux 服务器的 IP 是 1.1.1.1,即 telnet 1.1.1.1 6379。
5.2.连接上 ECS Linux 服务器后,输入连接 Redis 的密码:auth Redis的连接密码。
5.3.进行数据写入及查询验证。

本博客所有文章如无特别注明均为原创。作者:似水的流年
版权所有:《电光石火》 => 公网连接阿里云Redis
本文地址:http://www.ilkhome.cn/index.php/archives/438/
欢迎转载!复制或转载请以超链接形式注明,文章为 似水的流年 原创,并注明原文地址 公网连接阿里云Redis,谢谢。

评论