Не Удается Подключиться К Кластеру AWS Elasticache Redis С Локального Компьютера

#amazon-web-services #amazon-vpc #aws-security-group #redis-cli #aws-elasticache

Вопрос:

Недавно я создал кластер Redis на AWS elasticache, и у меня возникли проблемы с подключением через redis-cli с моего локального компьютера. Каждый раз, когда я выполняю команду:

 redis-cli -h <redis_cluster_domain> -p 6379
 

соединение никогда не устанавливается и в конечном итоге завершается из-за тайм-аута.

В конце концов я решил, что он блокируется из-за настройки в группе безопасности, поэтому я отредактировал правила входящих сообщений, чтобы разрешить весь трафик с моего IP-адреса. Даже после этого я все еще не могу подключиться к кластеру. Есть какие-нибудь идеи, почему это может быть?

Комментарии:

1. Ваш VPC блокирует входящее соединение

2. docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/…

3. Включена ли у вас аутентификация? Это в VPC? Нам нужно больше деталей.

4. Аутентификация @ErmiyaEskandary в настоящее время не включена в этом кластере, и она находится в VPC. В VPC также включены CIDR IPv4. Быстрый и глупый вопрос — должен ли мой IP-адрес находиться в диапазоне CIDR?

5. Какой диапазон CIDR? Если вы определили его в правилах входящих сообщений, то да, конечно — получите свой текущий общедоступный IP — адрес и измените правило входящих сообщений, чтобы разрешить ваш IP-адрес-это работает?

Ответ №1:

Я все понял.

По-видимому, по умолчанию вы не можете получить доступ к кластерам elasticache из-за пределов AWS. Для этого вам нужно создать VPN через AWS и подключиться к нему, чтобы добраться до нужного кластера.

Шаги для этого описаны в этом руководстве по AWS здесь, но в более простых терминах все, что я сделал, это следующее:

  1. Создайте и импортируйте сертификат полномочий с помощью диспетчера сертификатов AWS. Вы будете использовать этот сертификат для подключения к VPN.
  2. Создайте конечную точку VPN-клиента и прикрепите к ней ключ и сертификат, сгенерированные на предыдущем шаге.
  3. Свяжите VPC, используемый в вашем кластере elasticache, с конечной точкой VPN.
  4. Авторизуйте весь трафик в своей VPN для всех пользователей.
  5. Добавьте маршрут в таблицу маршрутов вашей конечной точки VPN, чтобы разрешить доступ из любого места (0.0.0.0/0).
  6. Загрузите файл конфигурации VPN-клиента локально и подключитесь к VPN с помощью «openvpn» (возможно, вам потребуется установить его) с вашим сертификатом и ключом, созданными на первом шаге.

Это сработало для меня, и я рад, что понял это. Теперь я могу подключиться к своему кластеру Redis со своего локального компьютера с помощью «redis-cli»!