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

Примечание.

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

Внимание

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

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

Зачем создавать пул без общедоступных IP-адресов?

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

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

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

Внимание

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

  • Используйте упрощенное взаимодействие с вычислительным узлом. Дополнительные сведения см. в разделе Использование упрощенного взаимодействия с вычислительным узлом.

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

  • Создайте пул в виртуальной сети Azure, следуя этим требованиям и конфигурациям. Чтобы заранее подготовить виртуальную сеть с одной или несколькими подсетями, вы можете использовать портал Azure, Azure PowerShell, интерфейс командной строки Azure (Azure CLI) или другие методы.

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

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

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

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

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

    • Или предоставьте собственную поддержку исходящего доступа к Интернету (см. раздел Исходящий доступ к Интернету).

Внимание

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

Текущие ограничения

  1. Пулы без общедоступных IP-адресов должны использовать конфигурацию виртуальной машины, а не конфигурацию облачных служб.
  2. Конфигурация пользовательской конечной точки для вычислительных узлов пакетной службы не работает с пулами без общедоступных IP-адресов.
  3. Так как нет общедоступных IP-адресов, вы не можете использовать собственные заданные общедоступные IP-адреса с этим типом пула.
  4. Маркер проверки подлинности задачи пакетной службы не поддерживается. Решением является использование пула пакетной службы с управляемыми удостоверениями.

Создание пула без общедоступных IP-адресов на портале Azure

  1. При необходимости создайте частную конечную точку nodeManagement для учетной записи пакетной службы в виртуальной сети (см. требования к исходящему доступу в разделе предварительные требования).
  2. Войдите в свою учетную запись пакетной службы на портале Azure.
  3. В окне Параметры слева выберите пункт Пулы.
  4. В окне Пулы выберите команду Добавить.
  5. В окне Добавить пул из раскрывающегося списка Тип образа выберите нужный вариант.
  6. Укажите верный вариант издателя, предложения или номера SKU вашего образа.
  7. Укажите оставшиеся необходимые параметры, включая размер узла, выделенные узлы целевого объекта и узлы с низким приоритетом.
  8. В режиме обмена данными узла выберите "Упрощено" в разделе "Необязательные Параметры".
  9. Выберите желаемую виртуальную сеть и подсеть. Эта виртуальная сеть должна находиться в том же расположении, что и создаваемый пул.
  10. В пункте Тип подготовки IP-адреса выберите NoPublicIPAddresses.

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

Screenshot of the Add pool screen with NoPublicIPAddresses selected.

Использование REST API пакетной службы для создания пула без общедоступных IP-адресов

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

Универсальный код ресурса (URI) REST API

POST {batchURL}/pools?api-version=2022-10-01.16.0
client-request-id: 00000000-0000-0000-0000-000000000000

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

"pool": {
     "id": "pool-npip",
     "vmSize": "standard_d2s_v3",
     "virtualMachineConfiguration": {
          "imageReference": {
               "publisher": "Canonical",
               "offer": "0001-com-ubuntu-server-jammy",
               "sku": "22_04-lts"
          },
          "nodeAgentSKUId": "batch.node.ubuntu 22.04"
     },
     "networkConfiguration": {
          "subnetId": "/subscriptions/<your_subscription_id>/resourceGroups/<your_resource_group>/providers/Microsoft.Network/virtualNetworks/<your_vnet_name>/subnets/<your_subnet_name>",
          "publicIPAddressConfiguration": {
               "provision": "NoPublicIPAddresses"
          }
     },
     "resizeTimeout": "PT15M",
     "targetDedicatedNodes": 2,
     "targetLowPriorityNodes": 0,
     "taskSlotsPerNode": 1,
     "taskSchedulingPolicy": {
          "nodeFillType": "spread"
     },
     "enableAutoScale": false,
     "enableInterNodeCommunication": false,
     "targetNodeCommunicationMode": "simplified"
}

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

Вы можете использовать следующий шаблон быстрого запуска Azure для создания пула без общедоступных IP-адресов с помощью шаблона Azure Resource Manager (ARM).

Шаблон выполнит развертывание следующих ресурсов:

  • Учетная запись пакетной службы Azure с брандмауэром IP-адресов, в котором настроена блокировка доступа к общедоступной сети для конечной точки управления узлами пакетной службы.
  • Виртуальная сеть с группой безопасности сети для блокировки исходящего доступа к Интернету.
  • Частная конечная точка для доступа к конечной точке управления узлами пакетной службы в учетной записи.
  • Интеграция DNS для частной конечной точки с использованием частной зоны DNS, связанной с виртуальной сетью.
  • Пул пакетной службы, развернутый в виртуальной сети и без общедоступных IP-адресов.

Если вы знакомы с использованием шаблонов ARM, нажмите кнопку Развертывание в Azure. Шаблон откроется на портале Azure.

Button to deploy the Resource Manager template to Azure.

Примечание.

Если развертывание частной конечной точки завершилось сбоем из-за недопустимого идентификатора groupId nodeManagement, проверка, если регион находится в поддерживаемом списке для упрощенного взаимодействия с вычислительными узлами. Выберите нужный регион, а затем повторите развертывание.

Исходящий доступ в Интернет

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

Другим способом обеспечения исходящего подключения является использование маршрута, определяемого пользователем (UDR). Этот метод позволяет направлять трафик на прокси-компьютер с общедоступным доступом к Интернету, например Брандмауэр Azure.

Внимание

Для упрощенного обмена данными с узлами без общедоступных IP-адресов не создаются дополнительные сетевые ресурсы (подсистема балансировки нагрузки, группа безопасности сети). Так как вычислительные узлы в пуле не привязаны к какой-либо подсистеме балансировки нагрузки, Azure может предоставить исходящий доступ по умолчанию. Однако исходящий доступ по умолчанию не подходит для рабочих нагрузок и будет прекращен 30 сентября 2025 г. (см. официальное объявление). Поэтому если для рабочих нагрузок требуется исходящий доступ к Интернету или пул не использует частную конечную точку для доступа к конечной точке управления узлами пакетной службы, необходимо предоставить собственное решение для включения исходящего доступа к Интернету.

Устранение неполадок

Неиспользуемые вычислительные узлы в пуле пакетной службы

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

Использование частной конечной точки nodeManagement

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

  • Проверьте, создана ли частная конечная точка в правой виртуальной сети, в состоянии подготовки успешно , а также в состоянии "Утверждено ".
  • Проверьте, правильно ли настроена конфигурация DNS для конечной точки управления узлами учетной записи пакетной службы:
    • Если частная конечная точка создается с автоматической интеграцией частной зоны DNS, проверка запись DNS A настроена правильно в частной зоне privatelink.batch.azure.comDNS, а зона связана с виртуальной сетью.
    • Если вы используете собственное решение DNS, убедитесь, что запись DNS для конечной точки управления узлами пакетной службы настроена правильно и указывает на IP-адрес частной конечной точки.
  • Проверьте разрешение DNS для конечной точки управления узлами пакетной службы учетной записи. Вы можете подтвердить его, выполнив команду nslookup <nodeManagementEndpoint> из виртуальной сети, и DNS-имя должно быть разрешено в IP-адрес частной конечной точки.
  • Если у виртуальной сети включена политика сети частной конечной точки, проверка NSG и UDR для подсетей пула пакетной службы и частной конечной точки. Входящее подключение с TCP/443 к подсети, в которую размещается частная конечная точка, должно быть разрешено из подсети пула пакетной службы.
  • Из подсети пула пакетной службы выполните tcp-связь с конечной точкой управления узлами с помощью порта HTTPS по умолчанию (443). С помощью такой пробы можно определить, работает ли подключение приватного канала должным образом.
# Windows
Test-TcpConnection -ComputeName <nodeManagementEndpoint> -Port 443
# Linux
nc -v <nodeManagementEndpoint> 443

Если проверка связи по протоколу TCP завершается сбоем (например, истекло время ожидания), обычно это означает проблему с подключением приватного канала, и можно вызвать запрос поддержки Azure по этому ресурсу частной конечной точки. В противном случае эту проблему невозможности использования узла можно устранить как в случае с обычными пулами пакетной службы, а также можно подать запрос в службу поддержки, используя свою учетную запись пакетной службы.

Использование собственного решения для исходящего интернета

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

Подключение к вычислительным узлам

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

  • Используйте машину jumpbox в виртуальной сети, а затем оттуда подключитесь к вычислительным узлам.
  • Или попробуйте использовать другие решения для удаленного подключения, такие как Бастион Azure:
    • Создайте Бастион в виртуальной сети с активным IP-подключением.
    • Используйте Бастион для подключения к вычислительному узлу с помощью IP-адреса.

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

Миграция с предыдущей предварительной версии пулов без общедоступных IP-адресов

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

  1. Создайте частную конечную точку для управления узлами пакетной службы в виртуальной сети.
  2. Обновите режим обмена данными с узлом пула, чтобы упростить.
  3. Уменьшите масштаб пула до нуля узлов.
  4. Снова увеличьте масштаб пула. Затем пул автоматически переносится в новую версию.

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