Предварительная настройка для подключения к кластеру Yandex MPP Analytics for PostgreSQL
В кластере Yandex MPP Analytics for PostgreSQL вы можете развернуть СУБД Greenplum® или Apache Cloudberry™. Обе СУБД основаны на PostgreSQL, поэтому для подключения к ним используются те же инструменты, что и для PostgreSQL.
Подключение к кластеру Yandex MPP Analytics for PostgreSQL производится только через первичный хост-мастер. Чтобы определить роли хостов, получите список хостов в кластере.
К кластеру можно подключиться:
-
С виртуальных машин Yandex Cloud, расположенных в той же облачной сети. Если к хосту нет публичного доступа, для подключения с таких виртуальных машин необязательно использовать SSL-соединение.
-
Через интернет, если вы настроили публичный доступ для кластера. Через интернет можно подключиться следующими способами:
- используя SSL-соединение;
- используя авторизацию через IAM.
Настройка групп безопасности
Кластеру Yandex MPP Analytics for PostgreSQL может быть назначена одна или несколько групп безопасности. Для подключения к кластеру необходимо, чтобы группы безопасности содержали правила, разрешающие входящий трафик на порт 6432 с определенных IP-адресов или из других групп безопасности.
Примечание
Группа безопасности, назначенная на кластер, регулирует трафик между кластером и другими ресурсами в облаке или вне его. Взаимодействие хостов кластера между собой регулируется отдельной системной группой безопасности и не требует настройки.
Настройки правил будут различаться в зависимости от выбранного способа подключения:
-
Для входящего трафика:
- Диапазон портов —
6432. - Протокол —
TCP. - Источник —
CIDR. - CIDR блоки — диапазон адресов, с которых производится подключение.
- Диапазон портов —
-
Для исходящего трафика:
- Диапазон портов —
0-65535. - Протокол —
Любой(Any). - Источник —
CIDR. - CIDR блоки —
0.0.0.0/0.
Это правило позволит Yandex MPP Analytics for PostgreSQL работать с внешними источниками данных, например PXF или GPFDIST.
- Диапазон портов —
-
Добавьте в группу безопасности кластера следующие правила:
-
Для входящего трафика:
- Диапазон портов —
6432. - Протокол —
TCP. - Источник —
Группа безопасности. - Группа безопасности — если кластер и ВМ находятся в одной и той же группе безопасности, выберите значение
Текущая(Self). В противном случае укажите группу безопасности ВМ.
- Диапазон портов —
-
Для исходящего трафика:
- Диапазон портов —
0-65535. - Протокол —
Любой(Any). - Источник —
CIDR. - CIDR блоки —
0.0.0.0/0.
Это правило позволит Yandex MPP Analytics for PostgreSQL работать с внешними источниками данных, например PXF или GPFDIST.
- Диапазон портов —
-
-
Настройте группу безопасности, в которой находится ВМ, так, чтобы можно было подключаться к ВМ и был разрешен трафик между ВМ и хостами кластера:
-
Для входящего трафика:
- Диапазон портов —
22. - Протокол —
TCP. - Источник —
CIDR. - CIDR блоки — диапазон адресов, с которых производится подключение.
Это правило позволяет подключаться к ВМ по протоколу SSH.
- Диапазон портов —
-
Для исходящего трафика:
- Диапазон портов —
0-65535. - Протокол —
Любой(Any). - Назначение —
CIDR. - CIDR блоки —
0.0.0.0/0.
Это правило разрешает любой исходящий трафик, что позволяет не только подключаться к кластеру, но и устанавливать на ВМ необходимые для этого сертификаты и утилиты.
- Диапазон портов —
-
Группы безопасности для работы с Yandex Managed Service for Trino
Для подключения к Managed Service for Trino коннектор использует протокол GPFDIST:
- Координаторы и воркеры Managed Service for Trino выполняют запросы к мастеру Yandex MPP Analytics for PostgreSQL через TCP-порт 6432.
- Сегменты Yandex MPP Analytics for PostgreSQL передают данные на воркеры Managed Service for Trino через TCP-порт GPFDIST (например, 31111).
Чтобы обеспечить безопасное подключение к Managed Service for Trino, рекомендуется настроить группы безопасности на стороне Yandex MPP Analytics for PostgreSQL и (опционально) на стороне Managed Service for Trino.
Если Yandex MPP Analytics for PostgreSQL взаимодействует с другими кластерами или другими сущностями внутри пользовательской сети, то для них нужно отдельно настроить правила группы безопасности.
Настройка на стороне Yandex MPP Analytics for PostgreSQL
-
Правило для трафика внутри кластера Yandex MPP Analytics for PostgreSQL:
- Диапазон портов —
0-65535. - Протокол —
Любой(Any). - Источник —
Группа безопасности. - Группа безопасности —
Текущая(Self).
- Диапазон портов —
-
Правило для подключения из кластера Managed Service for Trino:
- Диапазон портов —
6432. - Протокол —
TCP. - Источник —
Группа безопасности. - Группа безопасности — укажите группу безопасности кластера Managed Service for Trino.
- Диапазон портов —
-
Правило для трафика внутри кластера Yandex MPP Analytics for PostgreSQL:
- Диапазон портов —
0-65535. - Протокол —
Любой(Any). - Источник —
Группа безопасности. - Группа безопасности —
Текущая(Self).
- Диапазон портов —
-
Правило для подключения к кластеру Managed Service for Trino:
- Диапазон портов —
30078-30085. - Протокол —
TCP. - Источник —
Группа безопасности. - Группа безопасности — укажите группу безопасности кластера Managed Service for Trino.
- Диапазон портов —
Настройка на стороне Managed Service for Trino
Правила групп безопасности на стороне Managed Service for Trino настраиваются зеркально правилам на стороне Yandex MPP Analytics for PostgreSQL. Настройка правил для кластера Managed Service for Trino является опциональной, но позволяет дополнительно обезопасить кластер.
Правило для приема данных от сегментов Yandex MPP Analytics for PostgreSQL:
- Диапазон портов —
30078-30085. - Протокол —
TCP. - Источник —
Группа безопасности. - Группа безопасности — укажите группу безопасности кластера Yandex MPP Analytics for PostgreSQL.
Правило для подключения к мастеру Yandex MPP Analytics for PostgreSQL:
- Диапазон портов —
6432. - Протокол —
TCP. - Источник —
Группа безопасности. - Группа безопасности — укажите группу безопасности кластера Yandex MPP Analytics for PostgreSQL.
Получение SSL-сертификата
Чтобы использовать SSL-соединение, получите сертификат:
mkdir -p ~/.postgresql && \
wget "https://storage.yandexcloud.net/cloud-certs/CA.pem" \
--output-document ~/.postgresql/root.crt && \
chmod 0655 ~/.postgresql/root.crt
Сертификат будет сохранен в файле ~/.postgresql/root.crt.
mkdir $HOME\.postgresql; curl.exe -o $HOME\.postgresql\root.crt https://storage.yandexcloud.net/cloud-certs/CA.pem
Сертификат будет сохранен в файле $HOME\.postgresql\root.crt.
Корпоративные политики и антивирус могут блокировать скачивание сертификата. Подробнее см. в разделе Вопросы и ответы.
Для использования графических IDE сохраните сертификат
Что дальше
- Получите FQDN хоста, к которому будете подключаться.
- Подключитесь к кластеру из графической IDE, pgAdmin 4 или Docker-контейнера.
- Интегрируйте подключение к кластеру в код вашего приложения.
Greenplum® и Greenplum Database® являются зарегистрированными товарными знаками или товарными знаками Broadcom Inc в США и/или других странах.
Apache® и Apache Cloudberry™ являются зарегистрированными товарными знаками или товарными знаками Apache Software Foundation в США и/или других странах.