Private Service Connect
GCP PSC is available in the Scale and Enterprise plans. To upgrade, visit the Plans page in the cloud console.
Private Service Connect (PSC) — это сетевые возможности Google Cloud, которые позволяют пользователям получать доступ к управляемым услугам приватно внутри своей виртуальной частной облачной сети (VPC). Аналогично, они позволяют производителям управляемых услуг размещать эти услуги в своих собственных отдельных сетях VPC и предлагать приватное соединение своим потребителям.
Производители услуг публикуют свои приложения для пользователей, создавая услуги Private Service Connect. Потребители услуг получают доступ к этим услугам Private Service Connect напрямую через один из этих типов Private Service Connect.

По умолчанию услуга ClickHouse недоступна через частное сервисное соединение, даже если соединение PSC одобрено и установлено; вам необходимо явно добавить ID PSC в список разрешенных на уровне экземпляра, выполнив шаг ниже.
Важные моменты при использовании Global Access Private Service Connect:
- Регионы, использующие глобальный доступ, должны принадлежать одной и той же VPC.
- Глобальный доступ должен быть явно включен на уровне PSC (см. скриншот ниже).
- Убедитесь, что ваши настройки брандмауэра не блокируют доступ к PSC из других регионов.
- Имейте в виду, что вы можете понести расходы на межрегиональную передачу данных GCP.
Кросс-региональное подключение не поддерживается. Регионы производителя и потребителя должны быть одинаковыми. Тем не менее, вы можете подключаться из других регионов в рамках вашей VPC, включив глобальный доступ на уровне Private Service Connect (PSC).
Пожалуйста, выполните следующие шаги для включения GCP PSC:
- Получите присоединение службы GCP для Private Service Connect.
- Создайте конечную точку службы.
- Добавьте "Endpoint ID" в услугу ClickHouse Cloud.
- Добавьте "Endpoint ID" в список разрешенных услуг ClickHouse.
Внимание
ClickHouse пытается сгруппировать ваши услуги, чтобы повторно использовать один и тот же опубликованный PSC endpoint в регионе GCP. Однако такая группировка не гарантируется, особенно если вы распределяете свои услуги между несколькими организациями ClickHouse. Если у вас уже настроен PSC для других услуг в вашей организации ClickHouse, вы часто можете пропустить большинство шагов благодаря этой группировке и перейти сразу к последнему шагу: Добавить "Endpoint ID" в список разрешенных услуг ClickHouse.
Найдите примеры Terraform здесь.
Перед тем как начать
Примеры кода приведены ниже, чтобы показать, как настроить Private Service Connect в рамках услуги ClickHouse Cloud. В наших примерах мы будем использовать:
- Регион GCP:
us-central1
- Проект GCP (проект GCP клиента):
my-gcp-project
- Приватный IP-адрес GCP в проекте GCP клиента:
10.128.0.2
- VPC GCP в проекте GCP клиента:
default
Вам необходимо получить информацию о вашей услуге ClickHouse Cloud. Вы можете сделать это либо через консоль ClickHouse Cloud, либо через API ClickHouse. Если вы собираетесь использовать API ClickHouse, пожалуйста, установите следующие переменные окружения перед продолжением:
Вы можете создать новый ключ API ClickHouse Cloud или использовать существующий.
Получите ваш INSTANCE_ID
ClickHouse, отфильтровав по региону, поставщику и имени услуги:
- Вы можете получить свой ID организации в консоли ClickHouse (Организация -> Подробности организации).
- Вы можете создать новый ключ или использовать существующий.
Получите присоединение службы GCP и DNS-имя для Private Service Connect
Вариант 1: Консоль ClickHouse Cloud
В консоли ClickHouse Cloud откройте услугу, к которой вы хотите подключиться через Private Service Connect, затем откройте меню Настройки. Нажмите кнопку Настроить приватную конечную точку. Обратите внимание на Имя службы (endpointServiceId
) и DNS-имя (privateDnsHostname
). Они понадобятся вам в следующих шагах.

Вариант 2: API
Вам необходимо, чтобы по крайней мере один экземпляр был развернут в регионе для выполнения этого шага.
Получите присоединение службы GCP и DNS-имя для Private Service Connect:
Обратите внимание на endpointServiceId
и privateDnsHostname
. Они понадобятся вам в следующих шагах.
Создать конечную точку службы
Этот раздел охватывает специфические детали ClickHouse для настройки ClickHouse через GCP PSC (Private Service Connect). Шаги, специфичные для GCP, предоставлены в качестве справки, чтобы направить вас на правильный путь, но они могут изменяться со временем без предварительного уведомления поставщика облачных услуг GCP. Пожалуйста, принимайте во внимание настройки GCP в зависимости от вашего конкретного случая.
Обратите внимание, что ClickHouse не несет ответственность за настройку необходимых конечных точек PSC GCP, DNS-записей.
По любым вопросам, связанным с задачами настройки GCP, обращайтесь в службу поддержки GCP напрямую.
В этом разделе мы собираемся создать конечную точку службы.
Добавление частного сервисного подключения
Для начала мы создадим частное сервисное подключение.
Вариант 1: Используя консоль Google Cloud
В консоли Google Cloud перейдите в Сетевые услуги -> Private Service Connect.

Откройте диалоговое окно создания Private Service Connect, нажав кнопку Подключить конечную точку.
- Цель: используйте Опубликованную услугу
- Целевая служба: используйте
endpointServiceId
API илиИмя службы
консоль из шага Получите присоединение службы GCP для Private Service Connect. - Имя конечной точки: задайте имя для Имени конечной точки PSC.
- Сеть/Подсеть/IP-адрес: выберите сеть, которую вы хотите использовать для подключения. Вам нужно будет создать IP-адрес или использовать существующий для конечной точки Private Service Connect. В нашем примере мы заранее создали адрес с именем your-ip-address и назначили IP-адрес
10.128.0.2
. - Чтобы сделать конечную точку доступной из любого региона, вы можете включить флажок Включить глобальный доступ.

Для создания конечной точки PSC используйте кнопку ДОБАВИТЬ КОНЕЧНУЮ ТОЧКУ.
Столбец Статус изменится с Ожидание на Принято, после того как подключение будет одобрено.

Скопируйте ID соединения PSC, мы собираемся использовать его как Endpoint ID в следующих шагах.
Вариант 2: Используя Terraform
используйте endpointServiceId
API или Имя службы
консоль из шага Получите присоединение службы GCP для Private Service Connect
Установите частное DNS-имя для конечной точки
Существует несколько способов настройки DNS. Пожалуйста, настройте DNS в соответствии с вашим конкретным случаем.
Вам необходимо указать "DNS имя", полученное из шага Получите присоединение службы GCP для Private Service Connect, на IP-адрес конечной точки GCP Private Service Connect. Это обеспечит правильное разрешение для служб/компонентов в вашей VPC/Сети.
Добавить ID конечной точки в организацию ClickHouse Cloud
Вариант 1: Консоль ClickHouse Cloud
Чтобы добавить конечную точку в вашу организацию, перейдите к шагу Добавить "Endpoint ID" в список разрешенных услуг ClickHouse. Добавление PSC Connection ID
с помощью консоли ClickHouse Cloud в список разрешенных услуг автоматически добавляет его в организацию.
Чтобы удалить конечную точку, откройте Подробности организации -> Приватные конечные точки и нажмите кнопку удаления, чтобы удалить конечную точку.

Вариант 2: API
Установите эти переменные окружения перед выполнением любых команд:
Замените ENDPOINT_ID
ниже на значение из Endpoint ID из шага Добавление частного сервисного подключения
Чтобы добавить конечную точку, выполните:
Чтобы удалить конечную точку, выполните:
Добавьте/удалите частную конечную точку в организации:
Добавить "Endpoint ID" в список разрешенных услуг ClickHouse
Вам необходимо добавить ID конечной точки в список разрешенных для каждого экземпляра, который должен быть доступен с использованием Private Service Connect.
Вариант 1: Консоль ClickHouse Cloud
В консоли ClickHouse Cloud откройте услугу, к которой вы хотите подключиться через Private Service Connect, затем перейдите в Настройки. Введите Endpoint ID
, полученный из шага Добавление частного сервисного подключения. Нажмите Создать конечную точку.
Если вы хотите разрешить доступ из существующего соединения Private Service Connect, используйте выпадающее меню существующей конечной точки.

Вариант 2: API
Установите эти переменные окружения перед выполнением любых команд:
Замените ENDPOINT_ID ниже на значение из Endpoint ID из шага Добавление частного сервисного подключения
Выполните это для каждой службы, которая должна быть доступна с использованием Private Service Connect.
Чтобы добавить:
Чтобы удалить:
Доступ к экземпляру с использованием Private Service Connect
Каждая служба с включенным Private Link имеет публичную и приватную конечную точку. Чтобы подключиться с использованием Private Link, вам необходимо использовать приватную конечную точку, которая будет privateDnsHostname
, взятая из шага Получите присоединение службы GCP для Private Service Connect.
Получение приватного DNS-имени
Вариант 1: Консоль ClickHouse Cloud
В консоли ClickHouse Cloud перейдите в Настройки. Нажмите кнопку Настроить приватную конечную точку. В открывшемся меню скопируйте DNS-имя.

Вариант 2: API
В этом примере подключение к хосту xxxxxxx.yy-xxxxN.p.gcp.clickhouse.cloud
будет маршрутизироваться через Private Service Connect. Тем временем, xxxxxxx.yy-xxxxN.gcp.clickhouse.cloud
будет маршрутизироваться через интернет.
Устранение неполадок
Проверка настроек DNS
DNS_NAME - Используйте privateDnsHostname
из шага Получите присоединение службы GCP для Private Service Connect
Соединение сброшено соперником
- Скорее всего, ID конечной точки не был добавлен в список разрешенных услуг. Вернитесь к шагу Добавить ID конечной точки в список разрешенных услуг.
Проверка подключения
Если у вас возникли проблемы с подключением с использованием PSC ссылки, проверьте ваше подключение с помощью openssl
. Убедитесь, что статус конечной точки Private Service Connect — Принято
:
OpenSSL должен быть в состоянии подключиться (посмотрите CONNECTED в выводе). errno=104
ожидается.
DNS_NAME - Используйте privateDnsHostname
из шага Получите присоединение службы GCP для Private Service Connect
Проверка фильтров конечной точки
REST API
Подключение к удалённой базе данных
Предположим, вы пытаетесь использовать MySQL или PostgreSQL функции таблиц в ClickHouse Cloud и подключиться к вашей базе данных, размещенной в GCP. GCP PSC не может быть использован для безопасного подключения. PSC — это однонаправленное соединение. Оно позволяет вашей внутренней сети или GCP VPC безопасно подключаться к ClickHouse Cloud, но не позволяет ClickHouse Cloud подключаться к вашей внутренней сети.
Согласно документации GCP Private Service Connect:
Ориентированный на услуги проект: Услуги производителей публикуются через балансировщики нагрузки, которые открывают один IP-адрес для сети VPC потребителя. Трафик потребителей, который обращается к услугам производителей, одномерен и может получить доступ только к IP-адресу службы, а не ко всей сети VPC, с которой создано соединение.
Для этого настройте правила брандмауэра вашей GCP VPC, чтобы разрешить подключения от ClickHouse Cloud к вашей внутренней/приватной службе базы данных. Проверьте стандартные исходящие IP-адреса для регионов ClickHouse Cloud, а также доступные статические IP-адреса.
Дополнительная информация
Для получения более подробной информации посетите cloud.google.com/vpc/docs/configure-private-service-connect-services.