Поделиться через


Управление сетевым трафиком из HDInsight в пулах и кластерах кластера AKS

Внимание

Эта функция в настоящее время доступна для предварительного ознакомления. Дополнительные условия использования для предварительных версий Microsoft Azure включают более юридические термины, применимые к функциям Azure, которые находятся в бета-версии, в предварительной версии или в противном случае еще не выпущены в общую доступность. Сведения об этой конкретной предварительной версии см. в статье Azure HDInsight в предварительной версии AKS. Для вопросов или предложений функций отправьте запрос на AskHDInsight с подробными сведениями и следуйте за нами для получения дополнительных обновлений в сообществе Azure HDInsight.

HDInsight в AKS — это управляемая платформа как услуга (PaaS), которая работает на Служба Azure Kubernetes (AKS). HDInsight в AKS позволяет развертывать популярные рабочие нагрузки Open-Source Analytics, такие как Apache Spark™, Apache Flink®️ и Trino без затрат на управление контейнерами и мониторинг.

По умолчанию HDInsight в кластерах AKS разрешают исходящие сетевые подключения из кластеров к любому месту назначения, если назначение доступно из сетевого интерфейса узла. Это означает, что ресурсы кластера могут получить доступ к любому общедоступному или частному IP-адресу, доменному имени или URL-адресу в Интернете или виртуальной сети.

Однако в некоторых сценариях может потребоваться контролировать или ограничивать исходящий трафик из кластера по соображениям безопасности.

Например, может потребоваться следующее:

  • Запретить кластерам получать доступ к вредоносным или нежелательным службам.

  • Применение политик сети или правил брандмауэра для исходящего трафика.

  • Мониторинг или аудит исходящего трафика из кластера для устранения неполадок или соответствия требованиям.

Методы и средства для управления исходящим трафиком

У вас есть различные параметры и средства для управления потоком исходящего трафика из HDInsight в кластерах AKS. Некоторые из них можно настроить на уровне пула кластера и других на уровне кластера.

  • Исходящий трафик с подсистемой балансировки нагрузки. При развертывании пула кластеров с этим путем исходящего трафика общедоступный IP-адрес подготавливается и назначается ресурсу подсистемы балансировки нагрузки. Пользовательская виртуальная сеть (виртуальная сеть) не требуется; однако настоятельно рекомендуется. Вы можете использовать Брандмауэр Azure или группы безопасности сети (NSG) в пользовательской виртуальной сети для управления трафиком, покидающим сеть.

  • Исходящий трафик с определяемой пользователем маршрутизацией. При развертывании пула кластеров с этим путем исходящего трафика пользователь может управлять исходящим трафиком на уровне подсети с помощью шлюза Брандмауэр Azure / шлюза NAT и пользовательских таблиц маршрутов. Этот параметр доступен только при использовании пользовательской виртуальной сети.

  • Включите частные AKS. Если вы включите частные AKS в пуле кластеров, сервер API AKS будет назначен внутренним IP-адресом и не будет доступен общедоступным. Сетевой трафик между сервером API AKS и HDInsight в пулах узлов AKS (кластерах) останется в частной сети.

  • Частный кластер входящего трафика. При развертывании кластера с включенным параметром частного входящего трафика не будет создан общедоступный IP-адрес, а кластер будет доступен только от клиентов в одной виртуальной сети. Необходимо предоставить собственное решение NAT, например шлюз NAT или NAT, предоставляемое брандмауэром, для подключения к исходящим, общедоступным HDInsight в зависимости AKS.

В следующих разделах подробно описан каждый метод.

Исходящий трафик с подсистемой балансировки нагрузки

Подсистема балансировки нагрузки используется для исходящего трафика через HDInsight на назначенном общедоступном IP-адресе AKS. При настройке исходящего типа подсистемы балансировки нагрузки в пуле кластеров можно ожидать исходящего трафика из подсистемы балансировки нагрузки, созданной HDInsight в AKS.

Вы можете настроить исходящий трафик с конфигурацией подсистемы балансировки нагрузки с помощью портал Azure.

Снимок экрана: параметр сети пула кластеров.

Выбрав эту конфигурацию, HDInsight в AKS автоматически завершает создание общедоступного IP-адреса, подготовленного для исходящего трафика кластера и назначает ресурсу подсистемы балансировки нагрузки.

Общедоступный IP-адрес, созданный HDInsight в AKS, и это управляемый AKS ресурс, который означает, что AKS управляет жизненным циклом этого общедоступного IP-адреса и не требует действия пользователя непосредственно в ресурсе общедоступного IP-адреса.

При создании кластеров некоторые общедоступные IP-адреса входящего трафика также создаются.

Чтобы разрешить отправку запросов в кластер, необходимо разрешить список трафика. Вы также можете настроить определенные правила в NSG для выполнения грубого элемента управления.

Исходящий трафик с определяемой пользователем маршрутизацией

Примечание.

userDefinedRouting Исходящий тип — это расширенный сетевой сценарий и требует надлежащей конфигурации сети перед началом работы.
Изменение исходящего типа после создания пула кластера не поддерживается.

Если задан параметр userDefinedRouting, HDInsight в AKS не будет автоматически настраивать пути исходящего трафика. Настройка исходящего трафика должна выполняться пользователем.

Снимок экрана: определяемая пользователем маршрутизация.

Необходимо развернуть HDInsight в кластере AKS в существующей виртуальной сети с подсетью, настроенной ранее, и необходимо установить явные исходящие данные.

Эта архитектура требует явной отправки исходящего трафика в (модуль), например брандмауэр, шлюз или прокси- сервер, поэтому общедоступный IP-адрес, назначенный стандартной подсистеме балансировки нагрузки или (модуль) может обрабатывать преобразование сетевых адресов (NAT).

HDInsight в AKS не настраивает исходящий общедоступный IP-адрес или правила исходящего трафика, в отличие от кластеров типов подсистемы балансировки нагрузки, как описано в приведенном выше разделе. UDR — единственный источник для исходящего трафика.

Для входящего трафика необходимо выбрать в зависимости от требований к выбору частного кластера (для защиты трафика на уровне управления AKS или сервере API) и выбрать параметр частного входящего трафика, доступный для каждой фигуры кластера для использования общедоступного или внутреннего трафика подсистемы балансировки нагрузки.

Создание пула кластеров для исходящего трафика с помощью userDefinedRouting

При использовании HDInsight в пулах кластеров AKS и выборе пользователяDefinedRouting (UDR) в качестве пути исходящего трафика нет стандартной подсистемы балансировки нагрузки. Прежде чем userDefinedRouting выполнять функцию, необходимо настроить правила брандмауэра для исходящих ресурсов.

Внимание

Для пути исходящего трафика UDR требуется маршрут для 0.0.0.0/0/0 и назначения следующего прыжка брандмауэра или NVA в таблице маршрутов. Таблица маршрутов уже имеет значение по умолчанию 0.0.0.0/0 в Интернете. Вы не можете получить исходящее подключение к Интернету, просто добавив этот маршрут, так как Azure нуждается в общедоступном IP-адресе для SNAT. AKS проверка, которые вы не создаете маршрут 0.0.0.0/0, указывающий на Интернет, но на шлюз, NVA и т. д. При использовании UDR общедоступный IP-адрес подсистемы балансировки нагрузки для входящих запросов создается только при настройке службы loadbalancer типа. HDInsight в AKS никогда не создает общедоступный IP-адрес для исходящих запросов при использовании пути исходящего трафика UDR.

Снимок экрана: включенный частный AKS.

На следующих шагах вы узнаете, как заблокировать исходящий трафик из службы HDInsight в СЛУЖБЕ AKS на внутренние ресурсы Azure или другие сетевые ресурсы с помощью Брандмауэр Azure. Эта конфигурация позволяет предотвратить утечку данных или риск возникновения вредоносных программ.

Брандмауэр Azure обеспечивает более детализированное управление исходящим трафиком и позволяет фильтровать трафик на основе данных анализа угроз в реальном времени от Microsoft Cyber Security. Вы можете централизованно создавать, применять и регистрировать политики приложений и сетевых подключений в подписках и виртуальных сетях.

Ниже приведен пример настройки правил брандмауэра и тестирования исходящих подключений

Ниже приведен пример настройки правил брандмауэра и проверка исходящих подключений.

  1. Создание обязательной подсети брандмауэра

    Чтобы развернуть брандмауэр в интегрированной виртуальной сети, вам потребуется подсеть с именем AzureFirewallSubnet или Name вашего выбора.

    1. В портал Azure перейдите к виртуальной сети, интегрированной с приложением.

    2. В области навигации слева выберите подсети > + подсеть.

    3. В разделе Имя введите AzureFirewallSubnet.

    4. Диапазон адресов подсети, примите значение по умолчанию или укажите диапазон размером не менее /26.

    5. Выберите Сохранить.

  2. Развертывание брандмауэра и получение IP-адреса

    1. В меню портала Azure или на странице Домашняя выберите Создать ресурс.

    2. Введите брандмауэр в поле поиска и нажмите клавишу ВВОД.

    3. Выберите Брандмауэр, а затем щелкните Создать.

    4. Настройте брандмауэр на странице Создание брандмауэра, как показано в следующей таблице.

      Параметр Значение
      Группа ресурсов Та же группа ресурсов, что и интегрированная виртуальная сеть.
      Имя. Имя (на ваш выбор)
      Область/регион Тот же регион, что и для интегрированной виртуальной сети.
      Политика брандмауэра Создайте ее, выбрав Добавить новый.
      Виртуальная сеть Выберите интегрированную виртуальную сеть.
      Общедоступный IP-адрес Выберите существующий адрес или создайте его, выбрав Добавить новый.

      Снимок экрана: создание базовой вкладки брандмауэра.

    5. Щелкните Просмотреть и создать.

    6. Выберите Создать еще раз. Для развертывания этого процесса потребуется несколько минут.

    7. По завершении развертывания перейдите в группу ресурсов и выберите брандмауэр.

    8. На странице Обзор брандмауэра скопируйте частный IP-адрес. Частный IP-адрес будет использоваться в качестве адреса следующего прыжка в правиле маршрутизации для виртуальной сети.

      Снимок экрана: настройка брандмауэра.

  3. Маршрутизация всего трафика в брандмауэр

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

    1. В меню портала Azure выберите Все службы или выполните поиск и выберите Все службы на любой странице.

    2. В разделе Сети выберите Таблицы маршрутов.

    3. Выберите Добавить.

    4. Настройте таблицу маршрутов, как показано в следующем примере.

      Снимок экрана: создание таблицы маршрутов.

      Убедитесь, что выбран тот же регион, что и для созданного брандмауэра.

    5. Выберите Review + create (Просмотреть и создать).

    6. Нажмите кнопку создания.

    7. После завершения развертывания выберите Перейти к ресурсу.

    8. В области навигации слева выберите "Маршруты>".

    9. Настройте новый маршрут, как показано в следующей таблице.

      Параметр Значение
      Тип назначения IP-адреса
      Диапазоны IP-адресов назначения или CIDR 0.0.0.0/0
      Тип следующего прыжка Виртуальный модуль
      Адрес следующего прыжка Частный IP-адрес для скопированного брандмауэра
    10. В области навигации слева выберите "Связать подсети>".

    11. В окне Виртуальная сеть выберите интегрированную виртуальную сеть.

    12. В подсети выберите HDInsight в подсети AKS, которую вы хотите использовать.

      Снимок экрана: связывание подсети.

    13. Нажмите ОК.

  4. Настройка политик брандмауэра

    Исходящий трафик из подсети HDInsight в подсети AKS теперь направляется через интегрированную виртуальную сеть в брандмауэр. Чтобы контролировать исходящий трафик, добавьте правило приложения в политику брандмауэра.

    1. Переход на страницу «Обзор» брандмауэра и выберите политику брандмауэра.

    2. На странице политики брандмауэра в левой области навигации добавьте правила сети и приложения. Например, выберите "Добавить коллекцию правил > сети".

    3. В правилах добавьте сетевое правило с подсетью в качестве исходного адреса и укажите полное доменное имя. Аналогичным образом добавьте правила приложения.

      1. Здесь необходимо добавить правила исходящего трафика. Ознакомьтесь с этим документом, чтобы добавить правила приложения и сети, чтобы разрешить работу кластера трафику. (AKS ApiServer необходимо добавить после создания clusterPool, так как после создания кластера можно получить только AKS ApiServer после создания кластера).
      2. Вы также можете добавить частные конечные точки для всех зависимых ресурсов в одной подсети для доступа к ним (например, хранилища).
    4. Выберите Добавить.

  5. Проверка создания общедоступного IP-адреса

С помощью набора правил брандмауэра можно выбрать подсеть во время создания пула кластера.

Снимок экрана: проверка IP-адреса.

После создания пула кластеров можно наблюдать в группе MC, что не создан общедоступный IP-адрес.

Снимок экрана: список сети.

Внимание

Перед созданием кластера в настройке пула кластеров с Outbound with userDefinedRouting путем исходящего трафика необходимо предоставить кластер AKS, соответствующий пулу кластеров, Network Contributor роль в сетевых ресурсах, используемых для определения маршрутизации, таких как виртуальная сеть, таблица маршрутизации и группа безопасности сети (при использовании). Дополнительные сведения о назначении роли здесь

Примечание.

При развертывании пула кластеров с путем исходящего трафика UDR и частным кластером входящего трафика HDInsight в AKS автоматически создаст частную зону DNS и сопоставит записи для разрешения полного доменного имени для доступа к кластеру.

Создание пула кластеров с помощью частного AKS

При использовании частных AKS плоскость управления или сервер API имеют внутренние IP-адреса, определенные в RFC1918 — выделение адресов для частного интернет-документа. Используя этот параметр частного AKS, вы можете гарантировать, что сетевой трафик между сервером API и HDInsight в кластерах рабочих нагрузок AKS остается только в частной сети.

Снимок экрана: включенный частный AKS.

При подготовке частного кластера AKS по умолчанию AKS создает частное полное доменное имя с частной зоной DNS и дополнительным общедоступным полным доменным именем с соответствующей записью A в общедоступном DNS-сервере Azure. Узлы агента продолжают использовать запись в частной зоне DNS, чтобы разрешить частный IP-адрес частной конечной точки для связи с сервером API.

Так как HDInsight в AKS автоматически вставляет запись в частную зону DNS в HDInsight в созданной управляемой группе AKS для частного входящего трафика.

Кластеры с частным входящего трафика

При создании кластера с HDInsight в AKS он имеет общедоступное полное доменное имя и IP-адрес, к которому может получить доступ любой пользователь. С помощью функции частного входящего трафика вы можете убедиться, что только частная сеть может отправлять и получать данные между клиентом и HDInsight в кластере AKS.

Снимок экрана: вкладка

Примечание.

С помощью этой функции HDInsight в AKS автоматически создаст записи A в частной зоне DNS для входящего трафика.

Эта функция предотвращает общедоступный доступ к Интернету к кластеру. Кластер получает внутренний балансировщик нагрузки и частный IP-адрес. HDInsight в AKS использует частную зону DNS, созданную пулом кластеров для подключения кластера виртуальная сеть и разрешения имен.

Каждый частный кластер содержит два полных доменных имени: общедоступное полное доменное имя и частное полное доменное имя.

Общедоступное полное доменное имя: {clusterName}.{clusterPoolName}.{subscriptionId}.{region}.hdinsightaks.net

Общедоступное полное доменное имя может быть разрешено только в CNAME с поддоменом, поэтому его необходимо использовать правильно Private DNS zone setting , чтобы убедиться, что полное доменное имя может быть решено, чтобы исправить частный IP-адрес.

Зона Частная зона DNS должна иметь возможность разрешать частное полное доменное имя в IP-адрес(privatelink.{clusterPoolName}.{subscriptionId}).

Примечание.

HDInsight в AKS создает частную зону DNS в пуле кластеров, виртуальной сети. Если клиентские приложения находятся в одной виртуальной сети, вам не нужно снова настроить частную зону DNS. Если вы используете клиентское приложение в другой виртуальной сети, необходимо использовать пиринг между виртуальными сетями и привязать к частной зоне DNS в виртуальной сети пула кластеров или использовать частные конечные точки в виртуальной сети и частных зонах DNS, чтобы добавить запись A в частный IP-адрес частной конечной точки.

Частное полное доменное имя: {clusterName}.privatelink.{clusterPoolName}.{subscriptionId}.{region}.hdinsightaks.net

Частное полное доменное имя будет назначено кластерам только с включенным частным входящего трафика. Это A-RECORD в частной зоне DNS, которая разрешает частный IP-адрес кластера.

Справочные материалы