阿里云redis映射到阿里云服务器

参考文档:https://help.aliyun.com/document_detail/43850.html?spm=a2c4g.11186623.2.3.7yg9VH

ECS Windows 篇

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

  1. 登录 ECS Windows 服务器,在 cmd 执行以下命令:

    1. <span> netsh <span>interface<span> portproxy add v4tov4 listenaddress<span>=<span>ECS<span>服务器的公网<span>IP<span>地址<span> listenport<span>=<span>6379<span> connectaddress<span>=云数据库<span>Redis<span>的连接地址<span> connectport<span>=<span>6379</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>

    如果需要查看当前服务器存在的映射,可用netsh interface portproxy show all命令。

  2. 设置完成后在本地进行验证测试。

    阿里云redis映射到阿里云服务器
    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 配置代理映射。

  3. 完成相关操作后,如需删除公网转发,可用netsh interface portproxy delete v4tov4 listenaddress=ECS公网服务器的私网IP地址 listenport=6379删除不需要的映射。

ECS Linux 篇

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

  1. 在云服务器 ECS Linux 中安装 rinetd。

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

    注意:rinetd 安装包下载地址不确保下载可用性,您可以自行搜索安装包进行下载使用。

  2. 打开配置文件 rinetd.conf。

    1. <span> vi <span>/<span>etc<span>/<span>rinetd<span>.<span>conf</span></span></span></span></span></span></span>
  3. 在配置文件中输入如下内容:

    1. <span><span>0.0<span>.<span>0.0<span><span>6379<span><span>Redis<span><span>的链接地址<span><span>6379</span></span></span></span></span></span></span></span></span></span></span></span>
    2. <span> logfile <span>/<span>var<span>/<span>log<span>/<span>rinetd<span>.<span>log</span></span></span></span></span></span></span></span></span>

    说明:您可以使用cat /etc/rinetd.conf命令来检验配置文件是否修改正确。

    阿里云redis映射到阿里云服务器
  4. 执行如下命令启动 rinetd。

    1. <span> rinetd</span>

    注意

    • 您可以通过echo rinetd >>/etc/rc.local将 rinetd 设置为自启动。

    • 若遇到绑定报错,可以执行pkill rinetd结束进程,再执行rinetd启动进程 rinetd。

    • rinetd 正常启动后, 执行netstat -anp | grep 6379确认服务是否正常运行。

    阿里云redis映射到阿里云服务器
  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

    2. 连接上 ECS Linux 服务器后,输入连接 Redis 的密码:auth Redis的连接密码

    3. 进行数据写入及查询验证。

      阿里云redis映射到阿里云服务器

通过上述步骤即可实现:您本地的 PC 或服务器通过公网连接 ECS Linux 6379 端口,对云数据库 Redis 进行访问。

相关推荐