Amazon-Web-Services
EC2 實例上的 AWS ElastiCache 需要 Redis GUI
我有一個想要管理的 AWS ElastiCache Redis 集群設置。由於 AWS 不允許您在 VPC 之外訪問 ElastiCache,因此我設置了一個微型 EC2 實例,該實例帶有指向該集群的 phpRedisAdmin 腳本的副本。但 AWS 已禁用 Redis 集群上的“CONFIG”命令,因此 phpRedisAdmin 無法連接和管理 ElastiCache 集群。
我已經嘗試過 redis-browser 節點包,但它在 0.0.0.0:4567 上執行,我需要此實例上的公共 IP 來管理 Redis 集群。
有什麼建議嗎?
您可能想嘗試一下Redsmin。
如果您在與 Redis ElasticCache 相同的子網中有 EC2 實例
筆記:
- 這僅在您連接到的 EC2 實例與您的 ElasticCache Redis 實例位於同一子網中時才有效。
- 以下範例將說明您的 ElastiCache 私有 IP 是
172.31.5.13
並且正在埠上執行6379
。- 以下範例將說明您的 EC2 私有 IP 是
172.31.5.14
並且它的公共 IP 是52.50.145.87
。現在讓我們一步一步來:
通過 SSH 連接到此 EC2 實例
執行
sudo iptables -t nat -A PREROUTING -p tcp --dport 6379 -j DNAT --to-destination 172.31.5.13:6379
不要忘記更改您的 IP 甚至埠號跑
sudo iptables -t nat -A POSTROUTING -p tcp -d 172.31.5.13 --dport 6379 -j SNAT --to-source 172.31.5.14
跑
sudo service iptables save
如果上一個命令不起作用,請嘗試:
- 在 Debian/Ubuntu =>
iptables-save > /etc/iptables/rules.v4
- 在 RHEL/CentOS =>
iptables-save > /etc/sysconfig/iptables
在安全組中添加規則以允許來自 Redsmin IP 的入站請求
62.210.222.165
,協議 = TCP,埠 = 6379在 redsmin 中使用連接字元串添加一個新的 Direct Server:
redis://52.50.145.87:6379
,完成!如果您的 Redis ElasticCache 所在的子網中沒有 EC2 實例
- 按照此亞馬遜教程設置 NAT 實例,將其設置在與 ElastiCache伺服器相同的子網上。
- 現在按照上面的上一節。
如果您只是想將 Redsmin 連接到 EC2 Redis
- 在安全組中添加規則以允許來自 Redsmin IP 的入站請求
62.210.222.165
(例如,不要忘記指定正確的埠6379
)- 使用 EC2 公共 IP 和您打開的埠在 Redsmin 中連接您的 Redis 伺服器。