Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

AWS PrivateLink

Вы можете использовать AWS PrivateLink для установки защищённого соединения между ClickPipes и источником данных, размещённым в AWS. ClickPipes создаёт обратную частную конечную точку (RPE) в своей VPC и связывает её с сервисом конечной точки, опубликованным для вашего источника данных, поэтому трафик никогда не выходит в публичный интернет.

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

Функция обратной частной конечной точки ClickPipes доступна только для следующих типов источников данных:

  • Kafka
  • Postgres
  • MySQL
  • MongoDB

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

Ресурс VPC

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

Конфигурацию ресурса можно привязать к конкретному хосту или ARN кластера RDS.

Это предпочтительный вариант для ингестии данных Postgres CDC из кластера RDS.

Чтобы настроить PrivateLink для ресурса VPC:

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

Создайте шлюз ресурсов

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

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

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

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

Прежде чем продолжить, дождитесь, пока шлюз ресурса перейдёт в состояние 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>

Самый простой тип конфигурации ресурса — одиночная Resource-Configuration. Можно указать 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}'

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

Создайте общий ресурс

Для предоставления общего доступа к ресурсу требуется Resource-Share. Это выполняется через Resource Access Manager (RAM).

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

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

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

Теперь можно создать ClickPipe с обратной частной конечной точкой, используя ресурс VPC. Необходимо:

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

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

Подключение MSK multi-VPC

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

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

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

Сервис конечных точек VPC

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

Сервис конечных точек VPC можно настроить с private DNS, доступным в VPC ClickPipes. Управляемый private DNS AWS PrivateLink не всегда подходит:

  • вы не владеете доменным именем источника данных и поэтому не можете подтвердить его в AWS;
  • поставщик требует, чтобы потребители самостоятельно настраивали разрешение DNS, как в Confluent Cloud. В таких случаях см. Пользовательский private DNS.

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

Подробнее см. в руководстве Getting Started.

Для кластеров MSK см. сервис конечных точек AWS PrivateLink VPC для кластера MSK с конфигурацией «один брокер на сервис конечных точек», использующей пользовательские имена private DNS.

Пользовательский private DNS

Закрытая предварительная версия в ClickHouse Cloud

AWS PrivateLink предоставляет управляемый private DNS для сервисов конечных точек VPC с подтвержденным доменом. Некоторые сервисы требуют, чтобы каждый потребитель управлял DNS-разрешением в собственной VPC; например, Confluent Cloud требует, чтобы потребители разрешали имена хостов брокеров в конечную точку PrivateLink.

Для таких случаев ClickPipes поддерживает привязку пользовательских имен private DNS к обратной частной конечной точке. ClickPipes разрешает эти имена в частные адреса конечной точки, благодаря чему к источнику данных можно обращаться по его собственному имени хоста через частное подключение.

Пользовательский private DNS дополняет управляемый private DNS, а не заменяет его. Если ваш сервис PrivateLink уже предоставляет имена private DNS, пользовательские имена не требуются.

Пользовательские имена private DNS поддерживаются для типов конечных точек сервис конечной точки VPC и ресурс VPC. MSK multi-VPC предоставляет управляемый private DNS по умолчанию и не поддерживает пользовательские имена.

К пользовательским именам private DNS применяются следующие правила:

  • Поддерживаются точные имена (kafka.internal.example.com) и имена с подстановочными знаками (*.example.com). Подстановочный знак соответствует одной метке DNS — например, *.abcde12345.us-east-1.aws.confluent.cloud соответствует b0-lkc123.abcde12345.us-east-1.aws.confluent.cloud.
  • Имена должны быть уникальными среди всех обратных частных конечных точек сервиса ClickHouse, включая пересечения между именами с подстановочными знаками и точными именами.
  • Имена с зарезервированными суффиксами (например, local, localhost, internal, corp, private) отклоняются.

Чтобы настроить пользовательские имена private DNS:

  • В консоли ClickHouse Cloud заполните поле Custom private DNS name при создании обратной частной конечной точки. Поле отображается после включения этой возможности для вашего сервиса.
  • При использовании OpenAPI задайте customPrivateDnsMappings при создании обратной частной конечной точки или обновите существующую конечную точку запросом PATCH. При обновлении заменяется весь список сопоставлений; пустой список удаляет все пользовательские имена.
  • При использовании Terraform применяйте ресурс clickhouse_clickpipes_reverse_private_endpoint_custom_private_dns для управления сопоставлениями в существующей обратной частной конечной точке.

Создание ClickPipe с обратной частной конечной точкой

  1. Откройте SQL Console своего сервиса ClickHouse Cloud.
Сервис ClickPipes
  1. В меню слева выберите Data Sources и нажмите «Set up a ClickPipe».
Выбор импорта
  1. Выберите Kafka или Postgres в качестве источника данных.
Выбор источника данных
  1. Выберите вариант Reverse private endpoint.
Выбор обратной частной конечной точки
  1. Выберите одну из существующих обратных частных конечных точек или создайте новую.
Выбор обратной частной конечной точки
  1. Укажите необходимые параметры для выбранного типа конечной точки.
Выбор обратной частной конечной точки
  • Для ресурса VPC укажите ARN общего доступа к конфигурации и ID конфигурации.
    • Для MSK multi-VPC укажите ARN кластера и метод аутентификации, используемый для созданной конечной точки.
    • Для сервиса конечной точки VPC укажите имя сервиса.
    • При необходимости укажите пользовательское имя private DNS.
  1. Нажмите Create и дождитесь готовности обратной частной конечной точки.

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

Выбор обратной частной конечной точки
  1. Когда конечная точка будет готова, используйте DNS-имя для подключения к источнику данных.

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

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

    Полный список DNS-имён доступен в настройках сервиса Cloud.

Управление обратными частными конечными точками

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

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

    Настройки ClickHouse Cloud
  2. В разделе ClickPipe reverse private endpoints нажмите Reverse private endpoints.

    Настройки ClickHouse Cloud

    На выдвижной панели отображается подробная информация об обратной частной конечной точке.

    После создания конечную точку нельзя редактировать. Её можно удалить, нажав × рядом с конечной точкой и подтвердив удаление — это действие необратимо и нарушит работу всех ClickPipe, которые используют эту конечную точку.

Поддержка AWS PrivateLink для ClickPipes доступна только в определенных регионах AWS. Список доступных регионов приведен в списке регионов ClickPipes.

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

Ограничения

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

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

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

AWS MSK поддерживает только один PrivateLink (конечную точку VPC) для каждого типа аутентификации (SASL_IAM или SASL_SCRAM) на кластер MSK. Поэтому несколько сервисов ClickHouse Cloud или организаций не могут создавать отдельные подключения PrivateLink к одному и тому же кластеру MSK с использованием одного типа аутентификации.

Автоматическая очистка неактивных конечных точек

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

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

Статус Льготный период Описание
Сбой 7 дней При подготовке конечной точки произошла ошибка.
Ожидает подтверждения 1 день Подключение к конечной точке не подтверждено владельцем сервиса.
Отклонено 1 день Подключение к конечной точке было отклонено владельцем сервиса.
Истекло Немедленно Срок действия конечной точки уже истёк, поэтому она незамедлительно удаляется.

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

Чтобы предотвратить автоматическое удаление, устраните основную проблему до истечения льготного периода. Например, подтвердите ожидающий запрос на подключение в консоли AWS или создайте конечную точку заново, если она перешла в состояние сбоя.

Navigation