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) и 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
- Подсеть: Выберите подсеть, где будет создан частный конечный пункт
Дополнительно:
- Группа безопасности приложений: Вы можете прикрепить группу безопасности приложений к частному конечному пункту и использовать ее в группах безопасности сети для фильтрации сетевого трафика к/от частного конечного пункта.
Нажмите кнопку Далее: 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 зоны:
Создайте DNS запись wildcard
Создайте запись wildcard и укажите ее на ваш частный конечный пункт:
Вариант 1: Используя портал Azure
- Откройте группу ресурсов
MyAzureResourceGroup
и выберите частную зону${region_code}.privatelink.azure.clickhouse.cloud
. - Выберите + Запись набора.
- Для Имени введите
*
. - Для IP адреса введите IP адрес, который вы видите для частного конечного пункта.
- Выберите ОК.

Вариант 2: Используя Terraform
Используйте следующий шаблон Terraform для создания DNS записи wildcard:
Создайте ссылку на виртуальную сеть
Чтобы связать частную 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 конечного пункта
, полученный на предыдущем шаге.
Если вы хотите разрешить доступ из существующего соединения Private Link, используйте выпадающее меню существующих конечных пунктов.

Вариант 2: API
Установите следующие переменные окружения перед выполнением любых команд:
Выполните это для каждого сервиса, который должен быть доступен через Private Link.
Запустите следующую команду, чтобы добавить частный конечный пункт в белый список сервисов:
Вы также можете выполнить следующую команду, чтобы удалить частный конечный пункт из белого списка:
После добавления или удаления частного конечного пункта из белого списка выполните следующую команду, чтобы применить это к вашей организации:
Получите доступ к вашему сервису ClickHouse Cloud с помощью Private Link
Каждый сервис с включенным Private Link имеет публичный и частный конечный пункт. Чтобы подключиться с помощью Private Link, вам нужно использовать частный конечный пункт, который будет privateDnsHostname
API или DNS name
консоль, полученный на шаге Получите псевдоним подключения 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 name" это privateDnsHostname
API или DNS name
консоль из шага Получите псевдоним подключения 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.