У меня есть кластер AWS ElastiCache Redis, которым я хочу управлять. Поскольку AWS не позволяет получить доступ к ElastiCache за пределами VPC, я установил экземпляр micro EC2, содержащий копию сценария phpRedisAdmin, указывающего на этот кластер. Но AWS отключил команду CONFIG в кластере Redis, поэтому phpRedisAdmin не может подключиться и управлять кластером ElastiCache.
Я пробовал пакет узла redis-browser, но он работает на 0.0.0.0:4567, и мне понадобится общедоступный IP-адрес на этом экземпляре для управления кластером Redis.
Есть предложения?
Вы можете попробовать Редсмин.
Примечание:
172.31.5.13
и работает в порту 6379
.172.31.5.14
и его публичный IP 52.50.145.87
.А теперь сделаем это пошагово:
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
если предыдущая команда не сработало, пытаться:
iptables-save > /etc/iptables/rules.v4
iptables-save > /etc/sysconfig/iptables
Добавьте правило в группу безопасности, чтобы разрешить входящий запрос от Redsmin IP 62.210.222.165
, протокол = TCP, порт = 6379
redis://52.50.145.87:6379
, сделано!62.210.222.165
(не забудьте указать правильный порт, например 6379
)Я смог найти ElastiCache private IP
отправив эхо-запрос на основную конечную точку из оболочки EC2.
PING xyz.abc.euw2.cache.amazonaws.com (172.31.xxx.xxx) 56(84) bytes of data.