Criar um pool do Lote do Azure em uma rede virtual

Ao criar um pool do Lote do Azure, você pode provisionar o pool em uma sub-rede de uma Rede Virtual do Azure que você especificar. Este artigo explica como configurar um pool do Batch em uma rede virtual.

Por que usar uma Rede Virtual?

Os nós de computação de um pool podem se comunicar entre si a fim de executar tarefas de várias instâncias sem a necessidade de uma Rede Virtual. No entanto, por padrão, os nós em um pool não conseguem se comunicar com nenhuma máquina virtual (VM) que esteja fora do pool, como servidores de licença ou de arquivo.

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

Pré-requisitos

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

  • Uma Rede Virtual do Azure. Para preparar uma Rede Virtual com uma ou mais sub-redes com antecedência, você pode usar o portal do Azure, o Azure PowerShell, a CLI do Microsoft Azure (CLI) ou outros métodos.

    • Para criar uma Rede Virtual baseada no Azure Resource Manager, consulte Criar uma rede virtual. Uma Rede Virtual baseada no Resource Manager é recomendável para novas implantações e só tem suporte em pools que usam Configuração da Máquina Virtual.

    • Para criar uma Rede Virtual clássica, consulte Criar uma rede virtual (clássica) com várias sub-redes. Uma Rede Virtual clássica é compatível apenas com pools que usam a Configuração de Serviços de Nuvem.

      Importante

      Evite usar 172.17.0.0/16 para a VNet do pool do Lote do Azure. É o padrão para a rede de ponte do Docker e pode entrar em conflito com outras redes que você deseja conectar à VNet. Criar uma rede virtual para um pool do Lote do Azure exige um planejamento cuidadoso da infraestrutura de rede.

Requisitos gerais de rede virtual

  • A rede virtual deve estar na mesma assinatura e região da conta do Batch que você usa para criar o pool.

  • A sub-rede especificada para o pool deve ter endereços IP não atribuídos suficientes para acomodar o número de VMs direcionadas para o pool, o suficiente para acomodar as propriedades targetDedicatedNodes e targetLowPriorityNodes do pool. Se a sub-rede não tiver endereços IP não atribuídos suficientes, o pool alocará parcialmente os nós de computação e ocorrerá um erro de redimensionamento.

  • Se você não estiver usando a Comunicação simplificada do nó de computação, precisará resolver os pontos de extremidade do Armazenamento do Azure por eventuais servidores DNS personalizados que atendam à sua rede virtual. Especificamente, as URLs no formato <account>.table.core.windows.net, <account>.queue.core.windows.net, e <account>.blob.core.windows.net devem poder ser resolvidas.

  • Vários pools podem ser criados na mesma rede virtual ou na mesma sub-rede (desde que ela tenha espaço de endereço suficiente). Um único pool não pode existir entre várias redes virtuais ou sub-redes.

Importante

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

  • Uma rede virtual ou rede virtual emparelhada usada para pools do Lote não deve ter intervalos de endereços IP sobrepostos aos da rede definida por software ou roteamento nos nós de computação. Uma fonte comum de conflitos é o uso de um runtime de contêiner, como o Docker. O Docker cria uma ponte de rede padrão com um intervalo de sub-rede definido de 172.17.0.0/16. Todos os serviços executados em uma rede virtual nesse espaço de endereço IP padrão entrarão em conflito com os serviços no nó de computação, como o acesso remoto via SSH.

Conjuntos na configuração da máquina virtual

Requisitos:

  • Redes Virtuais com suporte: somente redes virtuais baseadas no Azure Resource Manager.
  • ID da sub-rede: ao especificar a sub-rede usando as APIs do Batch, use o identificador de recurso da sub-rede. O identificador da sub-rede está no formato:

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

  • Permissões: verifique se as políticas de segurança, os bloqueios na assinatura da Rede Virtual ou o grupo de recursos restringem permissões de um usuário para gerenciar a Rede Virtual.
  • Recursos de rede: o Batch cria automaticamente outros 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 Lote cria um NSG (grupo de segurança de rede), um endereço IP público e um balanceador de carga. Esses recursos são limitados pelas cotas de recursos da assinatura. Para pools grandes, talvez você precise solicitar um aumento de cota para um ou mais desses recursos.

Grupos de segurança de rede para pools de Configuração de Máquina Virtual: padrão do Lote

O Lote cria um NSG (grupo de segurança de rede) no nível da interface de rede de cada implantação do Conjunto de Dimensionamento de Máquinas Virtuais dentro de um pool do Lote. Para pools que não têm endereços IP públicos na comunicação do nó de computação simplified, os NSGs não são criados.

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

  • Tráfego TCP de entrada nas portas 29876 e 29877 dos endereços IP do serviço de Lote que correspondem ao BatchNodeManagement. a marca de serviço da região. Essa regra só é criada no modo de comunicação do pool classic.
  • Envie qualquer tráfego na porta 443 para endereços IP do serviço de Lote que correspondem ao BatchNodeManagement. a marca de serviço da região.
  • Tráfego de saída em qualquer porta para a rede virtual. Esta regra pode ser alterada de acordo com as regras de NSG no nível da sub-rede.
  • Tráfego de saída em qualquer porta com destino à Internet. Esta regra pode ser alterada de acordo com as regras de NSG no nível da sub-rede.

Observação

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

Importante

Tenha cuidado ao modificar ou adicionar regras de entrada ou de saída em NSGs configurados pelo Batch. Se a comunicação com os nós de computação na sub-rede especificada for negada por um NSG, o serviço lote definirá o estado dos nós de computação como inutilizável. Além disso, nenhum bloqueio de recurso deve ser aplicado a recursos criados pelo Lote, porque isso pode impedir a limpeza de recursos como resultado de ações iniciadas pelo usuário, como a exclusão de um pool.

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

Se você tiver um NSG associado à sub-rede dos nós de computação do Batch, deverá configurar esse NSG com, no mínimo, as regras de segurança de entrada e saída mostradas nas tabelas a seguir.

Aviso

Os endereços IP do serviço de lote podem mudar ao longo do tempo. Portanto, você deve usar a tag de serviço BatchNodeManagement.region nas regras de NSG indicadas nas tabelas a seguir. Evite preencher as regras de NSG com endereços IP específicos do serviço Batch.

Regras de segurança de entrada

Marca de serviço de origem ou endereços IP Portas de destino Protocolo Modo de Comunicação do Pool Obrigatório
BatchNodeManagement.regiãotag de serviço 29876-29877 TCP Clássico Sim
Endereços IP de origem para acessar remotamente nós de computação 3389 (Windows), 22 (Linux) TCP Clássico ou Simplificado Não

Configure o tráfego de entrada na porta 3389 (Windows) ou 22 (Linux) somente se precisar permitir acesso remoto aos nós de computação de fontes externas nas portas RDP ou SSH padrão, respectivamente. Talvez seja necessário permitir o tráfego SSH no Linux se você precisar de suporte para tarefas de várias instâncias com determinados tempos de execução da Interface de Passagem de Mensagens (MPI) na sub-rede que contém os nós de computação do Lote, pois o tráfego pode ser bloqueado por regras NSG no nível da sub-rede. O tráfego MPI normalmente ocorre em um espaço de endereço IP privado, mas pode variar entre os tempos de execução do MPI e a configuração do tempo de execução. Não é estritamente necessário permitir o tráfego nessas portas para que os nós de computação do pool sejam utilizáveis. Você também pode desabilitar o acesso remoto padrão nessas portas por meio da configuração de pontos de extremidade do pool.

Regras de segurança de saída

Marca de serviço de destino Portas de destino Protocolo Modo de Comunicação do Pool Obrigatório
BatchNodeManagement.regiãotag de serviço 443 * Simplificado Sim
Storage.regiãomarca de serviço 443 TCP Clássico Sim

A saída para o BatchNodeManagement. a marca de serviço da região é exigida no modo de comunicação do pool classic se você estiver usando tarefas do Gerenciador de Trabalhos ou se suas tarefas precisam se comunicar novamente com o serviço do Lote. Na saída de para o BatchNodeManagement. daregião no modo de comunicação do pool simplified, o serviço do Lote atualmente usa apenas o protocolo TCP, mas o UDP pode ser exigido para compatibilidade futura. Para pools sem endereços IP públicos que usam o modo de comunicação simplified e com um ponto de extremidade privado de gerenciamento de nós, um NSG não é necessário. Para obter mais informações sobre regras de segurança de saída para o BatchNodeManagement. a marca de serviço da região, confira Usar a comunicação simplificada de nó de computação.

Criar um pool com um Rede Virtual no portal do Azure

Depois de criar a Rede Virtual e atribuir uma sub-rede a ela, você poderá criar um pool do Batch usando essa Rede Virtual. Siga estas etapas para criar um pool no portal do Azure:

  1. Pesquise e selecione Contas do Batch na barra de pesquisa na parte superior do portal do Azure. Selecione sua conta do Batch. Esta conta deve estar na mesma assinatura e na mesma região que o grupo de recursos que contém a Rede Virtual que você deseja usar.

  2. Selecione Pools do painel de navegação esquerdo.

  3. Na janela Pools, selecione Adicionar.

    Captura de tela da página Pools em uma conta do Lote que destaca a opção Pools na navegação do lado esquerdo e adiciona o botão na página Pools.

  4. Na página Adicionar Pool, selecione as opções e insira as informações do pool. Para obter mais informações sobre como criar pools para sua conta do Batch, consulte Criar um pool de nós de computação. O Tamanho do nó, os Nós dedicados de destino e os Nós spot de destino/de baixa prioridade, bem como qualquer configuração opcional desejada.

  5. Em Rede virtual, selecione a rede virtual e a sub-rede que você deseja usar.

  6. Selecione OK para criar o pool.

Importante

Se você tentar excluir uma sub-rede que está sendo usada por um pool, receberá uma mensagem de erro. Todos os pools que usam uma sub-rede devem ser excluídos antes de excluir a sub-rede.

Rotas definidas pelo usuário para tunelamento forçado

Você pode ter requisitos na sua organização para redirecionar (forçar) o tráfego destinado à Internet proveniente da sub-rede de volta para o seu ambiente local (on-premises) para inspeção e registro. Além disso, você pode ter habilitado o tunelamento forçado nas sub-redes da sua Rede Virtual.

Para garantir que os nós no pool funcionem em uma Rede Virtual com túnel forçado habilitado, você deve adicionar as seguintes UDRs (rotas definidas pelo usuário) a essa sub-rede.

Para pools de modo de comunicação clássico:

  • O serviço Batch precisa se comunicar com os nós para agendar tarefas. Para habilitar essa comunicação, adicione uma UDR correspondente à tag de serviço BatchNodeManagement.region na região em que sua conta do Batch existe. Defina o tipo do próximo salto para Internet.

  • Confirme se a rede local não está bloqueando o tráfego TCP de saída no Armazenamento do Azure na porta de destino 443 (especificamente, as URLs da forma *.table.core.windows.net, *.queue.core.windows.net e *.blob.core.windows.net).

Para pools de modo de comunicação simplificado sem usar o ponto de extremidade privado de gerenciamento de nós:

  • Verifique se a rede local não está bloqueando o tráfego TCP/UDP de saída para o BatchNodeManagement. a marca de serviço da região do Lote do Azure na porta de destino 443. Atualmente, apenas o protocolo TCP é usado, mas o UDP pode ser exigido para compatibilidade futura.

Para todos os pools:

  • Se você usar montagens de arquivos virtuais, revise os requisitos de rede e verifique se nenhum tráfego necessário está bloqueado.

Aviso

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

Próximas etapas