Crie um Azure Batch pool numa rede virtual

Quando cria um Azure Batch pool, pode provisionar o pool numa sub-rede de uma Rede Virtual do Azure que especificar. Este artigo explica como configurar um pool Batch numa Rede Virtual.

Porque usar uma Rede Virtual?

Os nós de computação num pool podem comunicar entre si, como para executar tarefas multi-instância, sem necessidade de uma Rede Virtual separada. No entanto, por defeito, os nós de um pool não podem comunicar com qualquer máquina virtual (VM) que esteja fora do pool, como servidores de licenças ou ficheiros.

Para permitir que os nós de computação comuniquem de forma segura com outras máquinas virtuais, ou com uma rede local, pode provisionar o pool numa sub-rede de uma Rede Virtual.

Prerequisites

  • Authentication. Para usar uma Rede Virtual do Azure, a API do cliente Batch deve usar autenticação Microsoft Entra. Para saber mais, consulte Autenticar soluções de serviço em lote com Active Directory.

  • An Rede Virtual do Azure. Para preparar uma Rede Virtual com uma ou mais sub-redes antecipadamente, pode usar o portal Azure, Azure PowerShell, Microsoft CLI do Azure (CLI), ou outros métodos.

    • Para criar uma Rede Virtual baseada no Azure Resource Manager, veja Criar uma virtual network. Recomenda-se uma Rede Virtual baseada no Resource Manager para novas implementações, sendo suportada apenas em pools que utilizam a Configuração de Máquina Virtual.

    • Para criar uma Rede Virtual clássica, veja Criar uma virtual network (clássica) com múltiplas sub-redes. Uma Rede Virtual clássica é suportada apenas em pools que utilizam Cloud Services Configuration.

      Importante

      Evite usar 172.17.0.0/16 para Azure Batch pool VNet. É o padrão para a rede Docker bridge e pode entrar em conflito com outras redes que queiras ligar ao VNet. Criar uma rede virtual para o Azure Batch Pool requer um planeamento cuidadoso da sua infraestrutura de rede.

Requisitos gerais de rede virtual

  • A Rede Virtual deve estar na mesma subscrição e região da conta de lote que usa para criar o seu pool.

  • A sub-rede especificada para o pool tem de ter endereços IP não atribuídos suficientes para suportar o número de VMs visadas para o pool, bem como para acomodar as propriedades targetDedicatedNodes e targetLowPriorityNodes do pool. Se a sub-rede não tiver endereços IP não atribuídos suficientes, a pool aloca parcialmente os nós de computação e ocorre um erro de redimensionamento.

  • Se não estiveres a usar Comunicação de Nós de Computação Simplificada, precisas de resolver os teus endpoints do Armazenamento do Azure usando quaisquer servidores DNS personalizados que sirvam a tua rede virtual. Especificamente, URLs da forma <account>.table.core.windows.net, <account>.queue.core.windows.net, e <account>.blob.core.windows.net devem ser resolvíveis.

  • Podem ser criados múltiplos pools na mesma rede virtual ou na mesma sub-rede (desde que tenha espaço de endereçamento suficiente). Um único pool não pode existir através de múltiplas redes virtuais ou sub-redes.

Importante

Os pools em lote podem ser configurados num de dois modos de comunicação de nós. O modo clássico de comunicação dos nós é aquele em que o serviço Batch inicia a comunicação com os nós de computação. O modo simplificado de comunicação dos nós é aquele em que os nós de computação iniciam a comunicação com o serviço Batch.

  • Qualquer rede virtual ou rede virtual emparelhada utilizada para pools do Batch não deve ter intervalos de endereços IP sobrepostos aos da rede definida por software ou do encaminhamento nos nós de computação. Uma fonte comum de conflitos resulta da utilização de um runtime de contentores, como o Docker. O Docker cria uma bridge de rede predefinida com um intervalo de sub-rede predefinido de 172.17.0.0/16. Todos os serviços em execução dentro de uma rede virtual nesse espaço de endereços IP predefinido entrarão em conflito com os serviços no nó de computação, como o acesso remoto por SSH.

Conjuntos na configuração de máquinas virtuais

Requisitos:

  • Redes Virtuais Suportadas: Apenas redes virtuais baseadas no Azure Resource Manager.
  • ID da sub-rede: ao especificar a sub-rede usando as APIs em lote, use o identificador de recurso da subrede. O identificador da sub-rede tem a forma:

/subscriptions/{subscription}/resourceGroups/{group}/providers/Microsoft.Network/virtualNetworks/{network}/subnets/{subnet}

  • Permissões: verifique se as suas políticas de segurança ou bloqueios na subscrição ou grupo de recursos da Rede Virtual restringem as permissões de um utilizador para gerir a Rede Virtual.
  • Recursos de rede: O Batch cria automaticamente mais recursos de rede no grupo de recursos que contém a Rede Virtual.

Importante

Para cada 100 nós dedicados ou de baixa prioridade, o Batch cria um grupo de segurança de rede (NSG), um endereço IP público e um balanceador de carga. Estes recursos estão limitados pelas quotas de recursos da subscrição. Para grandes grupos, pode ser necessário pedir um aumento de quota para um ou mais destes recursos.

Grupos de segurança de rede para pools de configuração de máquinas virtuais: padrão por lote

O Batch cria um grupo de segurança de rede (NSG) ao nível da interface de rede de cada implementação do Virtual Machine Scale Set dentro de um pool Batch. Para os conjuntos que não têm endereços IP públicos em simplified comunicação entre nós de computação, não são criados NSGs.

Para proporcionar a comunicação necessária entre nós de computação e o serviço Batch, estes NSGs são configurados de forma a que:

  • Tráfego TCP de entrada nas portas 29876 e 29877 provenientes de endereços IP de serviço Batch que correspondem ao BatchNodeManagement. Etiqueta de serviço regional . Esta regra só é criada em classic modo de comunicação em pool.
  • Encaminhe todo o tráfego de saída na porta 443 para os endereços IP do serviço Batch que correspondem à etiqueta de serviço BatchNodeManagement.region.
  • Tráfego de saída em qualquer porta para a rede virtual. Esta regra pode ser alterada de acordo com as regras NSG ao nível da subrede.
  • Tráfego de saída em qualquer porta para a Internet. Esta regra pode ser alterada de acordo com as regras NSG ao nível da subrede.

Nota

Para pools criados usando uma versão da API anterior a 2024-07-01, o tráfego TCP de entrada na porta 22 (nós Linux) ou porta 3389 (nós Windows) está configurado para permitir acesso remoto via SSH ou RDP nas portas predefinidas.

Importante

Tenha cuidado se modificar ou adicionar regras de entrada ou saída em NSGs configurados por lote. Se a comunicação para os nós de computação na sub-rede especificada for negada por um NSG, o serviço Batch define o estado dos nós de computação como inutilizável. Além disso, não devem ser aplicados bloqueios de recursos a qualquer recurso criado pelo Batch, pois isso pode impedir a limpeza dos recursos devido a ações iniciadas pelo utilizador, como a eliminação de um pool.

Grupos de segurança de rede para pools de configuração de máquinas virtuais: Especificação de regras ao nível da sub-rede

Se tiver um NSG associado à sub-rede para nós de processamento em lote, deve configurar este NSG com pelo menos as regras de segurança de entrada e saída que são apresentadas nas tabelas seguintes.

Aviso

Os endereços IP dos serviços em lote podem mudar ao longo do tempo. Por conseguinte, deve utilizar a etiqueta de serviço BatchNodeManagement.region para as regras de NSG indicadas nas tabelas seguintes. Evite preencher as regras NSG com endereços IP específicos do serviço Batch.

Regras de segurança de entrada

Etiqueta de Serviço de Origem ou Endereços IP Portos de destino Protocolo Modo de Comunicação em Pool Obrigatório
BatchNodeManagement. Etiqueta de Serviço Regional 29876-29877 TCP Clássico Yes
Endereços IP de origem para aceder remotamente a nós de computação 3389 (Windows), 22 (Linux) TCP Clássico ou Simplificado No

Configure o tráfego de entrada na porta 3389 (Windows) ou 22 (Linux) apenas se precisar de permitir o acesso remoto aos nós de computação a partir de origens externas através das portas RDP ou SSH predefinidas, respetivamente. Poderá ser necessário permitir tráfego SSH em Linux se necessitar de suporte para tarefas multi-instância com determinados ambientes de execução da Interface de Passagem de Mensagens (MPI) na sub-rede que contém os nós de computação do Batch, uma vez que o tráfego pode ser bloqueado pelas regras do NSG ao nível da sub-rede. O tráfego MPI ocorre tipicamente em espaço de endereçamento IP privado, mas pode variar entre implementações de MPI e a configuração do ambiente de execução. Permitir tráfego nestas portas não é estritamente obrigatório para que os nós de computação do pool sejam utilizáveis. Também pode desativar o acesso remoto por defeito nestas portas configurando endpoints do pool.

Regras de segurança de saída

Etiqueta de Serviço de Destino Portos de destino Protocolo Modo de Comunicação em Pool Obrigatório
BatchNodeManagement. Etiqueta de Serviço Regional 443 * Simplificado Yes
Armazenamento. Etiqueta de Serviço Regional 443 TCP Clássico Yes

Saída para BatchNodeManagement. a etiqueta de serviço regional é necessária no classic modo de comunicação em pool se estiver a usar tarefas do Gestor de Tarefas ou se as suas tarefas tiverem de comunicar de volta ao serviço Batch. Para o tráfego de saída para BatchNodeManagement.região no modo de comunicação do conjunto simplified, o serviço Batch utiliza atualmente apenas o protocolo TCP, mas poderá ser necessário o UDP para compatibilidade futura. Para pools sem endereços IP públicos que utilizam o modo de comunicação simplified e com um ponto final privado para gestão de nós, não é necessário qualquer NSG. Para mais informações sobre as regras de segurança de saída para a etiqueta de serviço BatchNodeManagement.region, consulte Utilizar comunicação simplificada do nó de computação.

Crie um pool com uma Rede Virtual no portal do Azure

Depois de criares a tua Rede Virtual e lhe atribuíres uma sub-rede, podes criar um pool Batch com essa Rede Virtual. Siga estes passos para criar um pool a partir do portal Azure:

  1. Pesquise e selecione Contas Batch na barra de pesquisa na parte superior do portal do Azure. Selecione sua conta Batch. Esta conta deve estar na mesma subscrição e região do grupo de recursos que contém a Rede Virtual que pretende utilizar.

  2. Selecione Pools na navegação à esquerda.

  3. Na janela de Pools , selecione Adicionar.

    Captura de ecrã da página Pools numa conta do Batch, que destaca a opção Pools na navegação do lado esquerdo e o botão Adicionar na página Pools.

  4. Na página Adicionar Pool , selecione as opções e introduza a informação do seu pool. Para mais informações sobre como criar pools para a sua conta Batch, consulte Criar um pool de nós de computação. Tamanho do nó, nós dedicados ao Target, e Spot Target/nós de baixa prioridade, e quaisquer definições opcionais desejadas.

  5. No Rede Virtual, selecione a virtual network e a subnet que deseja utilizar.

  6. Selecione OK para criar a sua piscina.

Importante

Se tentares eliminar uma sub-rede que está a ser usada por um pool, recebes uma mensagem de erro. Todos os pools que usam uma sub-rede têm de ser eliminados antes de eliminares essa sub-rede.

Rotas definidas pelo utilizador para tunelamento forçado

Pode haver requisitos na sua organização para redirecionar (forçar) o tráfego ligado à internet da sub-rede de volta para o local local para inspeção e registo. Além disso, pode ter ativado o tunelamento forçado para as sub-redes da sua Rede Virtual.

Para garantir que os nós do seu pool funcionam numa Rede Virtual com tunelamento forçado ativado, deve adicionar as seguintes rotas definidas pelo utilizador (UDR) para essa subrede.

Para conjuntos do modo de comunicação clássico:

  • O serviço Batch precisa de comunicar com os nós para agendar tarefas. Para permitir esta comunicação, adicione um UDR correspondente à BatchNodeManagement.regiãoetiqueta de serviço na região onde a sua conta Batch se encontra. Define o tipo de próximo salto para Internet.

  • Certifique-se de que a sua rede local não está a bloquear o tráfego TCP de saída para o Armazenamento do Azure na porta de destino 443 (especificamente, URLs dos formulários *.table.core.windows.net, *.queue.core.windows.net, e *.blob.core.windows.net).

Para pools no modo de comunicação simplificado sem utilizar o endpoint privado para gestão de nós:

  • Certifique-se de que a sua rede local não está a bloquear o tráfego TCP/UDP de saída para o Azure Batch BatchNodeManagement.Etiqueta de Serviço Regional na porta de destino 443. Atualmente, apenas o protocolo TCP é utilizado, mas o UDP pode ser necessário para compatibilidade futura.

Para todas as piscinas:

  • Se usar montagens de ficheiros virtuais, reveja os requisitos de rede e certifique-se de que nenhum tráfego necessário é bloqueado.

Aviso

Os endereços IP dos serviços em lote podem mudar ao longo do tempo. Para evitar interrupções devido a alterações de endereços IP de serviço em lote, não especifique diretamente endereços IP. Em vez disso, use o BatchNodeManagement. Etiqueta de serviço regional.

Passos seguintes