阿里雲Redis外網轉發訪問

一、前提條件

若是您須要從本地 PC 端訪問 Redis 實例進行數據操做,能夠經過在 ECS 上配置端口映射或者端口轉發實現。但必須符合如下前提條件:
若 Redis 實例屬於專有網絡(VPC),ECS 必須與 Redis 實例屬於同一個 VPC。
若 Redis 實例屬於經典網絡,ECS 必須與 Redis 實例屬於同一節點(地域)。
若 Redis 實例開啓了 IP 白名單,必須將 ECS 的內網地址加入白名單列表內。java

二、ECS Linux 篇

目前雲數據庫 Redis 版須要經過 ECS 進行內網鏈接訪問。若是您本地須要經過公網訪問雲數據庫 Redis,能夠在 ECS Linux 雲服務器中安裝 rinetd 進行轉發實現。
在雲服務器 ECS Linux 中安裝 rinetd。linux

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 安裝包下載地址不確保下載可用性,您能夠自行搜索安裝包進行下載使用。

打開配置文件 rinetd.conf。nginx

vi /etc/rinetd.conf

     在配置文件中寫入以下內容:
        0.0.0.0 6379 雲Redis的連接地址 6379
        logfile /var/log/rinetd.log
        說明:您能夠使用 cat /etc/rinetd.conf命令來檢驗配置文件是否修改正確。

執行以下命令啓動 rinetd。redis

[root@iasdfac98s9a9zc0h9z ~]# rinetd
[root@iasdfac98s9a9zc0h9z ~]# ps -ef |grep rinetd
root      1205     1  0 11:13 ?        00:00:00 rinetd

注意
            您能夠經過 echo rinetd >>/etc/rc.local 將 rinetd 設置爲自啓動。
            若遇到綁定報錯,能夠執行 pkill rinetd 結束進程,再執行 rinetd啓動進程 rinetd。
            rinetd 正常啓動後, 執行netstat -anp | grep 6379 確認服務是否正常運行。

netstat 驗證數據庫

[root@iasdfac98s9a9zc0h9z ~]# netstat -tulnp 
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:6379            0.0.0.0:*               LISTEN      1205/rinetd         
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      821/nginx: master p 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1094/sshd           
tcp        0      0 127.0.0.1:32000         0.0.0.0:*               LISTEN      960/java            
udp        0      0 0.0.0.0:68              0.0.0.0:*                           672/dhclient        
udp        0      0 192.168.100.243:123     0.0.0.0:*                           452/ntpd            
udp        0      0 127.0.0.1:123           0.0.0.0:*                           452/ntpd            
udp        0      0 0.0.0.0:123             0.0.0.0:*                           452/ntpd            
udp6       0      0 :::123                  :::*                                452/ntpd

在本地進行驗證測試。
首先,讓你的ECS放開6379端口
而後,鏈接測試:您能夠在本地經過redis-cli鏈接ECS服務器後進行登陸驗證,即redis-cli -h ECS的IP -a Redis的實例ID:Redis密碼 (例如:redis-cli -h 39.106.38.252 -a r-2ze5194129e56544.redis.rds.aliyuncs.com:flzx300ccc)
最後,進行數據寫入及查詢驗證。
本地驗證,經過redis-desktop-manager設置鏈接: 鏈接host:ECS的IP地址 端口:6379 驗證: xxxxxxxxxx.redis.rds.com:flzx300ccc服務器

經過上述步驟便可實現:您本地的 PC 或服務器經過公網鏈接 ECS Linux 6379 端口,對雲數據庫 Redis 進行訪問。網絡

相關文章
相關標籤/搜索