- Регионы, использующие Global Access, должны принадлежать одной и той же VPC.
- Global Access должен быть явно включён на уровне PSC (см. снимок экрана ниже).
- Убедитесь, что настройки межсетевого экрана не блокируют доступ к PSC из других регионов.
- Имейте в виду, что может взиматься плата GCP за межрегиональную передачу данных.
- Получите подключение сервиса GCP для Private Service Connect.
- Создайте конечную точку сервиса.
- Добавьте “Endpoint ID” в сервис ClickHouse Cloud.
- Добавьте “Endpoint ID” в список разрешённых для сервиса ClickHouse.
Внимание
Прежде чем начать
Ниже приведены примеры кода, показывающие, как настроить Private Service Connect в сервисе ClickHouse Cloud. В этих примерах используются:
- регион GCP:
us-central1 - проект GCP (проект GCP клиента):
my-gcp-project - частный IP-адрес в проекте GCP клиента:
10.128.0.2 - VPC GCP в проекте GCP клиента:
default
INSTANCE_ID, отфильтровав по региону, провайдеру и имени сервиса:
- Вы можете получить свой Organization ID в консоли ClickHouse (Organization -> Organization Details).
- Вы можете создать новый ключ или воспользоваться существующим.
Получите подключение сервиса GCP и DNS-имя для Private Service Connect
Вариант 1: консоль ClickHouse Cloud
endpointServiceId) и DNS-имя (privateDnsHostname) — они понадобятся на следующих этапах.
Вариант 2: API
Чтобы выполнить этот шаг, в регионе должен быть развернут как минимум один инстанс.
endpointServiceId и privateDnsHostname. Они понадобятся вам на следующих этапах.
Создайте конечную точку сервиса
Добавление частного сервисного подключения
Вариант 1: Использование консоли Google Cloud
- Target: используйте Published service
- Target service: используйте
endpointServiceIdAPI илиService nameconsole из шага Получение подключения сервиса GCP для Private Service Connect. - Endpoint name: укажите имя PSC в поле Endpoint name.
- Network/Subnetwork/IP address: выберите сеть, которую хотите использовать для подключения. Для конечной точки Private Service Connect потребуется создать IP-адрес или использовать существующий. В нашем примере мы заранее создали адрес с именем your-ip-address и назначили ему IP-адрес
10.128.0.2. - Чтобы конечная точка была доступна из любого региона, можно установить флажок Enable global access.
Вариант 2: с помощью Terraform
используйте
endpointServiceIdAPI или Service nameконсоль из шага Получение подключения сервиса GCP для Private Service Connect и DNS-имениЗадайте приватное DNS-имя для конечной точки
DNS можно настроить разными способами. Настройте его в соответствии с вашим сценарием использования.
Добавьте Endpoint ID в организацию ClickHouse Cloud
Вариант 1: консоль ClickHouse Cloud
PSC Connection ID в список разрешённых для сервиса через консоль ClickHouse Cloud, он автоматически будет добавлен и в организацию.
Чтобы удалить конечную точку, откройте Organization details -> Private Endpoints и нажмите кнопку удаления.
Вариант 2: API
ENDPOINT_ID ниже значением Endpoint ID из шага Добавление частного сервисного подключения.
Чтобы добавить конечную точку, выполните:
Добавьте “Endpoint ID” в список разрешённых для сервиса ClickHouse
Вариант 1: консоль ClickHouse Cloud
Endpoint ID, полученный на шаге Добавление частного сервисного подключения. Нажмите Создать конечную точку.
Если вы хотите разрешить доступ через существующее подключение Private Service Connect, используйте раскрывающееся меню существующих конечных точек.
Вариант 2: API
Доступ к экземпляру через Private Service Connect
privateDnsHostname из шага Получение подключения сервиса GCP и имени DNS для Private Service Connect.
Получение частного DNS-имени хоста
Вариант 1: консоль ClickHouse Cloud
Вариант 2: API
xxxxxxx.yy-xxxxN.p.gcp.clickhouse.cloud будет направляться через Private Service Connect. В то же время соединение с xxxxxxx.yy-xxxxN.gcp.clickhouse.cloud будет идти через интернет.
Устранение неполадок
Проверьте настройки DNS
privateDnsHostname из шага Получение подключения сервиса GCP для Private Service Connect и DNS-имени
Сброс соединения удалённой стороной
- Скорее всего, Endpoint ID не был добавлен в список разрешённых для этого сервиса. Вернитесь к шагу Добавить Endpoint ID в список разрешённых для сервисов.
Проверка подключения
openssl. Убедитесь, что статус конечной точки Private Service Connect — Accepted:
OpenSSL должен успешно подключаться (в выводе должно отображаться CONNECTED). errno=104 — ожидаемое значение.
DNS_NAME — используйте privateDnsHostname из шага Получение подключения сервиса GCP и DNS-имени для Private Service Connect
Проверка фильтров конечной точки
REST API
Подключение к удалённой базе данных
Сервисно-ориентированная архитектура: сервисы-производители публикуются через балансировщики нагрузки, которые предоставляют сети VPC-потребителя один IP-адрес. Трафик потребителя, обращающийся к сервисам производителя, является однонаправленным и может получать доступ только к IP-адресу сервиса, а не ко всей VPC-сети, связанной через пиринг.Чтобы подключить табличные функции MySQL или PostgreSQL в ClickHouse Cloud к базе данных, размещённой в вашей GCP VPC, настройте правила firewall в вашей GCP VPC так, чтобы разрешить подключения из ClickHouse Cloud. См. IP-адреса egress по умолчанию для регионов ClickHouse Cloud, а также доступные статические IP-адреса.