Перейти к основному содержимому
Перейти к основному содержимому

Private Service Connect

Scale plan feature

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:

  1. Регионы, использующие глобальный доступ, должны принадлежать одной и той же VPC.
  2. Глобальный доступ должен быть явно включен на уровне PSC (см. скриншот ниже).
  3. Убедитесь, что ваши настройки брандмауэра не блокируют доступ к PSC из других регионов.
  4. Имейте в виду, что вы можете понести расходы на межрегиональную передачу данных GCP.

Кросс-региональное подключение не поддерживается. Регионы производителя и потребителя должны быть одинаковыми. Тем не менее, вы можете подключаться из других регионов в рамках вашей VPC, включив глобальный доступ на уровне Private Service Connect (PSC).

Пожалуйста, выполните следующие шаги для включения GCP PSC:

  1. Получите присоединение службы GCP для Private Service Connect.
  2. Создайте конечную точку службы.
  3. Добавьте "Endpoint ID" в услугу ClickHouse Cloud.
  4. Добавьте "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, нажав кнопку Подключить конечную точку.

  • Цель: используйте Опубликованную услугу
  • Целевая служба: используйте endpointServiceIdAPI или Имя службыконсоль из шага Получите присоединение службы 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

примечание

используйте endpointServiceIdAPI или Имя службыконсоль из шага Получите присоединение службы 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

Соединение сброшено соперником

Проверка подключения

Если у вас возникли проблемы с подключением с использованием 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.