Создание пула пакетной службы Azure с указанными общедоступными IP-адресами

В Azure Batch можно создать пул Batch в подсети виртуальной сети Azure (VNet). Виртуальные машины (VM) в пуле Batch доступны через общедоступные IP-адреса, которые Batch создает. Эти общедоступные IP-адреса могут изменяться в течение всего времени существования пула. Если IP-адреса не обновляются, параметры сети могут стать устаревшими.

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

Сведения о создании пулов без общедоступных IP-адресов см. в статье "Создание пула пакетной службы Azure без общедоступных IP-адресов".

Предпосылки

Замечание

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

Требования к общедоступному IP-адресу

Создайте один или несколько общедоступных IP-адресов с помощью одного из следующих методов:

Убедитесь, что общедоступные IP-адреса соответствуют следующим требованиям:

  • Создайте общедоступные IP-адреса в той же подписке и регионе, что и учетная запись пула пакетной службы.
  • Установите назначение IP-адреса на Статическое.
  • Установите SKU на Стандартный.
  • Укажите DNS-имя.
  • Убедитесь, что другие ресурсы не используют эти общедоступные IP-адреса, или пул может столкнуться с ошибками выделения. Используйте только эти общедоступные IP-адреса для пулов конфигурации виртуальных машин.
  • Убедитесь, что политики безопасности или блокировки ресурсов не ограничивают доступ пользователей к общедоступному IP-адресу.
  • Создайте достаточно общедоступных IP-адресов для пула, чтобы разместить количество целевых виртуальных машин.
    • Это число должно быть равно как минимум сумме свойств targetDedicatedNodes и targetLowPriorityNodes пула.
    • Если вы не создаете достаточно IP-адресов, пул частично распределяет вычислительные узлы, и происходит ошибка изменения размера.
    • В настоящее время пакетная служба использует один общедоступный IP-адрес для каждых 100 виртуальных машин.
  • Также создайте буфер общедоступных IP-адресов. Буфер помогает пакетной службе с внутренней оптимизацией для снижения нагрузки. Буфер также позволяет ускорить масштабирование после неудачного масштабирования вверх или уменьшения масштаба. Рекомендуется добавить одно из следующих количеств буферных IP-адресов; выберите то, которое больше.
    • Добавьте хотя бы один IP-адрес.
    • Или добавьте примерно 10% количества общих общедоступных IP-адресов в пуле.

Это важно

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

Создание пула Batch с общедоступными IP-адресами

В следующем примере показано, как создать пул с помощью REST API пакетной службы Azure , использующего общедоступные IP-адреса.

URI REST API:

POST {batchURL}/pools?api-version=2020-03-01.11.0
client-request-id: 00000000-0000-0000-0000-000000000000

Текст запроса:

"pool": {
      "id": "pool2",
      "vmSize": "standard_a1",
      "virtualMachineConfiguration": {
        "imageReference": {
          "publisher": "Canonical",
          "offer": "UbuntuServer",
          "sku": "20.04-LTS"
        },
        "nodeAgentSKUId": "batch.node.ubuntu 20.04"
      },
"networkConfiguration": {
          "subnetId": "/subscriptions/<subId>/resourceGroups/<rgId>/providers/Microsoft.Network/virtualNetworks/<vNetId>/subnets/<subnetId>",
          "publicIPAddressConfiguration": {
            "provision": "usermanaged",
            "ipAddressIds": [
              "/subscriptions/<subId>/resourceGroups/<rgId>/providers/Microsoft.Network/publicIPAddresses/<publicIpId>"
          ]
        },

       "resizeTimeout":"PT15M",
      "targetDedicatedNodes":5,
      "targetLowPriorityNodes":0,
      "taskSlotsPerNode":3,
      "taskSchedulingPolicy": {
        "nodeFillType":"spread"
      },
      "enableAutoScale":false,
      "enableInterNodeCommunication":true,
      "metadata": [ {
        "name":"myproperty",
        "value":"myvalue"
      } ]
    }

Дальнейшие шаги