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, устраняя возможность утечки данных в общественный интернет.

Azure поддерживает межрегиональное соединение через Private Link. Это позволяет установить соединения между VNet, расположенными в разных регионах, где развернуты ваши услуги ClickHouse.
Могут применяться дополнительные сборы за межрегиональный трафик. Пожалуйста, проверьте последнюю документацию Azure.
Пожалуйста, выполните следующие шаги для активации Azure Private Link:
- Получите псевдоним подключения Azure для Private Link
- Создайте частную конечную точку в Azure
- Добавьте идентификатор ресурса частной конечной точки в вашу организацию ClickHouse Cloud
- Добавьте идентификатор ресурса частной конечной точки в белый список своих служб
- Получите доступ к вашей службе 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, вы можете часто пропустить большинство шагов благодаря этой группировке и перейти прямо к последнему шагу: Добавьте идентификатор ресурса частной конечной точки в белый список своей службы.
Найдите примеры Terraform в репозитории ClickHouse Terraform Provider.
Получите псевдоним подключения 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 откройте Центр Private Link → Частные Конечные Точки.

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

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

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

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

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

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

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

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

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

В разделе свойств найдите поле id
и скопируйте это значение:
Предпочтительный метод: Использование Resource ID

Устаревший метод: Использование resourceGUID
Вы все еще можете использовать resourceGUID для обратной совместимости. Найдите поле 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 с подстановочным знаком
Создайте запись с подстановочным знаком и направьте её на вашу частную конечную точку:
Вариант 1: Использование портала Azure
- Откройте группу ресурсов
MyAzureResourceGroup
и выберите частную зону${region_code}.privatelink.azure.clickhouse.cloud
. - Выберите + Набор записей.
- Для Имени введите
*
. - Для IP адреса введите IP адрес, который вы видите у Частной Конечной Точки.
- Выберите ОК.

Вариант 2: Использование Terraform
Используйте следующий шаблон Terraform для создания записи 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 в этом примере).
Добавление идентификатора ресурса частной конечной точки в вашу организацию ClickHouse Cloud
Вариант 1: Консоль ClickHouse Cloud
Чтобы добавить конечную точку в организацию, перейдите к шагу Добавить идентификатор ресурса частной конечной точки в белый список вашей службы. Добавление идентификатора ресурса частной конечной точки с помощью консоли ClickHouse Cloud в белый список служб автоматически добавляет его в организацию.
Чтобы удалить конечную точку, откройте Детали организации -> Частные Конечные Точки и нажмите кнопку удаления, чтобы удалить конечную точку.

Вариант 2: API
Установите следующие переменные среды перед выполнением любых команд:
Установите переменную среды ENDPOINT_ID
, используя данные из шага Получение идентификатора ресурса частной конечной точки.
Запустите следующую команду, чтобы добавить частную конечную точку:
Вы также можете запустить следующую команду, чтобы удалить частную конечную точку:
После добавления или удаления частной конечной точки выполните следующую команду, чтобы применить её к вашей организации:
Добавление идентификатора ресурса частной конечной точки в белый список ваших служб
По умолчанию служба ClickHouse Cloud недоступна через соединение Private Link, даже если соединение Private Link одобрено и установлено. Вам необходимо явно добавить идентификатор ресурса частной конечной точки для каждой службы, которая должна быть доступна с использованием Private Link.
Вариант 1: Консоль ClickHouse Cloud
В консоли ClickHouse Cloud откройте службу, к которой вы хотите подключиться через PrivateLink, затем перейдите в Настройки. Введите Resource ID
, полученный на предыдущем шаге.
Если вы хотите разрешить доступ из существующего соединения 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 name" является privateDnsHostname
API или DNS имя
консоль из Получите псевдоним подключения Azure для Private Link
Вы должны получить следующий ответ:
Сброс соединения на стороне пересылки
Скорее всего, идентификатор ресурса частной конечной точки не был добавлен в белый список служб. Вернитесь к шагу Добавить идентификатор ресурса частной конечной точки в белый список ваших служб.
Частная конечная точка находится в состоянии ожидания
Скорее всего, идентификатор ресурса частной конечной точки не был добавлен в белый список служб. Вернитесь к шагу Добавить идентификатор ресурса частной конечной точки в белый список ваших служб.
Проверка соединения
Если у вас проблемы с подключением с использованием Private Link, проверьте ваше соединение с помощью openssl
. Убедитесь, что статус конечной точки Private Link — Accepted
.
OpenSSL должен быть в состоянии подключиться (смотрите CONNECTED в выводе). errno=104
ожидаем.
Проверка фильтров частной конечной точки
Установите следующие переменные среды перед выполнением любых команд:
Запустите следующую команду, чтобы проверить фильтры частной конечной точки:
Дополнительная информация
Для получения дополнительной информации о Azure Private Link посетите azure.microsoft.com/en-us/products/private-link.