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

# Предварительная настройка для подключения к кластеру Yandex MPP Analytics for PostgreSQL

В кластере Yandex MPP Analytics for PostgreSQL вы можете развернуть СУБД Greenplum® или Apache Cloudberry™. Обе СУБД основаны на PostgreSQL, поэтому для подключения к ним используются те же инструменты, что и для PostgreSQL.

Подключение к кластеру Yandex MPP Analytics for PostgreSQL производится только через [первичный хост-мастер](../../concepts/index.md). Чтобы определить роли хостов, получите [список хостов в кластере](../cluster-list.md#get-hosts).

К кластеру можно подключиться:

* С виртуальных машин Yandex Cloud, расположенных в той же [облачной сети](../../../vpc/concepts/network.md). Если к хосту нет публичного доступа, для подключения с таких виртуальных машин необязательно использовать SSL-соединение.
* Через интернет, если вы настроили публичный доступ для кластера. Через интернет можно подключиться следующими способами:

  * используя SSL-соединение;
  * используя авторизацию через IAM.


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

Кластеру Yandex MPP Analytics for PostgreSQL может быть назначена одна или несколько групп безопасности. Для подключения к кластеру необходимо, чтобы группы безопасности содержали правила, разрешающие входящий трафик на порт 6432 с определенных IP-адресов или из других групп безопасности.

{% note info %}

Группа безопасности, назначенная на кластер, регулирует трафик между кластером и другими ресурсами в облаке или вне его. Взаимодействие хостов кластера между собой регулируется отдельной системной группой безопасности и не требует настройки.

{% endnote %}

Настройки правил будут различаться в зависимости от выбранного способа подключения:

{% list tabs group=connection_method %}

- Через интернет {#internet}

    1. Для входящего трафика:
    
       * **Диапазон портов** — `6432`.
       * **Протокол** — `TCP`.
       * **Источник** — `CIDR`.
       * **CIDR блоки** — диапазон адресов, с которых производится подключение.
    
    1. Для исходящего трафика:
    
       * **Диапазон портов** — `0-65535`.
       * **Протокол** — `Любой` (`Any`).
       * **Источник** — `CIDR`.
       * **CIDR блоки** — `0.0.0.0/0`.
    
       Это правило позволит Yandex MPP Analytics for PostgreSQL работать с внешними источниками данных, например PXF или GPFDIST.

- С ВМ в Yandex Cloud {#cloud}

    1. Добавьте в группу безопасности кластера следующие правила:

        1. Для входящего трафика:

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

         1. Для исходящего трафика:

            * **Диапазон портов** — `0-65535`.
            * **Протокол** — `Любой` (`Any`).
            * **Источник** — `CIDR`.
            * **CIDR блоки** — `0.0.0.0/0`.

            Это правило позволит Yandex MPP Analytics for PostgreSQL работать с внешними источниками данных, например PXF или GPFDIST.

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

        * Для входящего трафика:
            * **Диапазон портов** — `22`.
            * **Протокол** — `TCP`.
            * **Источник** — `CIDR`.
            * **CIDR блоки** — диапазон адресов, с которых производится подключение.

            Это правило позволяет подключаться к ВМ по протоколу [SSH](../../../glossary/ssh-keygen.md).

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

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

{% endlist %}


### Группы безопасности для работы с Yandex Managed Service for Trino {#sg-for-trino}

Для подключения к кластеру Greenplum® [коннектор](../../../managed-trino/concepts/greenplum-connector.md) Trino использует протокол GPFDIST:

* Координаторы и воркеры Trino выполняют запросы к мастеру Greenplum® через TCP-порт `6432`.
* Сегменты Greenplum® передают данные на воркеры Trino через TCP-порт GPFDIST.

Данные, передающиеся по протоколу GPFDIST между кластерами Greenplum® и Trino, не шифруются. Чтобы обеспечить безопасное подключение, настройте группы безопасности [на стороне Yandex MPP Analytics for PostgreSQL](#configuring-security-groups-greenplum) и (опционально) [на стороне Managed Service for Trino](#configuring-security-groups-trino).

Если Greenplum® взаимодействует с другими кластерами или другими сущностями внутри пользовательской сети, то для них нужно отдельно настроить правила группы безопасности.

#### Настройка на стороне Greenplum® {#configuring-security-groups-greenplum}

{% list tabs group=traffic %}

- Входящий трафик {#incoming}

    * Правило для трафика внутри кластера Greenplum®:

        * **Диапазон портов** — `0-65535`.
        * **Протокол** — `Любой` (`Any`).
        * **Источник** — `Группа безопасности`.
        * **Группа безопасности** — `Текущая` (`Self`).

    * Правило для подключения из кластера Trino:

        * **Диапазон портов** — `6432`.
        * **Протокол** — `TCP`.
        * **Источник** — `Группа безопасности`.
        * **Группа безопасности** — укажите группу безопасности кластера Trino.

- Исходящий трафик {#outgoing}

    * Правило для трафика внутри кластера Greenplum®:

        * **Диапазон портов** — `0-65535`.
        * **Протокол** — `Любой` (`Any`).
        * **Источник** — `Группа безопасности`.
        * **Группа безопасности** — `Текущая` (`Self`).

    * Правило для подключения к кластеру Trino:

        * **Диапазон портов** — `0-65535`.
        * **Протокол** — `TCP`.
        * **Источник** — `Группа безопасности`.
        * **Группа безопасности** — укажите группу безопасности кластера Trino.

{% endlist %}

#### Настройка на стороне Managed Service for Trino {#configuring-security-groups-trino}

Правила групп безопасности на стороне Trino настраиваются зеркально правилам на стороне Greenplum®. Настройка правил для кластера Trino является опциональной, но позволяет дополнительно обезопасить кластер.

{% list tabs group=traffic %}

- Входящий трафик {#incoming}

  Правило для приема данных от сегментов Greenplum®:

    * **Диапазон портов** — `0-65535`.
    * **Протокол** — `TCP`.
    * **Источник** — `Группа безопасности`.
    * **Группа безопасности** — укажите группу безопасности кластера Greenplum®.

- Исходящий трафик {#outgoing}

  Правило для подключения к мастеру Greenplum®:

    * **Диапазон портов** — `6432`.
    * **Протокол** — `TCP`.
    * **Источник** — `Группа безопасности`.
    * **Группа безопасности** — укажите группу безопасности кластера Greenplum®.

{% endlist %}


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

Чтобы использовать [SSL-соединение](../../../glossary/ssl-certificate.md), получите сертификат:

{% list tabs group=operating_system %}

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

   ```bash
   mkdir -p ~/.postgresql && \
   wget "https://storage.yandexcloud.kz/cloud-certs/CA.pem" \
        --output-document ~/.postgresql/root.crt && \
   chmod 0655 ~/.postgresql/root.crt
   ```

   Сертификат будет сохранен в файле `~/.postgresql/root.crt`.

- Windows (PowerShell) {#windows}

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

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

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

{% endlist %}

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

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

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

_Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками Broadcom Inc в США и/или других странах._

_Apache® и Apache Cloudberry™ являются зарегистрированными товарными знаками или товарными знаками Apache Software Foundation в США и/или других странах._