В этом руководстве показано, как использовать Azure Private Link для организации частного подключения через виртуальную сеть между Azure (включая сервисы, принадлежащие клиентам и партнёрам Microsoft) и ClickHouse Cloud. Azure Private Link упрощает сетевую архитектуру и защищает соединение между конечными точками в Azure, исключая передачу данных через публичный интернет.
Azure поддерживает межрегиональное подключение через Private Link. Это позволяет устанавливать соединения между VNet, расположенными в разных регионах, где у вас развернуты сервисы ClickHouse.
За межрегиональный трафик может взиматься дополнительная плата. Ознакомьтесь с актуальной документацией Azure.
Чтобы включить Azure Private Link, выполните следующие шаги:
- Получите alias подключения Azure для Private Link
- Создайте частную конечную точку в Azure
- Добавьте Resource ID частной конечной точки в организацию ClickHouse Cloud
- Добавьте Resource ID частной конечной точки в список разрешённых для ваших сервисов
- Подключитесь к сервису ClickHouse Cloud через Private Link
В ClickHouse Cloud Azure PrivateLink вместо фильтров resourceGUID теперь используются фильтры Resource ID. resourceGUID по-прежнему можно использовать, так как он обратно совместим, однако мы рекомендуем перейти на фильтры Resource ID. Для миграции просто создайте новую конечную точку с использованием Resource ID, подключите её к сервису и удалите старую конечную точку на основе resourceGUID.
ClickHouse старается группировать ваши сервисы, чтобы повторно использовать один и тот же опубликованный сервис Private Link в рамках региона Azure. Однако такая группировка не гарантируется, особенно если ваши сервисы распределены между несколькими организациями ClickHouse.
Если Private Link уже настроен для других сервисов в вашей организации ClickHouse, благодаря этой группировке вы часто можете пропустить большинство шагов и сразу перейти к последнему: добавить Resource ID частной конечной точки в список разрешённых для ваших сервисов.
Примеры Terraform можно найти в ClickHouse репозитории Terraform-провайдера.
Получите псевдоним подключения Azure для Private Link
Вариант 1: консоль ClickHouse Cloud
В консоли ClickHouse Cloud откройте сервис, к которому вы хотите подключиться через PrivateLink, затем откройте меню Настройки. Нажмите кнопку Настроить частную конечную точку. Запишите Service name и DNS name — они понадобятся для настройки Private Link.
Запишите Service name и DNS name — они понадобятся на следующих шагах.
Перед началом работы вам понадобится API-ключ ClickHouse Cloud. Вы можете создать новый ключ или использовать существующий.
Получив API-ключ, задайте следующие переменные окружения перед выполнением любых команд:
Получите ClickHouse INSTANCE_ID, выполнив фильтрацию по региону, провайдеру и имени сервиса:
Получите псевдоним подключения Azure и имя хоста Private DNS для Private Link:
Запишите endpointServiceId. Он понадобится на следующем этапе.
Создайте частную конечную точку в Azure
В этом разделе рассматриваются особенности настройки ClickHouse через Azure Private Link, относящиеся именно к ClickHouse. Шаги со стороны Azure приведены только в справочных целях, чтобы сориентировать вас, где искать нужные настройки, однако со временем они могут измениться без предварительного уведомления со стороны облачного провайдера Azure. Учитывайте особенности конфигурации Azure в соответствии с вашим конкретным сценарием использования.Обратите внимание, что ClickHouse не отвечает за настройку необходимых частных конечных точек Azure и DNS-записей.Если у вас возникнут проблемы, связанные с задачами настройки Azure, обращайтесь напрямую в Azure Support.
В этом разделе мы создадим частную конечную точку в Azure. Для этого можно использовать либо Azure Portal, либо Terraform.
Вариант 1: Использование Azure Portal для создания частной конечной точки в Azure
В Azure Portal откройте Private Link Center → Private Endpoints.
Откройте диалог создания частной конечной точки, нажав кнопку Create.
На следующем экране укажите следующие параметры:
- Subscription / Resource Group: выберите подписку Azure и группу ресурсов для частной конечной точки.
- Name: задайте имя для частной конечной точки.
- Region: выберите регион, в котором развёрнута VNet, которая будет подключаться к ClickHouse Cloud через Private Link.
После этого нажмите кнопку Next: Resource.
Выберите вариант Connect to an Azure resource by resource ID or alias.
В поле Resource ID or alias используйте endpointServiceId, полученный на шаге Obtain Azure connection alias for Private Link.
Нажмите кнопку Next: Virtual Network.
- Virtual network: выберите VNet, которую хотите подключить к ClickHouse Cloud через Private Link
- Subnet: выберите подсеть, в которой будет создана частная конечная точка
Необязательно:
- Application security group: можно привязать ASG к частной конечной точке и использовать её в Network Security Groups для фильтрации сетевого трафика к/от частной конечной точки.
Нажмите кнопку Next: DNS.
Нажмите кнопку Next: Tags.
При необходимости вы можете добавить теги к своей частной конечной точке.
Нажмите кнопку Next: Review + create.
Наконец, нажмите кнопку Create.
У созданной частной конечной точки Connection status будет иметь состояние Pending. Оно изменится на Approved, как только вы добавите эту частную конечную точку в список разрешённых для сервиса.
Откройте сетевой интерфейс, связанный с частной конечной точкой, и скопируйте Private IPv4 address (в этом примере — 10.0.0.4) — эта информация понадобится вам на следующих шагах.
Используйте приведённый ниже шаблон Terraform для создания частной конечной точки:
Получение Resource ID частной конечной точки
Чтобы использовать Private Link, необходимо добавить Resource ID подключения частной конечной точки в список разрешённых для вашего сервиса.
Resource ID частной конечной точки доступен в Azure Portal. Откройте частную конечную точку, созданную на предыдущем шаге, и нажмите JSON View:
В разделе properties найдите поле id и скопируйте его значение:
Предпочтительный способ: использование Resource ID
Устаревший способ: использование resourceGUID
resourceGUID по-прежнему можно использовать для обратной совместимости. Найдите поле resourceGuid и скопируйте его значение:
Настройка DNS для Private Link
Вам потребуется создать зону Private DNS (${location_code}.privatelink.azure.clickhouse.cloud) и привязать её к вашей VNet, чтобы получить доступ к ресурсам через Private Link.
Создание зоны Private DNS
Вариант 1: Через Azure Portal
Следуйте этому руководству, чтобы создать частную зону DNS в Azure через Azure Portal.
Вариант 2: С помощью Terraform
Используйте следующий шаблон Terraform, чтобы создать зону Private DNS:
Создайте подстановочную DNS-запись
Создайте подстановочную запись и направьте её на свою частную конечную точку:
Вариант 1: через Azure Portal
- Откройте группу ресурсов
MyAzureResourceGroup и выберите частную зону ${region_code}.privatelink.azure.clickhouse.cloud.
- Выберите + Record set.
- В поле Name введите
*.
- В поле IP Address введите IP-адрес, указанный для Private Endpoint.
- Выберите OK.
Вариант 2: с помощью Terraform
Используйте следующий шаблон Terraform, чтобы создать подстановочную DNS-запись:
Создайте связь с виртуальной сетью
Чтобы связать зону Private DNS с виртуальной сетью, необходимо создать связь с виртуальной сетью.
Вариант 1: Через Azure Portal
Следуйте этому руководству, чтобы связать виртуальную сеть с вашей зоной Private DNS.
Вариант 2: Через Terraform
DNS можно настроить разными способами. Настройте его в соответствии с вашим сценарием использования.
Нужно, чтобы «DNS name», полученное на шаге Получение псевдонима подключения Azure для Private Link, указывало на IP-адрес частной конечной точки. Это гарантирует, что сервисы/компоненты в вашей VPC/сети смогут корректно его разрешать.
Домен xxxxxxxxxx.westus3.privatelink.azure.clickhouse.cloud должен разрешаться в IP-адрес частной конечной точки (в этом примере — 10.0.0.4).
Добавьте Resource ID частной конечной точки в организацию ClickHouse Cloud
Вариант 1: консоль ClickHouse Cloud
Чтобы добавить конечную точку в организацию, перейдите к шагу Добавьте Resource ID частной конечной точки в список разрешённых сервисов. Если добавить Resource ID частной конечной точки в список разрешённых сервисов через консоль ClickHouse Cloud, он автоматически будет добавлен и в организацию.
Чтобы удалить конечную точку, откройте Сведения об организации -> Частные конечные точки и нажмите кнопку удаления.
Перед запуском любых команд задайте следующие переменные окружения:
Задайте переменную окружения ENDPOINT_ID, используя данные из шага Obtaining the Private Endpoint Resource ID.
Выполните следующую команду, чтобы добавить частную конечную точку:
Вы также можете выполнить следующую команду, чтобы удалить частную конечную точку:
После добавления или удаления частной конечной точки выполните следующую команду, чтобы применить изменения к вашей организации:
Добавьте Resource ID частной конечной точки в список разрешённых для ваших сервисов
По умолчанию сервис ClickHouse Cloud недоступен через Private Link, даже если подключение по Private Link одобрено и установлено. Вам нужно явно добавить Resource ID частной конечной точки для каждого сервиса, который должен быть доступен через Private Link.
Вариант 1: консоль ClickHouse Cloud
В консоли ClickHouse Cloud откройте сервис, к которому нужно подключиться через PrivateLink, затем перейдите в раздел Настройки. Введите Resource ID, полученный на предыдущем шаге.
Если вы хотите разрешить доступ через существующее подключение PrivateLink, выберите существующую конечную точку в раскрывающемся меню.
Перед выполнением команд задайте эти переменные окружения:
Выполните это для каждого сервиса, который должен быть доступен через Private Link.
Выполните следующую команду, чтобы добавить частную конечную точку в список разрешённых для сервиса:
Вы также можете выполнить следующую команду, чтобы удалить частную конечную точку из списка разрешённых для сервиса:
После добавления частной конечной точки в список разрешённых сервиса или её удаления из него выполните следующую команду, чтобы применить изменения к вашей организации:
Доступ к вашему сервису ClickHouse Cloud через Private Link
У каждого сервиса с включенным Private Link есть публичная и частная конечная точка. Чтобы подключиться через Private Link, нужно использовать частную конечную точку — privateDnsHostnameAPI или DNS nameconsole, указанные в разделе Получение псевдонима подключения Azure для Private Link.
Получение имени хоста Private DNS
Вариант 1: консоль ClickHouse Cloud
В консоли ClickHouse Cloud перейдите в раздел Настройки. Нажмите кнопку Set up private endpoint. В открывшейся выдвижной панели скопируйте DNS Name.
Задайте следующие переменные окружения перед запуском любых команд:
Выполните следующую команду:
Вы должны получить ответ примерно следующего вида:
В этом примере соединение с именем хоста xxxxxxx.region_code.privatelink.azure.clickhouse.cloud будет направляться через Private Link. В то же время xxxxxxx.region_code.azure.clickhouse.cloud будет направляться через интернет.
Используйте privateDnsHostname, чтобы подключаться к вашему сервису ClickHouse Cloud через Private Link.
Выполните следующую команду:
где “имя DNS” — это privateDnsHostnameAPI или DNS nameconsole из Получение псевдонима подключения Azure для Private Link
В ответ вы должны получить следующее:
Соединение сброшено удалённой стороной
Скорее всего, Resource ID частной конечной точки не был добавлен в список разрешённых для сервиса. Вернитесь к шагу Добавьте Resource ID частной конечной точки в список разрешённых для ваших сервисов.
Частная конечная точка находится в состоянии ожидания
Скорее всего, Resource ID частной конечной точки не был добавлен в список разрешённых для этого сервиса. Вернитесь к шагу Добавьте Resource ID частной конечной точки в список разрешённых для сервиса.
Если у вас возникают проблемы с подключением через Private Link, проверьте соединение с помощью openssl. Убедитесь, что статус конечной точки Private Link — Accepted.
OpenSSL должен успешно подключаться (в выводе должно отображаться CONNECTED). errno=104 — ожидаемое значение.
Проверка фильтров для частной конечной точки
Установите следующие переменные среды перед запуском любых команд:
Выполните следующую команду, чтобы проверить фильтры частной конечной точки:
Подробнее об Azure Private Link см. на azure.microsoft.com/en-us/products/private-link. Последнее изменение 12 июня 2026 г.