Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

GCP Private Service Connect для ClickPipes

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

Поддерживаемые схемы

Схема Когда применяется Подключение сервиса GCP
Нативный PSC Управляемые сервисы, автоматически публикующие подключение сервиса PSC (например, Google Cloud SQL, AlloyDB, Google Cloud Managed Service for Apache Kafka). Автоматически создаётся при включении PSC для экземпляра.
PSC, принадлежащий producer Источники данных, не публикующие подключение сервиса, например Postgres на Compute Engine или управляемый сервис, доступный только по частному IP-адресу. Создаётся и управляется вами.

Предварительные требования

  • Сервис ClickHouse Cloud, размещённый в GCP. ClickPipes работает в том же регионе, что и ваш сервис ClickHouse Cloud (за некоторыми исключениями).
  • Права IAM для включения PSC для вашего источника и управления подключениями сервиса GCP (roles/compute.networkAdmin).
  • Проект-потребитель ClickPipes, которому разрешено подключаться к вашему подключению сервиса GCP (clickpipes-production).
  • Если вы настраиваете ClickPipes программно: ключ API ClickHouse Cloud для организации, которой принадлежит сервис.

Создайте обратную частную конечную точку

Чтобы создать RPE, вам потребуется следующая информация об источнике данных:

  • URI подключения сервиса GCP: projects/<PROJECT>/regions/<REGION>/serviceAttachments/<NAME> — конечная точка PSC, опубликованная перед источником данных.
  • имя private DNS: имя хоста, к которому подключается ваш пайп. Конечной точке PSC назначается статический внутренний IP-адрес без привязанного DNS-имени, поэтому ClickPipes разрешает это имя хоста в этот IP-адрес.
  1. В ClickHouse Cloud откройте сервис и перейдите в Источники данных > ClickPipes.
  2. Выберите источник данных, из которого необходимо принимать данные.
  3. В разделе Настройка подключения ClickPipe включите Использовать защищённое соединение, затем нажмите + Обратная частная конечная точка и выберите Подключение сервиса GCP PSC.
  4. Укажите URI подключения сервиса GCP, имя private DNS и Описание.
  5. Нажмите Создать. Конечная точка последовательно переходит из состояния Provisioning в Ready. (Нативный PSC автоматически принимает подключение, поэтому состояние PendingAcceptance не отображается.)

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

Поскольку GCP PSC не передаёт записи DNS, для каждой конечной точки GCP PSC необходимо сопоставление пользовательского private DNS, чтобы ClickPipes мог разрешать его в статический внутренний IP-адрес конечной точки.

Применяются стандартные правила именования пользовательского private DNS в ClickPipes: поддержка подстановочных шаблонов, уникальность среди обратных частных конечных точек сервиса и ограничения для зарезервированных суффиксов одинаковы для всех провайдеров. Подстановочные шаблоны особенно полезны: например, одно сопоставление *.<cluster>.<region>.managedkafka.<project>.cloud.goog охватывает всех брокеров кластера Managed Kafka.

Для GCP PSC используется только значение privateDnsName сопоставления. Поле internalDNSName не поддерживается, поскольку конечная точка PSC предоставляет статический IP-адрес без DNS-имени, к которому можно привязаться: сопоставления всегда разрешаются в этот IP-адрес.

Подтверждение подключений для PSC, принадлежащего producer

Для PSC, принадлежащего producer, добавьте проект-потребитель ClickPipes (clickpipes-production) в список автоматического принятия подключения сервиса GCP, чтобы подключение принималось автоматически. Если этого не сделать, RPE останется в состоянии PendingAcceptance, пока вы не подтвердите его вручную.

Чтобы принять подключение, список потребителей подключения сервиса GCP должен содержать URI конечной точки с числовым ID (projects/<PROJECT>/regions/<REGION>/forwardingRules/<NUMERIC_ID>). Чтобы получить значение endpointWithId для ожидающего подключения к подключению сервиса GCP, выполните:

gcloud beta compute service-attachments describe <SERVICE_ATTACHMENT_NAME> \
  --region=<REGION> --project=<YOUR_PROJECT_ID> \
  --format='json(connectedEndpoints)'

Возьмите endpointWithId записи, у которой status имеет значение PENDING, удалите префикс https://www.googleapis.com/compute/beta/ и передайте результат в --consumer-accept-list:

gcloud beta compute service-attachments update <SERVICE_ATTACHMENT_NAME> \
  --region=<REGION> --project=<YOUR_PROJECT_ID> \
  --consumer-accept-list=projects/<PROJECT>/regions/<REGION>/forwardingRules/<NUMERIC_ID> \
  --reconcile-connections

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

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

  1. На боковой панели консоли ClickHouse Cloud перейдите в раздел Settings.

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

Подробная информация об обратной частной конечной точке отображается в выдвижной панели. Здесь можно удалить RPE: нажмите × рядом с конечной точкой и подтвердите удаление. Удаление необратимо и нарушит работу всех ClickPipe, использующих эту конечную точку.

Чтобы изменить сопоставления пользовательского private DNS для конечной точки, используйте Cloud API или Terraform. При обновлении заменяется весь список сопоставлений, а не добавляются новые.

Если для конечной точки отображается статус Rejected или Failed, прочитайте сообщение под статусом: оно позволяет отличить подключение, отклонённое producer, от подключения, которое было закрыто или требует внимания. В обоих случаях это обычно означает, что список разрешённых подключений подключения сервиса GCP не включает проект-потребитель ClickPipes. Чтобы увидеть статус конечной точки, сообщаемый GCP, опишите connectedEndpoints для подключения сервиса GCP.

Известные ограничения

  • Подключение сервиса GCP PSC может быть закреплено только за одним сервисом ClickHouse Cloud одновременно; его нельзя использовать для нескольких сервисов. Чтобы перенести подключение сервиса GCP в другой сервис, обратитесь в службу поддержки ClickHouse, чтобы снять существующее закрепление.
Navigation