Amazon-Web-Services

EC2 實例上的 AWS ElastiCache 需要 Redis GUI

  • October 17, 2018

我有一個想要管理的 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 伺服器。

引用自:https://serverfault.com/questions/705263