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


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

Примечание.

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

Это важно

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

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

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

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

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

Предпосылки

Это важно

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

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

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

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

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

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

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

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

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

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

Это важно

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

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

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

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

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

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

Снимок экрана: экран добавления пула с выбранным параметром NoPublicIPAddresses.

Используйте пакетный 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-адресов, настроенная для блокировки доступа к конечной точке управления узлами пакетной службы
  • Виртуальная сеть с группой безопасности сети для блокировки исходящего доступа к Интернету
  • Частная конечная точка для доступа к узлу управления узлами Batch в учетной записи
  • Интеграция DNS для частной конечной точки с помощью частной зоны DNS, связанной с виртуальной сетью
  • Пул пакетных заданий, развернутый в виртуальной сети и без публичных IP-адресов

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

Кнопка для развертывания шаблона Resource Manager в Azure.

Примечание.

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

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

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

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

Это важно

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

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

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

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

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

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

  • Проверьте, создана ли частная конечная точка в правильной виртуальной сети, на этапе предоставления в состоянии успешно и в состоянии Утверждено.
  • Проверьте, правильно ли настроена конфигурация DNS для конечной точки управления узлами учетной записи пакетной службы:
    • Если частная конечная точка создается с автоматической интеграцией частной зоны DNS, проверьте правильность настройки A-записи DNS в частной зоне DNS privatelink.batch.azure.com, а также убедитесь, что эта зона связана с вашей виртуальной сетью.
    • Если вы используете собственное решение 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 ping завершается сбоем (например, истекло время ожидания), обычно возникает проблема с подключением через частный канал, и вы можете создать запрос в службу поддержки Azure с этим ресурсом частной конечной точки. В противном случае эта проблема может быть неиспользуемой, так как обычные пулы пакетной службы, и вы можете вызвать запрос в службу поддержки с учетной записью пакетной службы.

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

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

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

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

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

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

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

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

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

Дальнейшие действия