在EC2实例上使用AWS ElastiCache所需的Redis GUI

我有一个我希望pipe理的AWS ElastiCache Redis集群设置。 由于AWS不允许您在VPC之外访问ElastiCache,因此我已经设置了一个微EC2实例,该实例携带指向此群集的phpRedisAdmin脚本副本。 但是AWS已经禁用了Redis集群上的“CONFIG”命令,所以phpRedisAdmin无法连接和pipe理ElastiCache集群。

我已经尝试了redis浏览器节点包,但它运行在0.0.0.0:4567,我需要在这个实例上的公共IP来pipe理Redis群集。

任何build议?

你可能想尝试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入站请求,protocol = TCP,port = 6379

  • 使用连接stringredis://52.50.145.87:6379在redsmin添加一个新的Direct Server,完成!

如果在Redis ElasticCache的同一子网中没有EC2实例

  • 按照这个亚马逊教程设置一个NAT实例 ,把它设置在ElastiCache服务器所在的子网上
  • 现在按照上面的部分。

如果您只是想将Redsmin连接到EC2 Redis

  • 在安全组中添加一个规则,以允许来自Redsmin IP 62.210.222.165入站请求(不要忘记指定正确的端口,例如6379
  • 使用EC2公共IP和您打开的端口,在Redsmin中连接您的Redis服务器。