EC2 实例上的 AWS ElastiCache 需要 Redis GUI

Kan*_*gar 2 amazon-web-services redis amazon-elasticache

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

我已经尝试了 redis-browser 节点包,但它在 0.0.0.0:4567 上运行,我需要在此实例上使用公共 IP 来管理 Redis 集群。

有什么建议吗?

FGR*_*eau 5

您可能想尝试一下Redsmin

如果您的 EC2 实例与 Redis ElasticCache 位于同一子网中

笔记:

  • 这仅在您连接到的 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 中添加一个新的直接服务器: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 服务器。