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

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

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

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

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

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

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

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

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