Azure Private Link
Azure Private Link is available in the Scale and Enterprise plans. To upgrade, visit the Plans page in the cloud console.
Данный гид показывает, как использовать Azure Private Link для обеспечения частной связи через виртуальную сеть между Azure (включая услуги, принадлежащие клиенту, и услуги Microsoft Partner) и ClickHouse Cloud. Azure Private Link упрощает сетевую архитектуру и защищает соединение между конечными точками в Azure, устраняя влияние данных на общедоступный интернет.

В отличие от AWS и GCP, Azure поддерживает связь между регионами через Private Link. Это позволяет устанавливать соединения между VNets, расположенными в разных регионах, в которых развернуты ваши службы ClickHouse.
За межрегиональный трафик могут применяться дополнительные сборы. Пожалуйста, проверьте последнюю документацию Azure.
Пожалуйста, выполните следующие шаги для включения Azure Private Link:
- Получите псевдоним подключения Azure для Private Link
- Создайте частую конечную точку в Azure
- Добавьте GUID частной конечной точки в вашу организацию ClickHouse Cloud
- Добавьте GUID частной конечной точки в список разрешенных для вашего(их) сервиса(ов)
- Доступ к вашему сервису ClickHouse Cloud с использованием Private Link
Внимание
ClickHouse пытается сгруппировать ваши сервисы, чтобы повторно использовать один и тот же опубликованный сервис Private Link внутри региона Azure. Однако эта группировка не гарантирована, особенно если вы распространите ваши сервисы по нескольким организациям ClickHouse. Если у вас уже настроен Private Link для других сервисов в вашей организации ClickHouse, вы часто можете пропустить большинство шагов благодаря этой группировке и перейти непосредственно к последнему шагу: Добавьте GUID частной конечной точки в список разрешенных для вашего(их) сервиса(ов).
Примеры Terraform можно найти в репозитории Terraform Provider ClickHouse.
Получите псевдоним подключения Azure для Private Link
Вариант 1: Консоль ClickHouse Cloud
В консоли ClickHouse Cloud откройте сервис, который вы хотите подключить через PrivateLink, затем откройте меню Настройки. Нажмите на кнопку Настроить частную конечную точку. Запишите Название сервиса
и DNS имя
, которые будут использоваться для настройки Private Link.

Запишите Название сервиса
и DNS имя
, это будет необходимо на следующих этапах.
Вариант 2: API
Перед началом вам понадобится API ключ ClickHouse Cloud. Вы можете создать новый ключ или использовать существующий.
Как только у вас есть ваш API ключ, установите следующие переменные окружения перед выполнением любых команд:
Получите ваш ClickHouse INSTANCE_ID
, отфильтровав по региону, провайдеру и названию сервиса:
Получите свой псевдоним подключения Azure и частое DNS имя для Private Link:
Запишите endpointServiceId
. Вы будете использовать его на следующем этапе.
Создайте частную конечную точку в Azure
Этот раздел охватывает специфические детали ClickHouse для настройки ClickHouse через Azure Private Link. Конкретные шаги по Azure предоставлены в качестве справки, чтобы направить вас на то, где нужно искать, но они могут меняться со временем без предварительного уведомления от облачного провайдера Azure. Пожалуйста, учитывайте конфигурацию Azure в зависимости от вашей конкретной ситуации.
Пожалуйста, обратите внимание, что ClickHouse не несет ответственности за настройку необходимых частных конечных точек Azure, DNS записей.
Для любых проблем, связанных с задачами конфигурации Azure, свяжитесь напрямую с поддержкой Azure.
В этом разделе мы создадим частную конечную точку в Azure. Вы можете использовать либо портал Azure, либо Terraform.
Вариант 1: Используя портал Azure для создания частной конечной точки в Azure
В портале Azure откройте Центр частных ссылок → Частные конечные точки.

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

На следующем экране укажите следующие параметры:
- Подписка / Группа ресурсов: Пожалуйста, выберите подписку Azure и группу ресурсов для частной конечной точки.
- Имя: Установите имя для Частной конечной точки.
- Регион: Выберите регион, где расположена развернутая VNet, которая будет подключена к ClickHouse Cloud через Private Link.
После завершения вышеуказанных шагов нажмите кнопку Далее: Ресурс.

Выберите опцию Подключиться к ресурсу Azure по ID ресурса или псевдониму.
Для ID ресурса или псевдонима используйте endpointServiceId
, который вы получили на этапе Получите псевдоним подключения Azure для Private Link.
Нажмите кнопку Далее: Виртуальная сеть.

- Виртуальная сеть: Выберите VNet, к которому вы хотите подключить ClickHouse Cloud с помощью Private Link.
- Подсеть: Выберите подсеть, в которой будет создана частная конечная точка.
Дополнительно:
- Группа безопасности приложений: Вы можете прикрепить ASG к частной конечной точке и использовать ее в группах сетевой безопасности для фильтрации сетевого трафика к/из частной конечной точки.
Нажмите кнопку Далее: DNS.

Нажмите кнопку Далее: Теги.

При желании вы можете прикрепить теги к вашей частной конечной точке.
Нажмите кнопку Далее: Обзор + создание.

Наконец, нажмите кнопку Создать.

Статус подключения созданной частной конечной точки будет в состоянии Ожидание. Он изменится на состояние Одобрено, как только вы добавите эту частную конечную точку в список разрешенных сервисов.
Откройте сетевой интерфейс, связанный с частной конечной точкой, и скопируйте Частный IPv4 адрес (10.0.0.4 в этом примере), эта информация понадобится вам на следующих этапах.

Вариант 2: Используя Terraform для создания частной конечной точки в Azure
Используйте приведенный ниже шаблон для создания частной конечной точки с помощью Terraform:
Получение resourceGuid
частной конечной точки
Для использования Private Link необходимо добавить GUID подключения частной конечной точки в список разрешенных для вашего сервиса.
GUID ресурса частной конечной точки доступен только в портале Azure. Откройте частную конечную точку, созданную на предыдущем шаге, и нажмите Просмотр JSON:

В разделе свойств найдите поле resourceGuid
и скопируйте это значение:

Настройка DNS для Private Link
Вам необходимо создать частную DNS зону (${location_code}.privatelink.azure.clickhouse.cloud
) и прикрепить ее к вашей VNet для доступа к ресурсам через Private Link.
Создание частной DNS зоны
Вариант 1: Используя портал Azure
Пожалуйста, следуйте следующему руководству, чтобы создать частную DNS зону Azure с использованием портала Azure.
Вариант 2: Используя Terraform
Используйте следующий шаблон Terraform для создания частной DNS зоны:
Создайте wildcard DNS запись
Создайте wildcard запись и укажите ее на вашу частную конечную точку:
Вариант 1: Используя портал Azure
- Откройте группу ресурсов
MyAzureResourceGroup
и выберите частную зону${region_code}.privatelink.azure.clickhouse.cloud
. - Выберите + Набор записей.
- Для имени введите
*
. - Для IP адреса введите IP адрес, который вы видите для частной конечной точки.
- Выберите ОК.

Вариант 2: Используя Terraform
Используйте следующий шаблон Terraform для создания wildcard DNS записи:
Создание связи виртуальной сети
Чтобы связать частную DNS зону с виртуальной сетью, вам нужно создать связь виртуальной сети.
Вариант 1: Используя портал Azure
Пожалуйста, следуйте следующему руководству, чтобы связать виртуальную сеть с вашей частной DNS зоной.
Вариант 2: Используя Terraform
Существует множество способов настройки DNS. Пожалуйста, настройте DNS в соответствии с вашей конкретной ситуацией.
Вам нужно направить "DNS имя", полученное на этапе Получите псевдоним подключения Azure для Private Link, на IP адрес частной конечной точки. Это обеспечит правильное разрешение для сервисов/компонентов в вашей VPC/Сети.
Проверка настройки DNS
Домен xxxxxxxxxx.westus3.privatelink.azure.clickhouse.cloud
должен быть направлен на IP адрес Частной конечной точки. (10.0.0.4 в этом примере).
Добавьте GUID частной конечной точки в вашу организацию ClickHouse Cloud
Вариант 1: Консоль ClickHouse Cloud
Чтобы добавить конечную точку в организацию, перейдите к шагу Добавьте GUID частной конечной точки в список разрешенных для вашего(их) сервиса(ов). Добавление GUID частной конечной точки
с использованием консоли ClickHouse Cloud в список разрешенных сервисов автоматически добавляет его в организацию.
Чтобы удалить конечную точку, откройте Детали организации -> Частные конечные точки и нажмите кнопку удаления, чтобы удалить конечную точку.

Вариант 2: API
Установите следующие переменные окружения перед выполнением любых команд:
Установите переменную окружения ENDPOINT_ID
, используя данные из этапа Получение resourceGuid
частной конечной точки.
Запустите следующую команду, чтобы добавить частную конечную точку:
Вы также можете запустить следующую команду, чтобы удалить частную конечную точку:
После добавления или удаления частной конечной точки выполните следующую команду, чтобы применить это к вашей организации:
Добавьте GUID частной конечной точки в список разрешенных для вашего(их) сервиса(ов)
По умолчанию, сервис ClickHouse Cloud недоступен через соединение Private Link, даже если соединение Private Link одобрено и установлено. Вам нужно явно добавить GUID частной конечной точки для каждого сервиса, который должен быть доступен с помощью Private Link.
Вариант 1: Консоль ClickHouse Cloud
В консоли ClickHouse Cloud откройте сервис, который вы хотите подключить через PrivateLink, затем перейдите в Настройки. Введите ID конечной точки
, полученный на предыдущем шаге Получение resourceGuid
частной конечной точки.
Если вы хотите разрешить доступ с существующего соединения PrivateLink, используйте выпадающее меню существующих конечных точек.

Вариант 2: API
Установите эти переменные окружения перед выполнением любых команд:
Выполните это для каждого сервиса, который должен быть доступен с помощью Private Link.
Запустите следующую команду, чтобы добавить частную конечную точку в список разрешенных сервисов:
Вы также можете запустить следующую команду, чтобы удалить частную конечную точку из списка разрешенных сервисов:
После добавления или удаления частной конечной точки из списка разрешенных сервисов выполните следующую команду, чтобы применить это к вашей организации:
Доступ к вашему сервису ClickHouse Cloud с использованием Private Link
Каждый сервис с включенным Private Link имеет публичную и частную конечные точки. Чтобы подключиться с помощью Private Link, вам нужно использовать частную конечную точку, которая будет privateDnsHostname
API или DNS имя
консоль, полученные на этапе Получите псевдоним подключения Azure для Private Link.
Получение Частного DNS Хостнейма
Вариант 1: Консоль ClickHouse Cloud
В консоли ClickHouse Cloud перейдите в Настройки. Нажмите на кнопку Настроить частную конечную точку. В открывшемся окне скопируйте DNS имя.

Вариант 2: API
Установите следующие переменные окружения перед выполнением любых команд:
Выполните следующую команду:
Вы должны получить ответ, похожий на следующий:
В этом примере соединение с хостнеймом xxxxxxx.region_code.privatelink.azure.clickhouse.cloud
будет направлено на Private Link. Между тем, xxxxxxx.region_code.azure.clickhouse.cloud
будет направлено через интернет.
Используйте privateDnsHostname
, чтобы подключиться к вашему сервису ClickHouse Cloud через Private Link.
Устранение неполадок
Тестирование настройки DNS
Выполните следующую команду:
где "dns имя" это privateDnsHostname
API или DNS имя
консоль из Получите псевдоним подключения Azure для Private Link
Вы должны получить следующий ответ:
Обнуление соединения по приглашению
Скорее всего, GUID частной конечной точки не был добавлен в список разрешенных сервисов. Вернитесь к шагу Добавьте GUID частной конечной точки в список разрешенных для вашего(их) сервиса(ов).
Частная конечная точка в состоянии Ожидание
Скорее всего, GUID частной конечной точки не был добавлен в список разрешенных сервисов. Вернитесь к шагу Добавьте GUID частной конечной точки в список разрешенных для вашего(их) сервиса(ов).
Тестирование подключения
Если у вас возникли проблемы с подключением с использованием Private Link, проверьте ваше подключение с помощью openssl
. Убедитесь, что статус конечной точки Private Link Accepted
.
OpenSSL должен уметь подключаться (см. CONNECTED в выводе). errno=104
ожидаем.
Проверка фильтров частной конечной точки
Установите следующие переменные окружения перед выполнением любых команд:
Запустите следующую команду, чтобы проверить фильтры частной конечной точки:
Дополнительная информация
Для получения дополнительной информации о Azure Private Link, пожалуйста, посетите azure.microsoft.com/en-us/products/private-link.