AWS PrivateLink для ClickPipes
Вы можете использовать AWS PrivateLink для организации защищённого соединения между VPC, сервисами AWS, вашей локальной инфраструктурой и ClickHouse Cloud, не выводя трафик в общедоступный Интернет.
В этом документе описывается функциональность reverse private endpoint в ClickPipes, которая позволяет настроить конечную точку VPC (VPC endpoint) AWS PrivateLink.
Поддерживаемые источники данных ClickPipes
Функциональность reverse private endpoint в ClickPipes поддерживается только для следующих типов источников данных:
- Kafka
- Postgres
- MySQL
- MongoDB
Поддерживаемые типы конечных точек AWS PrivateLink
Обратную приватную конечную точку ClickPipes можно настроить с использованием одного из следующих вариантов AWS PrivateLink:
Ресурс VPC
Кросс-региональные подключения не поддерживаются.
Ресурсы вашей VPC могут использоваться в ClickPipes через PrivateLink. Такой подход не требует настройки балансировщика нагрузки перед источником данных.
Конфигурацию ресурса можно привязать к конкретному хосту или ARN кластера RDS.
Это предпочтительный вариант для CDC для Postgres при приёме данных из кластера RDS.
Чтобы настроить PrivateLink с ресурсом VPC:
- Создайте шлюз ресурса
- Создайте конфигурацию ресурса
- Создайте ресурс общего доступа
Создайте шлюз ресурсов
Шлюз ресурсов — это точка входа, принимающая трафик для указанных ресурсов в вашей VPC.
Рекомендуется, чтобы к вашему шлюзу ресурсов были присоединены подсети с достаточным количеством доступных IP-адресов.
Рекомендуется иметь маску подсети как минимум /26 для каждой подсети.
Для каждой конечной точки VPC (каждого Reverse Private Endpoint) AWS требует последовательный блок из 16 IP-адресов на подсеть (/28 маска подсети).
Если это требование не выполняется, Reverse Private Endpoint перейдёт в состояние ошибки.
Вы можете создать шлюз ресурсов через консоль AWS или с помощью следующей команды:
Вывод будет содержать идентификатор шлюза ресурса, который потребуется вам на следующем шаге.
Прежде чем продолжить, дождитесь, пока шлюз ресурса перейдёт в состояние Active. Текущее состояние можно проверить с помощью следующей команды:
Создайте Resource-Configuration
Resource-Configuration ассоциируется со шлюзом ресурсов (resource gateway), чтобы обеспечить доступ к вашему ресурсу.
Вы можете создать Resource-Configuration через консоль AWS или с помощью следующей команды:
Самый простой тип конфигурации ресурса — конфигурация одного ресурса (single Resource-Configuration). Вы можете указать ARN напрямую или использовать IP-адрес либо доменное имя, доступные для публичного DNS-разрешения.
Например, чтобы настроить ресурс по ARN кластера RDS:
Вы не можете создать конфигурацию ресурса для кластера с публичным доступом. Если ваш кластер имеет публичный доступ, необходимо изменить кластер, сделав его приватным, перед созданием конфигурации ресурса или вместо этого использовать список разрешённых IP. Дополнительные сведения см. в документации AWS.
Вывод команды будет содержать Resource-Configuration ARN, который понадобится вам на следующем шаге. Он также будет содержать Resource-Configuration ID, который потребуется для настройки подключения ClickPipe к ресурсу VPC.
Создайте Resource-Share
Чтобы предоставить общий доступ к ресурсу, требуется Resource-Share. Это осуществляется с помощью Resource Access Manager (RAM).
Вы можете добавить Resource-Configuration в Resource-Share в консоли AWS или выполнив следующую команду с ID аккаунта ClickPipes 072088201116 (arn:aws:iam::072088201116:root):
Результат будет содержать Resource-Share ARN, который понадобится вам для настройки подключения ClickPipe с ресурсом VPC.
Теперь вы готовы создать ClickPipe с Reverse private endpoint, используя ресурс VPC. Вам потребуется:
- Установить
VPC endpoint typeв значениеVPC Resource. - Установить
Resource configuration IDв значение ID Resource-Configuration, созданной на шаге 2. - Установить
Resource share ARNв значение ARN Resource-Share, созданного на шаге 3.
Дополнительные сведения о PrivateLink с ресурсом VPC см. в документации AWS.
Мульти-VPC-подключение MSK
Мульти-VPC-подключение — это встроенная функция AWS MSK, которая позволяет подключать несколько VPC к одному кластеру MSK. Поддержка частного DNS доступна «из коробки» и не требует дополнительной конфигурации. Подключение между регионами (cross-region) не поддерживается.
Это рекомендуемый вариант для ClickPipes для MSK. См. руководство по началу работы для получения дополнительной информации.
Обновите политику вашего кластера MSK и добавьте 072088201116 в список разрешённых principals для вашего кластера MSK.
См. руководство AWS по прикреплению политики кластера для получения дополнительной информации.
Следуйте нашему руководству по настройке MSK для ClickPipes, чтобы узнать, как настроить подключение.
Служба конечной точки VPC
Служба конечной точки VPC — это альтернативный способ предоставить доступ к вашему источнику данных для ClickPipes. Для этого требуется развернуть NLB (Network Load Balancer) перед вашим источником данных и настроить службу конечной точки VPC на использование этого NLB.
Службу конечной точки VPC можно настроить с частным DNS, который будет доступен в VPC ClickPipes.
Это предпочтительный вариант для:
- Любого локального (on-premises) развертывания Kafka, которому требуется поддержка частного DNS
- Межрегионального подключения для Postgres CDC
- Межрегионального подключения для кластера MSK. Пожалуйста, обратитесь в службу поддержки ClickHouse за помощью.
См. руководство getting started для получения дополнительной информации.
Добавьте идентификатор аккаунта ClickPipes 072088201116 в список разрешённых principals для вашей службы конечной точки VPC.
См. руководство AWS по управлению разрешениями для получения дополнительной информации.
Межрегиональный доступ может быть настроен для ClickPipes. Добавьте ваш регион ClickPipe в список разрешённых регионов в вашей службе конечной точки VPC.
Создание ClickPipe с reverse private endpoint
Откройте SQL Console для своего сервиса ClickHouse Cloud.

Выберите кнопку Data Sources в меню слева и нажмите «Set up a ClickPipe».

В качестве источника данных выберите Kafka или Postgres.

Выберите опцию Reverse private endpoint.

Выберите один из существующих reverse private endpoint или создайте новый.
Если для RDS требуется кросс-региональный доступ, необходимо создать службу конечной точки VPC (VPC endpoint service), и это руководство может послужить хорошей отправной точкой для её настройки.
Для доступа в пределах одного региона рекомендуется создавать ресурс VPC.

Укажите необходимые параметры для выбранного типа endpoint.

Нажмите Create и дождитесь, пока обратная приватная конечная точка станет готова.
Если вы создаёте новую конечную точку, на её настройку потребуется некоторое время. Страница обновится автоматически, как только конечная точка будет готова. Сервис конечных точек VPC может потребовать принять запрос на подключение в консоли AWS.

После того как конечная точка будет готова, вы можете использовать DNS-имя для подключения к источнику данных.
В списке конечных точек вы можете увидеть DNS-имя доступной конечной точки. Это может быть как внутреннее DNS-имя, созданное ClickPipes, так и приватное DNS-имя, предоставленное сервисом PrivateLink. DNS-имя не является полным сетевым адресом. Добавьте порт в соответствии с источником данных.
Строку подключения MSK можно получить в консоли AWS.
Чтобы увидеть полный список DNS-имён, откройте его в настройках облачного сервиса.
Управление существующими обратными приватными endpoint-ами
Вы можете управлять существующими обратными приватными endpoint-ами в настройках сервиса ClickHouse Cloud:
На боковой панели найдите кнопку Settings и нажмите на нее.

Нажмите Reverse private endpoints в разделе ClickPipe reverse private endpoints.

Расширенная информация об обратном приватном endpoint-е отображается во всплывающем окне.
Отсюда можно удалить endpoint. Это повлияет на все ClickPipes, использующие этот endpoint.
Поддерживаемые регионы AWS
Поддержка AWS PrivateLink для ClickPipes ограничена определёнными регионами AWS. Список доступных регионов см. в списке регионов ClickPipes.
Это ограничение не распространяется на службу конечных точек VPC PrivateLink с включённым межрегиональным подключением.
Ограничения
Для конечных точек AWS PrivateLink для ClickPipes, создаваемых в ClickHouse Cloud, нет гарантии, что они будут находиться в том же регионе AWS, что и сервис ClickHouse Cloud.
В настоящее время только сервис VPC endpoint поддерживает межрегиональное подключение.
Частные конечные точки привязаны к конкретному сервису ClickHouse и не могут быть перенесены между сервисами. Несколько ClickPipes для одного сервиса ClickHouse могут повторно использовать одну и ту же конечную точку.