Создание пула пакетной службы Azure в виртуальной сети

При создании пула пакетная служба Azure можно подготовить пул в подсети указанного виртуальная сеть Azure. В этой статье объясняется, как настроить пул пакетной службы в виртуальная сеть.

Зачем использовать виртуальная сеть?

Вычислительные узлы в пуле могут взаимодействовать друг с другом, например выполнять задачи с несколькими экземплярами, не требуя отдельной виртуальная сеть. Однако по умолчанию узлы в пуле не могут взаимодействовать с любой виртуальной машиной, которая находится за пределами пула, например лицензией или файловыми серверами.

Чтобы вычислительные узлы могли безопасно взаимодействовать с другими виртуальными машинами или с локальной сетью, можно подготовить пул в подсети виртуальная сеть.

Необходимые компоненты

  • Проверка подлинности. Чтобы использовать виртуальная сеть Azure, API клиента пакетной службы должен использовать проверку подлинности Microsoft Entra. Дополнительные сведения см. в статье "Проверка подлинности решений пакетной службы с помощью Active Directory".

  • Виртуальная сеть Azure. Чтобы заранее подготовить виртуальная сеть с одной или несколькими подсетями, можно использовать портал Azure, Azure PowerShell, Microsoft Azure CLI или другие методы.

    • Сведения о создании виртуальная сеть на основе Azure Resource Manager см. в статье "Создание виртуальной сети". Для новых развертываний рекомендуется использовать виртуальная сеть на основе Resource Manager и поддерживается только в пулах, использующих конфигурацию виртуальной машины.

    • Сведения о создании классической виртуальная сеть см. в статье "Создание виртуальной сети (классической) с несколькими подсетями. Классическая виртуальная сеть поддерживается только в пулах, использующих конфигурацию Облачные службы.

      Важно!

      Избегайте использования версии 172.17.0.0/16 для виртуальной сети пула пакетная служба Azure. По умолчанию используется сеть моста Docker и может конфликтовать с другими сетями, которые требуется подключить к виртуальной сети. Создание виртуальной сети для пула пакетная служба Azure требует тщательного планирования сетевой инфраструктуры.

Общие требования к виртуальной сети

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

  • Подсеть, указанная для пула, должна иметь достаточно неназначенных IP-адресов для размещения количества виртуальных машин, предназначенных для пула, достаточно для размещения targetDedicatedNodes и targetLowPriorityNodes свойств пула. Если в подсети недостаточно свободных IP-адресов, пакетная служба ограничивает выделение вычислительных узлов для пула и генерирует ошибку изменения размера.

  • Если вы не используете упрощенное взаимодействие с вычислительными узлами, необходимо разрешить конечные точки служба хранилища Azure с помощью пользовательских DNS-серверов, обслуживающих виртуальную сеть. В частности, должны разрешаться URL-адреса в формате <account>.table.core.windows.net, <account>.queue.core.windows.net и <account>.blob.core.windows.net.

  • Несколько пулов можно создать в одной виртуальной сети или в одной подсети (если он имеет достаточное адресное пространство). Один пул не может существовать в нескольких виртуальных сетях или подсетях.

Другие требования к виртуальной сети различаются в зависимости от того, находится ли пул пакетной службы в VirtualMachineConfiguration или CloudServiceConfiguration. VirtualMachineConfiguration для пулов пакетной службы рекомендуется использовать, так как CloudServiceConfiguration пулы устарели.

Важно!

Пулы пакетной службы можно настроить в одном из двух режимов связи узлов. Режим связи с классическим узлом — это место, в котором служба пакетной службы инициирует обмен данными с вычислительными узлами. Упрощенный режим связи узлов — это место, в котором вычислительные узлы инициируют обмен данными с пакетной службой.

  • Любая виртуальная сеть или пиринговая виртуальная сеть, которая будет использоваться для пулов пакетной службы, не должна иметь перекрывающиеся диапазоны IP-адресов с программным обеспечением, определенными сетями или маршрутизацией на вычислительных узлах. Общий источник конфликтов — это использование среды выполнения контейнера, например Docker. Docker создаст сетевой мост по умолчанию с определенным диапазоном 172.17.0.0/16подсети. Все службы, работающие в виртуальной сети в этом пространстве IP-адресов по умолчанию, конфликтуют со службами на вычислительном узле, например удаленным доступом через SSH.

Пулы в конфигурации виртуальной машины

Требования:

  • Поддерживаемые виртуальная сеть: только виртуальные сети на основе Azure Resource Manager.
  • Идентификатор подсети: при указании подсети с помощью API пакетной службы используйте идентификатор ресурса подсети. Идентификатор подсети имеет вид:

/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/virtualNetworks/{network}/subnets/{subnet}

  • Разрешения: проверка ли политики безопасности или блокировки подписки или группы ресурсов виртуальная сеть ограничивают разрешения пользователя на управление виртуальная сеть.
  • Сетевые ресурсы: пакетная служба автоматически создает дополнительные сетевые ресурсы в группе ресурсов, содержащей виртуальная сеть.

Важно!

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

Группы безопасности сети для пулов конфигурации виртуальных машин: пакетная служба по умолчанию

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

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

  • Входящий TCP-трафик через порты 29876 и 29877 из IP-адресов пакетной службы, соответствующих BatchNodeManagement.тег службы региона . Это правило создается только в режиме обмена данными пула classic .
  • Входящий TCP-трафик через порт 22 (узлы Linux) или порт 3389 (узлы Windows) для разрешения удаленного доступа для SSH или RDP соответственно на портах по умолчанию. Для определенных типов задач с несколькими экземплярами в Linux, например MPI, может потребоваться разрешить трафик SSH для IP-адресов в подсети, содержащей вычислительные узлы пакетной службы. Для некоторых сред выполнения MPI может потребоваться запуск по протоколу SSH, который обычно направляется в пространство частных IP-адресов. Этот трафик может быть заблокирован для правил NSG уровня подсети.
  • Исходящий трафик через порт 443 в IP-адреса пакетной службы, соответствующие BatchNodeManagement.тег службы региона .
  • Исходящий трафик в виртуальную сеть на любом порту. Это правило может быть изменено для правил NSG уровня подсети.
  • Исходящий трафик, передаваемый в Интернет через любой порт. Это правило может быть изменено для правил NSG уровня подсети.

Важно!

Соблюдайте осторожность, если вы изменяете или добавляете правила для входящего и исходящего трафика в группах безопасности сети, настроенных для пакетной службы. Если группа безопасности сети (NSG), связанная с назначенной подсетью, запрещает взаимодействие с вычислительными узлами, пакетная служба установит для вычислительных узлов состояние Непригоден. Кроме того, блокировки ресурсов не должны применяться к любому ресурсу, созданному пакетной службой, так как это может предотвратить очистку ресурсов в результате действий, инициированных пользователем, таких как удаление пула.

Группы безопасности сети для пулов конфигурации виртуальных машин: указание правил уровня подсети

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

Предупреждение

IP-адреса пакетной службы могут меняться со временем. Поэтому следует использовать BatchNodeManagement.тег службы региона для правил NSG, указанных в следующих таблицах. Не указывайте для правил NSG конкретные IP-адреса пакетной службы.

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

Тег службы источника или IP-адреса Порты назначения Протокол Режим связи пула Обязательное поле
BatchNodeManagement.Тег службы региона 29876–29877 TCP Классическое Да
Исходные IP-адреса для удаленного доступа к вычислительным узлам 3389 (Windows), 22 (Linux) TCP Классический или упрощенный No

Настройте входящий трафик через порт 3389 (Windows) или 22 (Linux) только в том случае, если необходимо разрешить удаленный доступ к вычислительным узлам из внешних источников на портах RDP или SSH по умолчанию соответственно. Возможно, вам потребуется разрешить трафик SSH в Linux, если требуется поддержка задач с несколькими экземплярами с определенными средами выполнения интерфейса передачи сообщений (MPI) в подсети, содержащей вычислительные узлы пакетной службы, так как трафик может быть заблокирован для правил NSG уровня подсети. Трафик MPI обычно выполняется по частному IP-адресу, но может отличаться между средами выполнения MPI и конфигурацией среды выполнения. Разрешение трафика на этих портах не требуется строго для использования вычислительных узлов пула. Вы также можете отключить удаленный доступ по умолчанию на этих портах с помощью настройки конечных точек пула.

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

Тег целевой службы Порты назначения Протокол Режим связи пула Обязательное поле
BatchNodeManagement.Тег службы региона 443 * Упрощенный Да
служба хранилища.Тег службы региона 443 TCP Классическое Да

Исходящий трафик в BatchNodeManagement.Тег службы региона требуется в режиме обмена данными в пуле, classic если вы используете задачи Job Manager или если задачи должны взаимодействовать с пакетной службой. Для исходящего трафика в BatchNodeManagement.регион в режиме обмена данными пула simplified пакетная служба в настоящее время использует протокол TCP, но UDP может потребоваться для будущей совместимости. Для пулов без общедоступных IP-адресов с помощью режима связи и с simplified частной конечной точкой управления узлами не требуется группа безопасности сети. Дополнительные сведения о правилах безопасности исходящего трафика для BatchNodeManagement.Тег службы региона см. в статье "Использование упрощенного взаимодействия с вычислительным узлом".

Пулы в конфигурации Облачные службы

Предупреждение

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

Требования:

  • Поддерживаемые виртуальная сеть: только классические виртуальная сеть.

  • Идентификатор подсети: при указании подсети с помощью API пакетной службы используйте идентификатор ресурса подсети. Идентификатор подсети имеет вид:

    /subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.ClassicNetwork/virtualNetworks/{network}/subnets/{subnet}

  • Разрешения: Microsoft Azure Batch субъект-служба должен иметь Classic Virtual Machine Contributor роль Azure для указанного виртуальная сеть.

Группы безопасности сети для пулов конфигурации Облачные службы

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

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

Настройте входящий трафик через порт 3389 (в Windows), только если необходимо разрешить RDP-доступ к узлам пула. Это правило не требуется для использования узлов пула.

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

Исходные IP-адреса Исходные порты Назначение Конечные порты Протокол Действие
Любой

Хотя это правило фактически требует разрешения всех, пакетная служба применяет правило ACL на уровне каждого узла, который фильтрует все IP-адреса, отличные от пакетной службы.
* Любое 10100, 20100, 30100 TCP Разрешить
(Необязательно) Для разрешения RDP-доступа к вычислительным узлам. * Любое 3389 TCP Разрешить

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

Оригинал Исходные порты Назначение Конечные порты Протокол Действие
Любой * Любой 443 Любой Разрешить

Создание пула с виртуальная сеть в портал Azure

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

  1. Найдите и выберите учетные записи пакетной службы в строке поиска в верхней части портал Azure. Выберите учетную запись пакетной службы. Эта учетная запись должна находиться в той же подписке и регионе, что и группа ресурсов, содержащая виртуальная сеть, которую вы планируете использовать.

  2. Выберите пулы в области навигации слева.

  3. В окне пулов нажмите кнопку "Добавить".

    Screenshot of the Pools page in a Batch account that highlights the Pools option in the left side navigation and add button on the Pools page.

  4. На странице "Добавить пул" выберите параметры и введите сведения для пула. Дополнительные сведения о создании пулов для учетной записи пакетной службы см. в статье "Создание пула вычислительных узлов". Размер узла, выделенные целевые узлы и узлы с низким приоритетом и любые необходимые необязательные параметры.

  5. В разделе Виртуальная сеть выберите виртуальную сеть и подсеть, которые вы хотите использовать.

  6. Нажмите кнопку ОК, чтобы создать пул.

Важно!

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

Пользовательские маршруты для принудительного туннелирования

Возможно, вашей организации нужно принудительно перенаправлять трафик, направленный из подсети в Интернет, обратно в локальное расположение для проверки и регистрации в журнале. Кроме того, возможно, вы включили принудительное туннелирование подсетей в виртуальная сеть.

Чтобы узлы в пуле работали в виртуальная сеть, включив принудительное туннелирование, необходимо добавить следующие определяемые пользователем маршруты (UDR) для этой подсети.

Для пулов классического режима обмена данными:

  • Пакетная служба должна взаимодействовать с узлами для планирования задач. Чтобы включить эту связь, добавьте UDR, соответствующий BatchNodeManagement.тег службы регионав регионе, в котором существует учетная запись пакетной службы. Задайте для параметра Тип следующего прыжка значение Интернет.

  • Убедитесь, что локальная сеть не блокирует исходящий TCP-трафик для служба хранилища Azure на целевом порту 443 (в частности, URL-адреса формы *.table.core.windows.netи *.queue.core.windows.net*.blob.core.windows.net).

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

  • Убедитесь, что локальная сеть не блокирует исходящий трафик TCP/UDP в пакетная служба Azure BatchNodeManagement.тег службы региона на целевом порту 443. В настоящее время используется только протокол TCP, но UDP может потребоваться для будущей совместимости.

Для всех пулов:

  • Если вы используете подключения виртуальных файлов, просмотрите требования к сети и убедитесь, что необходимый трафик не заблокирован.

Предупреждение

IP-адреса пакетной службы могут меняться со временем. Чтобы предотвратить сбои из-за изменений IP-адреса пакетной службы, не указывайте IP-адреса напрямую. Вместо этого используйте BatchNodeManagement.тег службы региона.

Следующие шаги