1、前提條件
如果您需要從本地 PC 端訪問 Redis 實例進行數據操作,可以通過在 EC2 上配置端口映射或者端口轉發實現。但必須符合以下前提條件:
若 Redis 實例屬於專有網絡(VPC),EC2 必須與 Redis 實例屬於同一個 VPC。
若 Redis 實例屬於經典網絡,EC2 必須與 Redis 實例屬於同一節點(地域)。
若 Redis 實例開啓了 IP 白名單,必須將 EC2 的內網地址加入白名單列表內。
2、EC2 Linux 篇
目前雲數據庫 Redis 版需要通過 EC2 進行內網連接訪問。如果您本地需要通過公網訪問雲數據庫 Redis,可以在 EC2 Linux 雲服務器中安裝 rinetd 進行轉發實現。
在雲服務器 EC2 Linux 中安裝 rinetd。
wget http://www.boutell.com/rinetd/http/rinetd.tar.gz
或者
wget http://www.rinetd.com/download/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。
vi /etc/rinetd.conf
在配置文件中寫入如下內容:
0.0.0.0 6379 雲Redis的鏈接地址 6379
logfile /var/log/rinetd.log
說明:您可以使用 cat /etc/rinetd.conf命令來檢驗配置文件是否修改正確。
執行如下命令啓動 rinetd。
[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
在本地進行驗證測試。
首先,讓你的EC2放開6379端口
然後,連接測試:您可以在本地通過redis-cli連接EC2服務器後進行登錄驗證,即redis-cli -h EC2的IP -a Redis的實例ID:Redis密碼 (例如:redis-cli -c -h ip -a user:passwd)通過上述步驟即可實現:您本地的 PC 或服務器通過公網連接 EC2 Linux 6379 端口,對雲數據庫 Redis 進行訪問。
標籤:intern local 下載地址 res rc.local wget pki 安裝包 tar -xvf
原文地址:https://www.cnblogs.com/linuxk/p/10075803.html