Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье приведены инструкции по защите исходящего трафика из кластера HDInsight с помощью Брандмауэра Azure. В описанных ниже действиях предполагается, что вы настраиваете Брандмауэр Azure для существующего кластера. При развертывании нового кластера за брандмауэром сначала создайте кластер HDInsight и подсеть. Затем выполните шаги, приведенные в этом руководстве.
Общие сведения
Кластеры HDInsight обычно развертываются в виртуальной сети. Кластер имеет зависимости от служб, находящихся за пределами этой виртуальной сети.
Входящий трафик управления невозможно отправлять через брандмауэр. Вы можете использовать теги службы NSG для входящего трафика, как описано здесь.
Зависимости исходящего трафика HDInsight практически полностью определяются с помощью полных доменных имен (FQDN). Которые не имеют статических IP-адресов. Отсутствие статических адресов означает, что группы безопасности сети (NSG) не могут ограничивать исходящий трафик из кластера. IP-адреса часто меняются, поэтому создать правила, основанные на текущем разрешении имен, и использовать их нельзя.
Обеспечьте безопасность исходящих адресов с помощью брандмауэра, который может управлять исходящим трафиком на основе полных доменных имен (FQDN). Брандмауэр Azure может ограничить исходящий трафик на основе полного доменного имени назначения или тегов FQDN.
Настройка Брандмауэра Azure с помощью HDInsight
Шаги по блокировке исходящего трафика для вашего существующего HDInsight с помощью фаервола Azure:
- Создайте подсеть.
- Создайте брандмауэр.
-
Add application
правила для брандмауэра. - Добавьте правила сети в брандмауэр.
- Создайте таблицу маршрутизации.
Создать новую подсеть
Создайте подсеть с именем AzureFirewallSubnet в виртуальной сети, в которой находится кластер.
Создание нового брандмауэра для кластера
Создайте брандмауэр с именем Test-FW01, следуя шагам, указанным в разделе «Развертывание и настройка брандмауэра Azure с помощью портала Azure» из учебного пособия: развертывание и настройка брандмауэра Azure с использованием портала Azure.
Настройка брандмауэра с помощью правил приложения
Создайте коллекцию правил приложений, которые позволяют кластеру отправлять и получать важные данные.
Выберите новый брандмауэр Test-FW01 на портале Azure.
Перейдите к Параметры>Правила>Коллекция правил приложений>+
Add application rule collection
.Add application rule collection
На экране укажите следующие сведения:Верхний раздел
Свойство Значение Имя. FwAppRule Приоритет 200 Действие Разрешить Раздел тегов FQDN
Имя. Исходные адреса Тег FQDN Примечания. Rule_1 * WindowsUpdate и HDInsight Требуется для услуг HDI Раздел целевых полных доменных имен (FQDN)
Имя. Исходные адреса Протокол: порт Целевые FQDN Примечания. Rule_2 * https:443 login.windows.net Разрешает вход в систему Windows Rule_3 * https:443 login.microsoftonline.com Разрешает активность входа в Windows Rule_4 * https:443 storage_account_name.blob.core.windows.net Замените storage_account_name
на имя вашей учетной записи хранения. Убедитесь, что в учетной записи хранения включен параметр "требуется безопасная передача". Если вы используете частную конечную точку для доступа к учетным записям хранения, этот шаг не нужен, а трафик хранилища не перенаправлен в брандмауэр.Rule_5 * HTTP 80 azure.archive.ubuntu.com Разрешает установку обновлений безопасности Ubuntu в кластере Rule_6 * https:443 pypi.org, pypi.python.org, files.pythonhosted.org Разрешает установку пакетов Python для мониторинга Azure Выберите Добавить.
Настройка брандмауэра с помощью правил сети
Создайте правила сети для правильной настройки кластера HDInsight.
Продолжая предыдущий шаг, перейдите к коллекции>
+ Add network rule collection
правил сети.Add network rule collection
На экране укажите следующие сведения:Верхний раздел
Свойство Значение Имя. FwNetRule Приоритет 200 Действие Разрешить Раздел тегов служб
Имя. Протокол Исходные адреса Теги служб Порты назначения Примечания. Rule_6 TCP * SQL 1433, 11000–11999 Если вы используете серверы SQL по умолчанию, предоставляемые HDInsight, настройте сетевое правило в разделе "Теги служб" для SQL, которое позволит записывать и проверять трафик SQL. если вы не настроили конечные точки службы для SQL Server в подсети HDInsight, что приведет к обходу брандмауэра. Если вы используете пользовательский сервер SQL для Ambari, Oozie, Ranger и хранилища метаданных Hive, необходимо разрешить трафик только к собственным пользовательским серверам SQL. Дополнительные сведения о том, почему в дополнение к 1433 также требуется диапазон портов 11000-11999, см. в статье Архитектура подключения к Базе данных SQL Azure и Azure Synapse Analytics. Rule_7 TCP * Azure Monitor * (Необязательно.) Пользователи, которые планируют использовать функцию автоматического масштабирования, должны добавить это правило. Выберите Добавить.
Создание и настройка таблицы маршрутизации
Создайте таблицу маршрутизации со следующими записями:
Все IP-адреса и теги служб из служб работоспособности и управления с типом следующего прыжка к Интернету. Он должен содержать 4 IP-адреса универсальных регионов, а также теги служб для конкретного региона. Это правило необходимо только в том случае, если для ResourceProviderConnection установлено значение Inbound. Если для resourceProviderConnection задано значение Outbound , эти IP-адреса не нужны в UDR.
Один маршрут виртуального модуля для IP-адреса 0.0.0.0/0, при этом следующий прыжок должен представлять частный IP-адрес вашего Брандмауэра Azure.
Например, чтобы настроить таблицу маршрутизации для кластера, созданного в регионе США "Восточная часть США", выполните следующие действия.
Выберите брандмауэр Azure Test-FW01. Скопируйте Частный IP-адрес на странице Обзор. В этом примере мы используем пример адреса 10.0.2.4.
Затем перейдите в раздел Все службы>Сеть>Таблицы маршрутизации и Создать таблицу маршрутизации.
В новом маршруте выберите Параметры>Маршруты>+ Добавить. Добавьте следующие маршруты:
Имя маршрута | Префикс адреса | Тип следующего прыжка | Адрес следующего прыжка |
---|---|---|---|
168.61.49.99 | 168.61.49.99/32 | Интернет | Не применимо |
23.99.5.239 | 23.99.5.239/32 | Интернет | Не применимо |
168.61.48.131 | 168.61.48.131/32 | Интернет | Не применимо |
138.91.141.162 | 138.91.141.162/32 | Интернет | Не применимо |
52.164.210.96 | 52.164.210.96/32 | Интернет | Не применимо |
13.74.153.132 | 3.74.153.132/32 | Интернет | Не применимо |
HDInsight.EastUS | HDInsight.EastUS | Интернет | Не применимо |
HDInsight.WestUS | HDInsight.WestUS | Интернет | Не применимо |
0.0.0.0 | 0.0.0.0/0 | Виртуальный модуль | 10.0.2.4 |
Завершите настройку таблицы маршрутизации:
Назначьте таблицу маршрутизации, созданную в подсети HDInsight, выбрав Подсети в разделе Параметры.
Нажмите + Связать.
На экране Связать подсеть выберите виртуальную сеть, в которой был создан кластер. И подсеть, которую вы использовали для кластера HDInsight.
Нажмите ОК.
Трафик пограничного узла или кастомного приложения
Вышеупомянутые шаги позволят кластеру работать без проблем. Вам по-прежнему необходимо настроить зависимости для поддержки ваших пользовательских приложений, работающих на пограничных узлах, если применимо.
Зависимости приложения необходимо определить и добавить в Брандмауэр Azure или таблицу маршрутизации.
Маршруты должны создаваться для трафика приложения, чтобы избежать проблемы с асимметричной маршрутизацией.
Если ваше приложение имеет другие зависимости, то их необходимо добавить в брандмауэр Azure. Создайте правила приложения, чтобы разрешать трафик протокола HTTP/HTTPS, и правила сети для всего остального.
Ведение журнала и масштабирование
Брандмауэр Azure может отправлять журналы в несколько различных систем хранения. Инструкции по настройке ведения журнала для брандмауэра см. в руководстве по мониторингу журналов и метрик Брандмауэр Azure.
Если вы используете Log Analytics, после настройки ведения журнала можно просмотреть заблокированный трафик с помощью запроса, например:
AzureDiagnostics | where msg_s contains "Deny" | where TimeGenerated >= ago(1h)
Интеграция Брандмауэра Azure с журналами Azure Monitor полезна при первом запуске приложения. Особенно если вы не знаете обо всех зависимостях приложения. См. дополнительные сведения о журналах Azure Monitor в статье Анализ данных журнала в Azure Monitor
Дополнительные сведения об ограничениях масштабирования Брандмауэра Azure и увеличении запросов см. в этом документе или на странице Вопросы и ответы.
Доступ к кластеру
После успешной настройки брандмауэра можно использовать внутреннюю конечную точку (https://CLUSTERNAME-int.azurehdinsight.net
) для доступа к Ambari из виртуальной сети.
Чтобы использовать общедоступную конечную точку (https://CLUSTERNAME.azurehdinsight.net
) или конечную точку SSH (CLUSTERNAME-ssh.azurehdinsight.net
), убедитесь, что у вас указаны правильные маршруты в таблице маршрутизации и правила NSG. Это позволит избежать проблем с асимметричной маршрутизацией, описанных здесь. В частности, в этом случае необходимо разрешить IP-адрес клиента в правилах входящего трафика NSG, а также добавить его в определяемую пользователем таблицу маршрутизации со следующим прыжком internet
. Если маршрутизация настроена неправильно, возникнет ошибка времени ожидания.