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

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 недоступна через Private Service Connect, даже если соединение PSC одобрено и установлено; вы должны явно добавить идентификатор PSC в список разрешенных на уровне экземпляра, выполнив шаг ниже.

Важные соображения при использовании Global Access для Private Service Connect:

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

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

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

  1. Получите привязку службы GCP для Private Service Connect.
  2. Создайте конечную точку службы.
  3. Добавьте "Endpoint ID" в службу ClickHouse Cloud.
  4. Добавьте "Endpoint ID" в список разрешенных служб ClickHouse.

Внимание

ClickHouse пытается сгруппировать ваши службы для повторного использования одной и той же опубликованной конечной точки PSC в рамках региона 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 с помощью фильтрации по региону, провайдеру и имени службы:

примечание
  • Вы можете получить ваш идентификатор организации из консоли 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, нажав кнопку Подключить конечную точку.

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

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

Столбец Статус изменится с Ожидание на Принято, как только соединение будет одобрено.

Скопируйте Идентификатор соединения PSC, мы будем использовать его в качестве Идентификатора конечной точки на следующих шагах.

Вариант 2: Использование Terraform

примечание

используйте endpointServiceIdAPI или Имя службыконсоль из шага Получение привязки службы GCP для Private Service Connect

Установите частное DNS-имя для конечной точки

примечание

Существует множество способов настроить DNS. Пожалуйста, настройте DNS в соответствии с вашим конкретным случаем использования.

Вы должны указать "DNS-имя", взятое из шага Получение привязки службы GCP для Private Service Connect, на IP-адрес конечной точки GCP Private Service Connect. Это обеспечит правильное разрешение служб/компонентов внутри вашей VPC/Сети.

Добавить идентификатор конечной точки в организацию ClickHouse Cloud

Вариант 1: Консоль ClickHouse Cloud

Чтобы добавить конечную точку в вашу организацию, перейдите к шагу Добавить "Endpoint ID" в список разрешенных служб ClickHouse. Добавление PSC Connection ID с помощью консоли ClickHouse Cloud в список разрешенных служб автоматически добавляет его в организацию.

Чтобы удалить конечную точку, откройте Подробности организации -> Приватные конечные точки и нажмите кнопку удаления, чтобы удалить конечную точку.

Вариант 2: API

Установите эти переменные окружения перед выполнением любых команд:

Замените ENDPOINT_ID ниже значением из Endpoint ID с шага Добавление частного соединения службы

Чтобы добавить конечную точку, выполните:

Чтобы удалить конечную точку, выполните:

Добавить/удалить частную конечную точку в организацию:

Добавить "Endpoint ID" в список разрешенных служб ClickHouse

Вам нужно добавить идентификатор конечной точки в список разрешенных для каждого экземпляра, который должен быть доступен через 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 — Accepted:

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.

Для этого настройте правила брандмауэра вашей VPC GCP, чтобы разрешить подключения от ClickHouse Cloud к вашей внутренней/приватной службе базы данных. Проверьте адреса IP по умолчанию для выхода для регионов ClickHouse Cloud, а также доступные статические IP-адреса.

Дополнительная информация

Для получения более подробной информации посетите cloud.google.com/vpc/docs/configure-private-service-connect-services.