Подготовка к подключению
Доступные способы подключения зависят от того, включено ли в кластере шардирование:
Доступ к хостам кластера
К хостам кластера Managed Service for Redis можно подключиться:
-
Через интернет, если выполнены следующие условия:
- к хостам настроен публичный доступ;
- используется SSL-соединение;
- кластер создан с поддержкой TLS.
-
С виртуальных машин Yandex Cloud, расположенных в той же облачной сети:
- Создайте виртуальную машину с публичным IP-адресом в той же виртуальной сети, что и кластер.
- Подключитесь к созданной виртуальной машине через SSH.
- Из виртуальной машины подключитесь к Redis с помощью одного из примеров строк подключений.
Поддержка шифрования
Для кластеров Managed Service for Redis поддерживается шифрованное SSL-соединение. Чтобы пользоваться SSL, при создании кластера включите настройку Поддержка TLS.
Redis по умолчанию оперирует IP-адресами хостов, а не их FQDN, что может препятствовать подключению к хостам Redis в кластерах с поддержкой TLS. Чтобы получить возможность подключения к хостам, выполните одно из действий:
-
Включите настройку, разрешающую использование FQDN вместо IP-адресов, чтобы IP-адрес хоста подменялся на его FQDN. Эту настройку можно включить при создании или изменении кластера.
Это позволит клиенту Redis подключаться к хостам Redis как с виртуальных машин Yandex Cloud, так и через интернет, а также при необходимости требовать проверки соответствия FQDN хоста и сертификата.
Примечание
Некоторые клиенты несовместимы с этой настройкой и не смогут подключиться к хостам кластера. Такие клиенты ожидают именно IP-адрес и некорректно обрабатывают ситуацию, когда IP-адрес подменяется на FQDN.
-
Отключите проверку соответствия FQDN хоста и сертификата на стороне клиента Redis.
Это позволит подключаться к хостам Redis с виртуальных машин Yandex Cloud.
Настройка групп безопасности
Для подключения к кластеру необходимо, чтобы группы безопасности содержали правила, которые разрешают трафик с определенных портов, IP-адресов или из других групп безопасности.
Для подключения к кластеру с ВМ, размещенной в Yandex Cloud, создайте в ее группах безопасности правила, разрешающие:
- подключение к ВМ из интернета;
- трафик между ВМ и хостами кластера.
Пример правил для ВМ:
-
Для входящего трафика:
- Диапазон портов —
22
. - Протокол —
TCP
. - Источник —
CIDR
. - CIDR блоки —
0.0.0.0/0
.
Это правило позволяет подключаться к ВМ по протоколу SSH.
- Диапазон портов —
-
Для исходящего трафика:
- Диапазон портов —
0-65535
. - Протокол —
Любой
(Any
). - Назначение —
CIDR
. - CIDR блоки —
0.0.0.0/0
.
Это правило разрешает любой исходящий трафик, что позволяет не только подключаться к кластеру, но и устанавливать на ВМ необходимые для этого сертификаты и утилиты.
- Диапазон портов —
Настройки групп безопасности для шардированного и нешардированного кластеров различаются.
Настройте все группы безопасности кластера так, чтобы они разрешали входящий трафик из группы безопасности, в которой находится ВМ, на порт 6379
для подключения напрямую к мастеру или 26379
для подключения с помощью Sentinel. Если кластер создан с поддержкой SSL-шифрования, то укажите порт 6380
для шифрованного подключения напрямую к мастеру или 26379
для нешифрованного подключения с помощью Sentinel.
Важно
Подключение к порту 26379
позволяет запросить информацию о кластере без аутентификации. Чтобы ограничить неавторизованный доступ к кластеру при включенном публичном доступе к хостам, не указывайте этот порт в настройках групп безопасности.
Для этого создайте следующее правило для входящего трафика:
-
Диапазон портов — создайте отдельное правило для каждого порта:
-
6379
— для подключения напрямую к хостам без использования шифрования. -
6380
— для подключения напрямую к хостам с использованием SSL-шифрования. -
26379
— для работы с кластером через Sentinel.Для подключения к кластеру с использованием Sentinel требуется также создать правило, разрешающее подключение через порт
6379
или6380
.
-
-
Протокол —
TCP
. -
Источник —
Группа безопасности
. -
Группа безопасности — группа безопасности, в которой находится ВМ. Если она совпадает с настраиваемой группой, то укажите Текущая.
Настройте все группы безопасности кластера так, чтобы они разрешали входящий трафик из группы безопасности, в которой находится ВМ, на порт 6379
. Если кластер создан с поддержкой SSL-шифрования, то укажите только порт 6380
.
Для этого создайте следующее правило для входящего трафика:
- Диапазон портов —
6379
или только6380
для кластера с поддержкой SSL-шифрования. - Протокол —
TCP
. - Источник —
Группа безопасности
. - Группа безопасности — если кластер и ВМ находятся в одной и той же группе безопасности, выберите значение
Текущая
. В противном случае укажите группу безопасности ВМ.
Примечание
Вы можете задать более детальные правила для групп безопасности, например, разрешающие трафик только в определенных подсетях.
Группы безопасности должны быть корректно настроены для всех подсетей, в которых будут размещены хосты кластера. При неполных или некорректных настройках групп безопасности можно потерять доступ к кластеру, если произойдет ручная или автоматическая смена мастера.
Подробнее о группах безопасности см. в разделе Группы безопасности.
Получение SSL-сертификата
Чтобы использовать шифрованное SSL-соединение, получите SSL-сертификат:
mkdir -p ~/.redis && \
wget "https://storage.yandexcloud.net/cloud-certs/CA.pem" \
--output-document ~/.redis/YandexInternalRootCA.crt && \
chmod 0655 ~/.redis/YandexInternalRootCA.crt
Сертификат будет сохранен в файле ~/.redis/YandexInternalRootCA.crt
.
mkdir $HOME\.redis; curl.exe -o $HOME\.redis\YandexInternalRootCA.crt https://storage.yandexcloud.net/cloud-certs/CA.pem
Сертификат будет сохранен в файле $HOME\.redis\YandexInternalRootCA.crt
.
Для использования графических IDE сохраните сертификат
FQDN хоста Redis
Для подключения к хосту потребуется его FQDN — доменное имя. Его можно получить несколькими способами:
-
Скопируйте команду для подключения к кластеру в консоли управления
. Команда содержит заполненный FQDN хоста. Чтобы получить команду, перейдите на страницу кластера и нажмите кнопку Подключиться. -
Посмотрите FQDN в консоли управления:
- Перейдите на страницу кластера.
- Перейдите в раздел Хосты.
- Скопируйте значение в столбце FQDN хоста.