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:
- Регионы, использующие Global Access, должны принадлежать одному и тому же VPC.
- Global Access должен быть явно включен на уровне PSC (см. скриншот ниже).
- Убедитесь, что настройки вашего брандмауэра не блокируют доступ к PSC из других регионов.
- Имейте в виду, что вы можете понести расходы на межрегиональную передачу данных GCP.
Подключение между регионами не поддерживается. Регионы производителя и потребителя должны совпадать. Однако вы можете подключаться из других регионов внутри вашего VPC, включив Global Access на уровне 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 или использовать существующий.
Получите ваш ClickHouse INSTANCE_ID
, отфильтровав по региону, провайдеру и названию сервиса:
- Вы можете получить ваш 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 не несет ответственности за настройку необходимых конечных точек GCP PSC и 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/Сети могут разрешать его правильно.
Добавьте Endpoint ID в организацию ClickHouse Cloud
Вариант 1: Консоль ClickHouse Cloud
Чтобы добавить конечный пункт в вашу организацию, перейдите к шагу Добавить "Endpoint ID" в список разрешенных сервисов ClickHouse. Добавление ID соединения PSC
с помощью консоли ClickHouse Cloud в список разрешенных сервисов автоматически добавляет его в организацию.
Чтобы удалить конечный пункт, откройте Сведения об организации -> Частные конечные точки и щелкните кнопку удаления, чтобы удалить конечный пункт.

Вариант 2: API
Перед запуском любых команд установите эти переменные окружения:
Замените ENDPOINT_ID
ниже значением из Endpoint ID из шага Добавление частного сервисного соединения
Чтобы добавить конечный пункт, выполните:
Чтобы удалить конечный пункт, выполните:
Добавить/удалить частный конечный пункт в организацию:
Добавить "Endpoint ID" в список разрешенных сервисов ClickHouse
Вам нужно добавить Endpoint 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 link, проверьте вашу связность с помощью 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 — это однонаправленное соединение. Оно позволяет вашей внутренней сети или VPC GCP безопасно подключаться к ClickHouse Cloud, но не позволяет ClickHouse Cloud подключаться к вашей внутренней сети.
Согласно документации GCP Private Service Connect:
Ориентированный на сервис дизайн: Производитель услуг публикует свои услуги через балансировщики нагрузки, которые открывают один IP адрес для сети VPC потребителя. Трафик потребителя, который получает доступ к услугам производителя, односторонний и может получить доступ только к IP адресу услуги, а не ко всей соединенной сети VPC.
Для этого настройте правила брандмауэра GCP VPC, чтобы разрешить подключения от ClickHouse Cloud к вашему внутреннему/частному сервису базы данных. Проверьте IP адреса egress по умолчанию для регионов ClickHouse Cloud, наряду с доступными статическими IP адресами.
Дополнительная информация
Для получения более подробной информации посетите cloud.google.com/vpc/docs/configure-private-service-connect-services.