Redis GUI необходим для AWS ElastiCache на экземпляре EC2

У меня есть настройка кластера AWS ElastiCache Redis, которой я хочу управлять. Поскольку AWS не позволяет вам получить доступ к ElastiCache за пределами VPC, я настроил экземпляр micro EC2, который содержал копию сценария phpRedisAdmin, указывающего на этот кластер. Но AWS отключил команду "CONFIG" в кластере Redis, поэтому phpRedisAdmin не может подключиться и управлять кластером ElastiCache.

Я пробовал пакет узла redis-browser, но он работает на 0.0.0.0:4567, и мне понадобится публичный IP-адрес в этом экземпляре для управления кластером Redis.

Есть предложения?

3 ответа

Решение

Вы можете попробовать Redsmin.

Если у вас есть экземпляр EC2 в той же подсети, что и ваш Redis ElasticCache

Замечания:

  • Это будет работать только в том случае, если экземпляр EC2, к которому вы подключаетесь, находится в той же подсети, что и ваш экземпляр ElasticCache Redis.
  • В следующем примере будет указано, что ваш частный IP-адрес ElastiCache 172.31.5.13 и работает в порту 6379,
  • В следующем примере будет указано, что ваш частный IP-адрес EC2 172.31.5.14 и его публичный IP 52.50.145.87,

Теперь давайте сделаем это шаг за шагом:

  • Подключитесь к этому экземпляру EC2 через SSH
  • бежать 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

  • Добавьте новый Direct Server в redsmin со строкой соединения: redis://52.50.145.87:6379, сделанный!

Если у вас нет экземпляра EC2 в той же подсети, что и ваш Redis ElasticCache

  • Следуйте этому учебнику по Amazon, чтобы настроить экземпляр NAT, настроить его в той же подсети, что и ваш сервер ElastiCache.
  • Теперь следуйте предыдущему разделу выше.

Если вы просто хотите подключить Redsmin к EC2 Redis

  • Добавьте правило в группу безопасности, чтобы разрешить входящий запрос от Redsmin IP 62.210.222.165 (не забудьте указать правильный порт, например, 6379)
  • Подключите ваш Redis-сервер к Redsmin, используя общедоступный IP-адрес EC2 и открытый порт.

Я смог найти ElastiCache private IP отправив эхо-запрос на основную конечную точку из оболочки EC2.

PING xyz.abc.euw2.cache.amazonaws.com (172.31.xxx.xxx) 56(84) bytes of data.

Я знаю, что это старый пост, но он появился в моем поиске, и принятый метод мне не помог.

Я публикую то, что сработало для меня, на случай, если это понадобится кому-то еще:

Я использовал MobaXTerm Tunnels для подключения к экземпляру EC2 Amazon Linux с использованием локального порта 6379. Диалоговое окно «Туннели» очень удобно и просто в использовании.функцию

Другие вопросы по тегам