Перейти к основному содержанию
Перейти к основному содержанию

AWS PrivateLink для ClickPipes

Вы можете использовать AWS PrivateLink для установления защищенного соединения между VPC, сервисами AWS, вашими локальными системами и ClickHouse Cloud, не выводя трафик в общедоступный интернет.

В этом документе описана функциональность обратных приватных конечных точек (endpoint) ClickPipes, которая позволяет настроить конечную точку VPC AWS PrivateLink.

Поддерживаемые источники данных ClickPipes

Возможности функции reverse private endpoint в ClickPipes ограничены следующими типами источников данных:

  • Kafka
  • Postgres
  • MySQL
  • MongoDB

Обратную частную конечную точку ClickPipes можно настроить с использованием одного из следующих подходов AWS PrivateLink:

Ресурс VPC

Справочные материалы

Межрегиональное подключение не поддерживается.

Доступ к ресурсам вашего VPC в ClickPipes можно получить с помощью PrivateLink. Этот подход не требует настройки балансировщика нагрузки перед источником данных.

Конфигурацию ресурса можно настроить на конкретный хост или ARN кластера RDS.

Это предпочтительный вариант для приёма данных Postgres CDC (фиксация изменений данных) из кластера RDS.

Для настройки PrivateLink с ресурсом VPC:

  1. Создайте шлюз ресурсов
  2. Создайте конфигурацию ресурса
  3. Создайте общий ресурс

Создание шлюза ресурсов

Шлюз ресурсов — это точка приёма трафика для указанных ресурсов в вашем VPC.

Примечание

Рекомендуется, чтобы подсети, подключённые к вашему шлюзу ресурсов, имели достаточное количество доступных IP-адресов. Рекомендуется использовать маску подсети не менее /26 для каждой подсети.

Для каждой конечной точки VPC (каждой обратной частной конечной точки) AWS требует последовательный блок из 16 IP-адресов на подсеть (маска подсети /28). Если это требование не выполнено, обратная частная конечная точка перейдёт в состояние сбоя.

Вы можете создать шлюз ресурсов из консоли AWS или с помощью следующей команды:

aws vpc-lattice create-resource-gateway \
    --vpc-identifier <VPC_ID> \
    --subnet-ids <SUBNET_IDS> \
    --security-group-ids <SG_IDs> \
    --name <RESOURCE_GATEWAY_NAME>

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

Прежде чем продолжить, необходимо дождаться перехода шлюза ресурсов в состояние Active. Проверить состояние можно, выполнив следующую команду:

aws vpc-lattice get-resource-gateway \
    --resource-gateway-identifier <RESOURCE_GATEWAY_ID>

Создание конфигурации ресурса VPC

Конфигурация ресурса связывается со шлюзом ресурсов, чтобы сделать ваш ресурс доступным.

Вы можете создать конфигурацию ресурса из консоли AWS или с помощью следующей команды:

aws vpc-lattice create-resource-configuration \
    --resource-gateway-identifier <RESOURCE_GATEWAY_ID> \
    --type <RESOURCE_CONFIGURATION_TYPE> \
    --resource-configuration-definition <RESOURCE_CONFIGURATION_DEFINITION> \
    --name <RESOURCE_CONFIGURATION_NAME>

Простейший тип конфигурации ресурса — это одиночная конфигурация ресурса. Вы можете настроить её напрямую с помощью ARN или указать IP-адрес или доменное имя, которое можно разрешить публично.

Например, для настройки с использованием ARN кластера RDS:

aws vpc-lattice create-resource-configuration \
    --name my-rds-cluster-config \
    --type ARN \
    --resource-gateway-identifier rgw-0bba03f3d56060135 \
    --resource-configuration-definition 'arnResource={arn=arn:aws:rds:us-east-1:123456789012:cluster:my-rds-cluster}'
Примечание

Невозможно создать конфигурацию ресурса для публично доступного кластера. Если ваш кластер публично доступен, необходимо изменить кластер, сделав его частным перед созданием конфигурации ресурса, или использовать список разрешённых IP-адресов. Дополнительную информацию см. в документации AWS.

Вывод будет содержать ARN конфигурации ресурса, который потребуется для следующего шага. Он также будет содержать идентификатор конфигурации ресурса, который потребуется для настройки подключения ClickPipe с ресурсом VPC.

Создание общего ресурса

Для совместного использования вашего ресурса требуется общий ресурс. Это осуществляется через Resource Access Manager (RAM).

Вы можете добавить Resource-Configuration в Resource-Share через консоль AWS или выполнив следующую команду с идентификатором учетной записи ClickPipes 072088201116 (arn:aws:iam::072088201116:root):

aws ram create-resource-share \
    --principals 072088201116 \
    --resource-arns <RESOURCE_CONFIGURATION_ARN> \
    --name <RESOURCE_SHARE_NAME>

В выводе команды будет содержаться ARN Resource-Share, который потребуется для настройки подключения ClickPipe с ресурсом VPC.

Теперь вы готовы создать ClickPipe с обратной частной конечной точкой, используя ресурс VPC. Вам потребуется:

  • Установить VPC endpoint type в значение VPC Resource.
  • Установить Resource configuration ID в значение идентификатора Resource-Configuration, созданного на шаге 2.
  • Установить Resource share ARN в значение ARN Resource-Share, созданного на шаге 3.

Подробнее о PrivateLink с ресурсом VPC см. в документации AWS.

Многосетевое подключение MSK

Многосетевое подключение — это встроенная функция AWS MSK, которая позволяет подключать несколько VPC к одному кластеру MSK. Поддержка частного DNS доступна по умолчанию и не требует дополнительной настройки. Межрегиональное подключение не поддерживается.

Это рекомендуемый вариант для ClickPipes с MSK. Подробнее см. в руководстве по началу работы.

Справочные материалы

Обновите политику кластера MSK и добавьте 072088201116 в список разрешенных участников вашего кластера MSK. Подробнее см. в руководстве AWS по присоединению политики кластера.

Следуйте нашему руководству по настройке MSK для ClickPipes, чтобы узнать, как настроить подключение.

Служба конечных точек VPC

Служба конечных точек VPC — это альтернативный способ предоставления доступа к вашему источнику данных для ClickPipes. Требуется настройка NLB (Network Load Balancer) перед вашим источником данных и конфигурирование службы конечных точек VPC для использования NLB.

Служба конечных точек VPC может быть настроена с частным DNS, который будет доступен в VPC ClickPipes.

Это предпочтительный выбор для:

Подробнее см. в руководстве по началу работы.

Справочные материалы

Добавьте идентификатор учетной записи ClickPipes 072088201116 в список разрешенных участников вашей службы конечных точек VPC. Подробнее см. в руководстве AWS по управлению разрешениями.

Справочные материалы

Межрегиональный доступ может быть настроен для ClickPipes. Добавьте регион вашего ClickPipe в список разрешенных регионов в вашей службе конечных точек VPC.

Создание ClickPipe с reverse private endpoint

Откройте SQL Console сервиса ClickHouse Cloud.

Сервис ClickPipes

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

Выбор импортов

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

Выбор источника данных

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

Выбор reverse private endpoint

Выберите одну из существующих reverse private endpoint или создайте новую.

Справочные материалы

Если для RDS требуется кросс-регионный доступ, необходимо создать VPC endpoint service, и это руководство может служить хорошей отправной точкой для его настройки.

Для доступа в пределах одного региона рекомендуется создать ресурс VPC (VPC Resource).

Выбор reverse private endpoint

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

Выбор reverse private endpoint
  • Для VPC resource укажите configuration share ARN и configuration ID.
  • Для MSK multi-VPC укажите cluster ARN и метод аутентификации, используемый с созданным endpoint.
  • Для VPC endpoint service укажите имя сервиса.

Нажмите Create и дождитесь готовности reverse private endpoint.

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

Выбор reverse private endpoint

После того как endpoint будет готов, вы можете использовать DNS-имя для подключения к источнику данных.

В списке endpoint вы можете увидеть DNS-имя доступного endpoint. Это может быть либо внутреннее DNS-имя, подготовленное ClickPipes, либо приватное DNS-имя, предоставленное сервисом PrivateLink. DNS-имя не является полным сетевым адресом. Добавьте порт в соответствии с источником данных.

Строку подключения MSK можно получить в консоли AWS.

Чтобы увидеть полный список DNS-имён, откройте его в настройках облачного сервиса.

Управление существующими обратными приватными endpoint’ами

Вы можете управлять существующими обратными приватными endpoint’ами в настройках сервиса ClickHouse Cloud:

На боковой панели найдите кнопку Settings и нажмите её.

Настройки ClickHouse Cloud

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

Настройки ClickHouse Cloud

Расширенная информация об обратном приватном endpoint’е отображается во выдвижной панели.

Отсюда можно удалить endpoint. Это повлияет на все ClickPipes, которые используют этот endpoint.

Поддержка AWS PrivateLink для ClickPipes ограничена определёнными регионами AWS. См. список регионов ClickPipes, чтобы узнать доступные регионы.

Это ограничение не распространяется на службу конечной точки VPC PrivateLink с включённой межрегиональной связностью.

Ограничения

Для конечных точек AWS PrivateLink для ClickPipes, созданных в ClickHouse Cloud, не гарантируется, что они будут созданы в том же регионе AWS, что и сервис ClickHouse Cloud.

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

Приватные конечные точки привязаны к конкретному сервису ClickHouse и не могут быть перенесены между сервисами. Несколько ClickPipes для одного сервиса ClickHouse могут использовать одну и ту же конечную точку.