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

Частное Соединение Сервисов

Scale plan feature

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 в список разрешенных на уровне экземпляра, выполнив шаг ниже.

Важно учитывать при использовании Глобального Доступа Частного Соединения Сервисов:

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

Сквозная связь между регионами не поддерживается. Регионы производителя и потребителя должны быть одинаковыми. Однако вы можете подключиться из других регионов внутри своей VPC, включив Глобальный доступ на уровне Частного Соединения Сервисов (PSC).

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

  1. Получите присоединение услуги GCP для Частного Соединения Сервисов.
  2. Создайте конечную точку сервиса.
  3. Добавьте "Идентификатор конечной точки" в сервис ClickHouse Cloud.
  4. Добавьте "Идентификатор конечной точки" в список разрешенных сервисов 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 перейдите в Сетевые услуги -> Частное Соединение Сервисов.

Откройте диалоговое окно создания Частного Соединения Сервисов, нажав на кнопку Подключить Конечную Точку.

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

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

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

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

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

примечание

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