Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
При создании пула пакетной обработки 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 Batch. Это значение используется по умолчанию для сети моста Docker и может конфликтовать с другими сетями, которые вы хотите подключить к виртуальной сети. Создание виртуальной сети для пула Azure Batch требует тщательного планирования вашей сетевой инфраструктуры.
Общие требования к виртуальной сети
Виртуальная сеть должна находиться в той же подписке и регионе, что и учетная запись Batch, которую вы используете для создания пула.
Подсеть, указанная для пула, должна иметь достаточно свободных IP-адресов для размещения всех виртуальных машин, предназначенных для пула, включая требования свойств
targetDedicatedNodes
иtargetLowPriorityNodes
пула. Если в подсети недостаточно свободных IP-адресов, пул выделяет вычислительные узлы частично, что приводит к ошибке изменения размера.Если вы не используете упрощенное взаимодействие вычислительных узлов, необходимо разрешить конечные точки службы хранилища Azure, используя пользовательские DNS-серверы вашей виртуальной сети. В частности, URL-адреса формата
<account>.table.core.windows.net
,<account>.queue.core.windows.net
и<account>.blob.core.windows.net
должны быть разрешимыми.Несколько пулов можно создать в одной виртуальной сети или в одной подсети (если он имеет достаточное адресное пространство). Один пул не может существовать в нескольких виртуальных сетях или подсетях.
Внимание
Пулы пакетной службы можно настроить в одном из двух режимов связи узлов. Режим связи с классическим узлом — это место, в котором служба пакетной службы инициирует обмен данными с вычислительными узлами. Упрощенный режим связи узлов — это место, в котором вычислительные узлы инициируют обмен данными с пакетной службой.
- Любая виртуальная сеть или пиринговая виртуальная сеть, которая будет использоваться для пулов пакетной службы, не должна иметь перекрывающиеся диапазоны 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-адрес и один подсистему балансировки нагрузки. Эти ресурсы ограничены квотами ресурсов в подписке. Для больших пулов, возможно, вам потребуется запросить увеличение квоты на один или несколько ресурсов.
Группы безопасности сети для пулов конфигурации виртуальных машин: Batch по умолчанию
Служба Batch создает группу безопасности сети (NSG) на уровне сетевого интерфейса каждого развертывания масштабируемого набора виртуальных машин в пуле Batch. Для пулов, которые не имеют общедоступных IP-адресов для взаимодействия с вычислительным узлом, группы безопасности сети не создаются.
Чтобы обеспечить необходимую связь между вычислительными узлами и службой пакетной обработки, эти группы безопасности сети (NSG) настроены таким образом:
- Входящий TCP-трафик через порты 29876 и 29877 из IP-адресов службы Batch, соответствующих тегу службы BatchNodeManagement.region. Это правило создается только в режиме обмена данными пула
classic
. - Исходящий трафик через порт 443 на IP-адреса службы Batch, соответствующие тегу службы BatchNodeManagement.region.
- Исходящий трафик в виртуальную сеть на любом порту. Это правило может быть изменено в соответствии с правилами NSG на уровне подсети.
- Исходящий трафик, передаваемый в Интернет через любой порт. Это правило может быть изменено в соответствии с правилами NSG уровня подсети.
Примечание.
Для пулов, созданных с помощью более ранней 2024-07-01
версии API, входящий TCP-трафик через порт 22 (узлы Linux) или порт 3389 (узлы Windows) настроен для разрешения удаленного доступа через SSH или RDP на портах по умолчанию.
Внимание
Будьте осторожны при изменении или добавлении правил для входящего и исходящего трафика в группах безопасности сети, настроенных в среде Batch. Если группа безопасности сети (NSG), связанная с указанной подсетью, запрещает связь с вычислительными узлами, служба Batch установит для вычислительных узлов состояние непригодно. Кроме того, блокировки ресурсов не должны применяться к любому ресурсу, созданному пакетной службой, так как это может предотвратить очистку ресурсов в результате действий, инициированных пользователем, таких как удаление пула.
Группы безопасности сети для пулов конфигурации виртуальных машин: указание правил на уровне подсети
Если у вас есть NSG, связанная с подсетью для вычислительных узлов Batch, необходимо настроить эту NSG по крайней мере с правилами безопасности для входящего и исходящего трафика, указанными в следующих таблицах.
Предупреждение
IP-адреса пакетной службы могут меняться со временем. Следует использовать служебный тег BatchNodeManagement.region для правил NSG, указанных в следующих таблицах. Не указывайте для правил NSG конкретные IP-адреса пакетной службы.
Правила безопасности для входящего трафика
Тег службы источника или IP-адреса | Порты назначения | Протокол | Режим связи пула | Обязательное поле |
---|---|---|---|---|
BatchNodeManagement.регионтег службы | 29876–29877 | TCP | Классическое | Да |
Исходные IP-адреса для удаленного доступа к вычислительным узлам | 3389 (Windows), 22 (Linux) | TCP | Классический или упрощенный | Нет |
Настройте входящий трафик через порт 3389 (Windows) или 22 (Linux) только в том случае, если необходимо разрешить удаленный доступ к вычислительным узлам из внешних источников на портах RDP или SSH по умолчанию соответственно. Возможно, вам потребуется разрешить трафик SSH в Linux, если вам нужна поддержка для задач с несколькими экземплярами, использующих определенные среды выполнения MPI, в подсети с вычислительными узлами Batch. Это связано с тем, что трафик может быть заблокирован на уровне правил NSG подсети. Трафик MPI обычно выполняется по частному IP-адресу, но может отличаться между средами выполнения MPI и конфигурацией среды выполнения. Разрешение трафика на этих портах не является строго необходимым для использования вычислительных узлов пула. Вы также можете отключить удаленный доступ по умолчанию на этих портах с помощью настройки конечных точек пула.
Правила безопасности для исходящего трафика
Тег службы назначения | Порты назначения | Протокол | Режим связи пула | Обязательное поле |
---|---|---|---|---|
BatchNodeManagement.регионтег службы | 443 | * | Упрощенный | Да |
Хранение.регионтег службы | 443 | TCP | Классическое | Да |
Для работы в режиме обмена данными в пуле необходим исходящий тег службы BatchNodeManagement.region, если вы используете задачи диспетчера задач или если ваши задачи должны взаимодействовать с Batch-сервисом. Для исходящего трафика к BatchNodeManagement.регион в режиме коммуникации пула simplified
, служба Batch в настоящее время использует только протокол TCP, но для будущей совместимости может потребоваться использование UDP. Для пулов без общедоступных IP-адресов, использующих режим связи simplified
, и с частной конечной точкой для управления узлами, не требуется группа безопасности сети. Дополнительные сведения о правилах безопасности исходящего трафика для BatchNodeManagement.Тег службы региона см. в статье "Использование упрощенного взаимодействия с вычислительным узлом".
Создайте пул с виртуальной сетью в портале Azure
После создания виртуальной сети и назначения ей подсети вы можете создать пул пакетной службы, используя эту виртуальную сеть. Выполните следующие действия, чтобы создать пул из портал Azure:
Ищите и выберите Batch учетные записи в строке поиска в верхнем правом углу портала Azure. Выберите учетную запись Batch. Эта учетная запись должна находиться в той же подписке и регионе, что и группа ресурсов, содержащая виртуальная сеть, которую вы планируете использовать.
Выберите Pools в левой панели навигации.
В окне пулов нажмите кнопку "Добавить".
На странице "Добавить пул" выберите параметры и введите сведения для пула. Для получения дополнительной информации о создании пулов для вашего учетного аккаунта Batch см. Создание пула вычислительных узлов. Размер узла, Целевые выделенные узлы, и целевые узлы Spot/низкого приоритета, и любые желаемые необязательные параметры.
В разделе Виртуальная сеть выберите виртуальную сеть и подсеть, которые вы хотите использовать.
Нажмите кнопку ОК, чтобы создать пул.
Внимание
При попытке удалить подсеть, которая используется пулом, будет выведено сообщение об ошибке. Перед удалением этой подсети необходимо удалить все пулы, использующие подсеть.
Пользовательские маршруты для принудительного туннелирования
Возможно, вашей организации нужно принудительно перенаправлять трафик, направленный из подсети в Интернет, обратно в локальное расположение для проверки и регистрации в журнале. Кроме того, возможно, вы включили принудительное туннелирование для подсетей в вашей виртуальной сети.
Чтобы узлы в вашем пуле работали в виртуальной сети с включенным принудительным туннелированием, необходимо добавить следующие определяемые пользователем маршруты (UDR) для этой подсети.
Для пулов классического режима обмена данными:
Служба пакетной обработки должна связываться с узлами для планирования задач. Чтобы включить эту связь, добавьте UDR, соответствующий BatchNodeManagement.тег службы регионав регионе, в котором существует учетная запись пакетной службы. Задайте для параметра Тип следующего прыжка значение Интернет.
Убедитесь, что локальная сеть не блокирует исходящий TCP-трафик для службы хранилища Azure на целевом порту 443 (в частности, URL-адреса формы
*.table.core.windows.net
,*.queue.core.windows.net
, и*.blob.core.windows.net
).
Для пулов упрощенного режима связи без использования управления узлами через частную конечную точку:
- Убедитесь, что ваша локальная сеть не блокирует исходящий TCP/UDP трафик к тегу службы Azure BatchNodeManagement.region на целевом порту 443. В настоящее время используется только протокол TCP, но UDP может потребоваться для будущей совместимости.
Для всех пулов:
- Если вы используете подключения виртуальных файлов, просмотрите требования к сети и убедитесь, что необходимый трафик не заблокирован.
Предупреждение
IP-адреса пакетной службы могут меняться со временем. Чтобы предотвратить сбои из-за изменений IP-адреса пакетной службы, не указывайте IP-адреса напрямую. Вместо этого используйте BatchNodeManagement.регионтег службы.