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
и его публичный IP52.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
- в Debian/Ubuntu =>
Добавьте правило в группу безопасности, чтобы разрешить входящий запрос от 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. Диалоговое окно «Туннели» очень удобно и просто в использовании.функцию