Создание пула упрощенного обмена данными с узлами без общедоступных 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.
Текущие ограничения
- Пулы без общедоступных IP-адресов должны использовать конфигурацию виртуальной машины, а не конфигурацию облачных служб.
- Конфигурация пользовательской конечной точки для вычислительных узлов пакетной службы не работает с пулами без общедоступных IP-адресов.
- Так как нет общедоступных IP-адресов, вы не можете использовать собственные заданные общедоступные IP-адреса с этим типом пула.
- Маркер проверки подлинности задачи пакетной службы не поддерживается. Решением является использование пула пакетной службы с управляемыми удостоверениями.
Создание пула без общедоступных IP-адресов на портале Azure
- При необходимости создайте частную конечную точку nodeManagement для учетной записи пакетной службы в виртуальной сети (см. требования к исходящему доступу в разделе предварительные требования).
- Войдите в свою учетную запись пакетной службы на портале Azure.
- В окне Параметры слева выберите пункт Пулы.
- В окне Пулы выберите команду Добавить.
- В окне Добавить пул из раскрывающегося списка Тип образа выберите нужный вариант.
- Укажите верный вариант издателя, предложения или номера SKU вашего образа.
- Укажите оставшиеся необходимые параметры, включая размер узла, выделенные узлы целевого объекта и узлы с низким приоритетом.
- В режиме обмена данными узла выберите "Упрощено" в разделе "Необязательные Параметры".
- Выберите желаемую виртуальную сеть и подсеть. Эта виртуальная сеть должна находиться в том же расположении, что и создаваемый пул.
- В пункте Тип подготовки IP-адреса выберите NoPublicIPAddresses.
На следующем снимках экрана показаны элементы, которые необходимо изменить для создания пула без общедоступных IP-адресов.
Использование 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.
Примечание.
Если развертывание частной конечной точки завершилось сбоем из-за недопустимого идентификатора groupId nodeManagement, проверка, если регион находится в поддерживаемом списке для упрощенного взаимодействия с вычислительными узлами. Выберите нужный регион, а затем повторите развертывание.
Исходящий доступ в Интернет
В пуле без общедоступных IP-адресов виртуальные машины не смогут получить доступ к общедоступному подключению к Интернету, если вы не настроили параметры сети соответствующим образом, например с помощью преобразования сетевых адресов (NAT) виртуальной сети. NAT разрешает только исходящий доступ к Интернету из виртуальных машин в виртуальной сети. Созданные пакетом кластерные узлы не будут общедоступными, так как они не связаны с общедоступными IP-адресами.
Другим способом обеспечения исходящего подключения является использование маршрута, определяемого пользователем (UDR). Этот метод позволяет направлять трафик на прокси-компьютер с общедоступным доступом к Интернету, например Брандмауэр Azure.
Внимание
Для упрощенного обмена данными с узлами без общедоступных IP-адресов не создаются дополнительные сетевые ресурсы (подсистема балансировки нагрузки, группа безопасности сети). Так как вычислительные узлы в пуле не привязаны к какой-либо подсистеме балансировки нагрузки, Azure может предоставить исходящий доступ по умолчанию. Однако исходящий доступ по умолчанию не подходит для рабочих нагрузок и будет прекращен 30 сентября 2025 г. (см. официальное объявление). Поэтому если для рабочих нагрузок требуется исходящий доступ к Интернету или пул не использует частную конечную точку для доступа к конечной точке управления узлами пакетной службы, необходимо предоставить собственное решение для включения исходящего доступа к Интернету.
Устранение неполадок
Неиспользуемые вычислительные узлы в пуле пакетной службы
Если вычислительные узлы выполняются в неиспользуемом состоянии в пуле пакетной службы без общедоступных IP-адресов, первая и самая важная проверка — это проверка исходящего доступа службы управления узлами пакетной службы. Его необходимо настроить правильно, чтобы вычислительные узлы могли подключаться к службе из виртуальной сети.
Использование частной конечной точки nodeManagement
Если вы создали частную конечную точку управления узлами в виртуальной сети для учетной записи пакетной службы:
- Проверьте, создана ли частная конечная точка в правой виртуальной сети, в состоянии подготовки успешно , а также в состоянии "Утверждено ".
- Проверьте, правильно ли настроена конфигурация DNS для конечной точки управления узлами учетной записи пакетной службы:
- Если частная конечная точка создается с автоматической интеграцией частной зоны DNS, проверка запись DNS A настроена правильно в частной зоне
privatelink.batch.azure.com
DNS, а зона связана с виртуальной сетью. - Если вы используете собственное решение DNS, убедитесь, что запись DNS для конечной точки управления узлами пакетной службы настроена правильно и указывает на IP-адрес частной конечной точки.
- Если частная конечная точка создается с автоматической интеграцией частной зоны DNS, проверка запись DNS A настроена правильно в частной зоне
- Проверьте разрешение 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, можно перенести только пулы, созданные в виртуальной сети.
- Создайте частную конечную точку для управления узлами пакетной службы в виртуальной сети.
- Обновите режим обмена данными с узлом пула, чтобы упростить.
- Уменьшите масштаб пула до нуля узлов.
- Снова увеличьте масштаб пула. Затем пул автоматически переносится в новую версию.
Следующие шаги
- См. раздел Использование упрощенного взаимодействия с вычислительным узлом.
- Узнайте больше о создании пулов в виртуальной сети.
- Узнайте, как использовать частные конечные точки с учетными записями пакетной службы.