Подключение ClickHouse Cloud к Azure Blob Storage
Это руководство описывает, как безопасно подключить ClickHouse Cloud к Azure Blob Storage для выполнения ингестии данных, использования внешних таблиц и других сценариев интеграции.
Обзор
ClickHouse Cloud может подключаться к Azure Blob Storage с использованием нескольких методов аутентификации. Это руководство поможет вам выбрать подходящий способ и безопасно настроить подключение.
Поддерживаемые сценарии:
- Чтение данных из Azure Blob Storage с помощью функции таблицы azureBlobStorage
- Создание внешних таблиц с движком таблиц AzureBlobStorage
- Приём данных через ClickPipes
- Хранение резервных копий в Azure Blob Storage
Когда ваш сервис ClickHouse Cloud и контейнер Azure Blob Storage развернуты в одном и том же регионе Azure, белые списки IP-адресов не работают.
Это происходит потому, что Azure маршрутизирует трафик внутри одного региона через свою внутреннюю сеть (VNet + Service Endpoints), минуя публичный интернет и NAT-шлюзы. В результате правила брандмауэра учётной записи хранилища Azure, основанные на публичных IP-адресах, не применяются.
Белые списки IP-адресов работают, когда:
- Ваш сервис ClickHouse Cloud находится в другом регионе Azure, чем учётная запись хранилища
- Ваш сервис ClickHouse Cloud запущен в AWS/GCP и подключается к хранилищу Azure
Белые списки IP-адресов не работают, когда:
- Ваш сервис ClickHouse Cloud и хранилище находятся в одном и том же регионе Azure. Используйте Shared Access Signatures (SAS) в строке подключения вместо белых списков IP-адресов или разверните ABS и ClickHouse в разных регионах.
Настройка сети (только для разных регионов)
Этот раздел применим только в том случае, если ваш сервис ClickHouse Cloud и контейнер Azure Blob Storage находятся в разных регионах Azure или когда ClickHouse Cloud работает в AWS/GCP. Для развертываний в одном регионе вместо этого используйте SAS-токены.
Найдите исходящие IP-адреса ClickHouse Cloud
Чтобы настроить правила брандмауэра на основе IP-адресов, необходимо добавить исходящие IP-адреса для вашего региона ClickHouse Cloud в список разрешенных.
Выполните следующую команду, чтобы получить список исходящих и входящих IP-адресов по регионам.
Замените eastus ниже на ваш регион, чтобы отфильтровать другие регионы:
Вы увидите что-то подобное:
См. регионы Azure для списка поддерживаемых регионов Cloud и столбец "Programmatic name" в списке регионов Azure, чтобы узнать, какое имя использовать.
Подробнее см. "Cloud IP addresses".
Настройка брандмауэра Azure Storage
Перейдите к своей учетной записи Storage (Storage Account) в Azure Portal.
- Перейдите в Networking → Firewalls and virtual networks
- Выберите Enabled from selected virtual networks and IP addresses
- Добавьте каждый исходящий IP-адрес ClickHouse Cloud, полученный на предыдущем шаге, в поле Address range
Не добавляйте приватные IP-адреса ClickHouse Cloud (адреса вида 10.x.x.x)
- Нажмите Save
Дополнительные сведения см. в документации Configure Azure Storage firewalls.
Конфигурация ClickPipes
При использовании ClickPipes с Azure Blob Storage необходимо настроить аутентификацию через интерфейс ClickPipes. См. раздел "Создание вашего первого Azure ClickPipe" для получения дополнительной информации.
ClickPipes использует отдельные статические IP-адреса для исходящих подключений. Эти IP-адреса должны быть внесены в белый список, если вы используете правила брандмауэра, основанные на IP-адресах.
См. раздел "Список статических IP-адресов"
Ограничение, связанное с добавлением в белый список IP-адресов только в пределах того же региона, упомянутое в начале этого документа, также относится к ClickPipes. Если ваш сервис ClickPipes и Azure Blob Storage находятся в одном регионе, используйте аутентификацию с помощью SAS-токена вместо создания белого списка IP-адресов.