[Документация Yandex Cloud](../../../index.md) > [Yandex Managed Service for Valkey™](../../index.md) > [Пошаговые инструкции](../index.md) > Подключение > Предварительная настройка

# Предварительная настройка для подключения к кластеру Valkey™


К хостам кластера Yandex Managed Service for Valkey™ можно подключиться:

* Через интернет, если выполнены следующие условия:

    * к хостам [настроен публичный доступ](../hosts.md#public-access);
    * используется [SSL-соединение](../../../glossary/ssl-certificate.md);
    * кластер создан с поддержкой TLS.

* С виртуальных машин Yandex Cloud, расположенных в той же облачной сети:

    1. [Создайте виртуальную машину](../../../compute/operations/vm-create/create-linux-vm.md) с публичным IP-адресом в той же виртуальной сети, что и кластер.
    1. [Подключитесь](../../../compute/operations/vm-connect/ssh.md) к созданной виртуальной машине через [SSH](../../../glossary/ssh-keygen.md).
    1. Из виртуальной машины подключитесь к Valkey™ с помощью одного из примеров строк подключений.



## Поддержка шифрования {#tls-support}

Для кластеров Yandex Managed Service for Valkey™ поддерживается шифрованное SSL-соединение. Чтобы пользоваться SSL, при [создании кластера](../cluster-create.md) включите настройку **Поддержка TLS**.

Valkey™ по умолчанию оперирует IP-адресами хостов, а не их [FQDN](../../concepts/network.md#hostname), что может [препятствовать подключению к хостам Valkey™](../../concepts/network.md#fqdn-ip-setting) в кластерах с поддержкой TLS. Чтобы получить возможность подключения к хостам, выполните одно из действий:

* Включите настройку, разрешающую использование FQDN вместо IP-адресов, чтобы IP-адрес хоста подменялся на его FQDN. Эту настройку можно включить при [создании](../cluster-create.md) или [изменении](../update.md#configure-fqdn-ip-behavior) кластера.

    Это позволит [клиенту Valkey™](../../concepts/supported-clients.md) подключаться к хостам Valkey™ как с виртуальных машин Yandex Cloud, так и через интернет, а также при необходимости требовать проверки соответствия FQDN хоста и сертификата.

    {% note info %}
    
    Некоторые клиенты несовместимы с этой настройкой и не смогут подключиться к хостам кластера. Такие клиенты ожидают именно IP-адрес и некорректно обрабатывают ситуацию, когда IP-адрес подменяется на FQDN.
    
    {% endnote %}

* Отключите проверку соответствия FQDN хоста и сертификата на стороне клиента Valkey™.

    Это позволит подключаться к хостам Valkey™ с виртуальных машин Yandex Cloud.


## Настройка групп безопасности {#configure-security-groups}

Для подключения к кластеру необходимо, чтобы [группы безопасности](../../../vpc/concepts/security-groups.md) содержали правила, которые разрешают трафик с определенных портов, IP-адресов или из других групп безопасности.

Для подключения к кластеру с ВМ, размещенной в Yandex Cloud, [создайте в ее группах безопасности](../../../vpc/operations/security-group-add-rule.md) правила, разрешающие:

* подключение к ВМ из интернета;
* трафик между ВМ и хостами кластера.

Пример правил для ВМ:

* Для входящего трафика:
    * **Диапазон портов** — `22`.
    * **Протокол** — `TCP`.
    * **Источник** — `Диапазон адресов`.
    * **IPv4 CIDR** — `0.0.0.0/0`.

    Это правило позволяет подключаться к ВМ по протоколу SSH.

* Для исходящего трафика:
    * **Диапазон портов** — `0-65535`.
    * **Протокол** — `Любой` (`Any`).
    * **Назначение** — `Диапазон адресов`.
    * **IPv4 CIDR** — `0.0.0.0/0`.

    Это правило разрешает любой исходящий трафик, что позволяет не только подключаться к кластеру, но и устанавливать на ВМ необходимые для этого сертификаты и утилиты.

Настройки групп безопасности для шардированного и нешардированного кластеров различаются.

{% list tabs group=cluster %}

- Нешардированный кластер {#non-sharded}

    [Настройте все группы безопасности](../../../vpc/operations/security-group-add-rule.md) кластера так, чтобы они разрешали входящий трафик из группы безопасности, в которой находится ВМ, на порт `6379` для подключения напрямую к мастеру или `26379` для подключения с помощью Sentinel. Если кластер создан с поддержкой SSL-шифрования, то укажите порт `6380` для шифрованного подключения напрямую к мастеру или `26379` для нешифрованного подключения с помощью Sentinel.

    {% note warning %}

    Подключение к порту `26379` позволяет запросить информацию о кластере без аутентификации. Чтобы ограничить неавторизованный доступ к кластеру при включенном публичном доступе к хостам, не указывайте этот порт в настройках групп безопасности.

    {% endnote %}

    Для этого создайте следующее правило для входящего трафика:

    * **Диапазон портов** — создайте отдельное правило для каждого порта:

        * `6379` — для подключения напрямую к хостам без использования шифрования.
        * `6380` — для подключения напрямую к хостам с использованием SSL-шифрования.
        * `26379` — для работы с кластером через Sentinel.

            Для подключения к кластеру с использованием Sentinel требуется также создать правило, разрешающее подключение через порт `6379` или `6380`.

    * **Протокол** — `TCP`.
    * **Источник** — `Группа безопасности`.
    * **Группа безопасности** — группа безопасности, в которой находится ВМ. Если она совпадает с настраиваемой группой, то укажите **Текущая**.

- Шардированный кластер {#sharded}

    [Настройте все группы безопасности](../../../vpc/operations/security-group-add-rule.md) кластера так, чтобы они разрешали входящий трафик из группы безопасности, в которой находится ВМ, на порт `6379`. Если кластер создан с поддержкой SSL-шифрования, то укажите только порт `6380`.

    Для этого создайте следующее правило для входящего трафика:

    * **Диапазон портов** — `6379` или только `6380` для кластера с поддержкой SSL-шифрования.
    * **Протокол** — `TCP`.
    * **Источник** — `Группа безопасности`.
    * **Группа безопасности** — если кластер и ВМ находятся в одной и той же группе безопасности, выберите значение `Текущая`. В противном случае укажите группу безопасности ВМ.

{% endlist %}

{% note info %}

Вы можете задать более детальные правила для групп безопасности, например, разрешающие трафик только в определенных подсетях.

Группы безопасности должны быть корректно настроены для всех подсетей, в которых будут размещены хосты кластера. При неполных или некорректных настройках групп безопасности можно потерять доступ к кластеру, если произойдет [ручная](../failover.md) или [автоматическая](../../concepts/replication.md#master-failover) смена мастера.

{% endnote %}

Подробнее о группах безопасности читайте в разделе [Группы безопасности](../../concepts/network.md#security-groups).


## Получение SSL-сертификата {#get-ssl-cert}

Чтобы использовать шифрованное SSL-соединение, получите SSL-сертификат:

{% list tabs group=operating_system %}

- Linux (Bash)/macOS (Zsh) {#linux-macos}

   ```bash
   mkdir -p ~/.redis && \
   wget "https://storage.yandexcloud.kz/cloud-certs/CA.pem" \
        --output-document ~/.redis/YandexInternalRootCA.crt && \
   chmod 0655 ~/.redis/YandexInternalRootCA.crt
   ```
   
   Сертификат будет сохранен в файле `~/.redis/YandexInternalRootCA.crt`.

- Windows (PowerShell) {#windows}

   ```powershell
   mkdir $HOME\.redis; curl.exe -o $HOME\.redis\YandexInternalRootCA.crt https://storage.yandexcloud.kz/cloud-certs/CA.pem
   ```

   Сертификат будет сохранен в файле `$HOME\.redis\YandexInternalRootCA.crt`.

   Корпоративные политики и антивирус могут блокировать скачивание сертификата. Подробнее в разделе [Вопросы и ответы](../../qa/general.md#get-ssl-error).

{% endlist %}

Для использования графических IDE [сохраните сертификат](https://storage.yandexcloud.kz/cloud-certs/RootCA.pem) в локальную папку и укажите путь к нему в настройках подключения.

## Что дальше {#whats-next}

* [Получите FQDN хоста](fqdn.md), к которому будете подключаться.
* [Подключитесь](clients.md) к кластеру из графической IDE, Docker-контейнера или интерфейса командной строки.
* [Интегрируйте](code-examples.md) подключение к кластеру в код вашего приложения.