Criar um conjunto de comunicação de nós simplificado sem endereços IP públicos

Nota

Isso substitui a versão de visualização anterior do pool de lotes do Azure sem endereços IP públicos. Esta nova versão exige a utilização da comunicação simplificada de nós de computação.

Importante

O suporte para conjuntos sem endereços IP públicos no Azure Batch está atualmente disponível para regiões selecionadas.

Quando cria um conjunto do Azure Batch, pode aprovisionar o conjunto de configuração da máquina virtual (VM) sem um endereço IP público. Este artigo explica como configurar um conjunto sem endereços IP públicos no Batch.

Por que usar um pool sem endereços IP públicos?

Por predefinição, todos os nós de computação num conjunto de configuração de VM do Azure Batch são atribuídos a um endereço IP público. Esse endereço é usado pelo serviço Batch para dar suporte ao acesso de saída à Internet, bem como ao acesso de entrada a nós de computação da Internet.

Para restringir o acesso a estes nós e reduzir a deteção dos mesmos a partir da Internet, pode aprovisionar o conjunto sem endereços IP públicos.

Pré-requisitos

Importante

Os pré-requisitos foram alterados em relação à versão de visualização anterior deste recurso. Certifique-se de revisar cada item para alterações antes de continuar.

  • Use a comunicação simplificada do nó de computação. Para obter mais informações, consulte Usar comunicação simplificada de nó de computação.

  • A API do cliente Batch deve usar a autenticação do Microsoft Entra. O suporte do Azure Batch para Microsoft Entra ID está documentado em soluções de serviço Authenticate Batch com Ative Directory.

  • Crie seu pool em uma rede virtual do Azure (VNet), siga estes requisitos e configurações. Para preparar uma VNet com uma ou mais sub-redes com antecedência, você pode usar o portal do Azure, o Azure PowerShell, a Interface de Linha de Comando do Azure (CLI do Azure) ou outros métodos.

    • A VNet tem de estar na mesma subscrição e região da conta do Batch utilizada para criar o conjunto.

    • A sub-rede especificada para o conjunto deve ter endereços IP não atribuídos suficientes para acomodar o número de VMs direcionadas para o conjunto; ou seja, a soma de propriedades targetDedicatedNodes e targetLowPriorityNodes do conjunto. Se a sub-rede não tiver endereços IP não atribuídos suficientes, o conjunto atribui parcialmente os nós de computação e ocorre um erro de redimensionamento.

    • Se você planeja usar o ponto de extremidade privado e sua rede virtual tem a política de rede de ponto de extremidade privado habilitada, verifique se a conexão de entrada com TCP/443 para a sub-rede que hospeda o ponto de extremidade privado deve ser permitida a partir da sub-rede do pool de lotes.

  • Habilite o acesso de saída para o gerenciamento de nós em lote. Um pool sem endereços IP públicos não tem acesso de saída à Internet habilitado por padrão. Escolha uma das seguintes opções para permitir que os nós de computação acessem o serviço de gerenciamento de nó em lote (consulte Usar comunicação simplificada do nó de computação):

    • Use o ponto de extremidade privado nodeManagement com contas em lote, que fornece acesso privado ao serviço de gerenciamento de nó em lote a partir da rede virtual. Esta solução é o método preferido.

    • Em alternativa, forneça o seu próprio suporte de acesso de saída à Internet (consulte Acesso de saída à Internet).

Importante

Há dois subrecursos para pontos de extremidade privados com contas em lote. Use o ponto de extremidade privado nodeManagement para o pool de lotes sem endereços IP públicos. Para obter mais detalhes, verifique Usar pontos de extremidade privados com contas do Azure Batch.

Limitações atuais

  1. Os pools sem endereços IP públicos devem usar a Configuração da Máquina Virtual e não a Configuração dos Serviços de Nuvem.
  2. A configuração de ponto de extremidade personalizada para nós de computação em lote não funciona com pools sem endereços IP públicos.
  3. Como não há endereços IP públicos, você não pode usar seus próprios endereços IP públicos especificados com esse tipo de pool.
  4. O token de autenticação de tarefa para a tarefa em lote não é suportado. A solução alternativa é usar o pool de lotes com identidades gerenciadas.

Criar um pool sem endereços IP públicos no portal do Azure

  1. Se necessário, crie um ponto de extremidade privado nodeManagement para sua conta Batch na rede virtual (consulte o requisito de acesso de saída em pré-requisitos).
  2. No portal do Azure, navegue para a sua conta do Batch.
  3. Na janela Configurações à esquerda, selecione Pools.
  4. Na janela Pools, selecione Adicionar.
  5. Na janela Adicionar Pool, selecione a opção que você pretende usar na lista suspensa Tipo de imagem.
  6. Selecione o Editor/Oferta/Sku correto da sua imagem.
  7. Especifique as configurações necessárias restantes, incluindo o tamanho do nó, os nós dedicados de destino e os nós de ponto de destino/baixa prioridade.
  8. Para o modo de comunicação do nó, selecione Simplificado em Configurações opcionais.
  9. Selecione uma rede virtual e uma sub-rede que deseja usar. Essa rede virtual deve estar no mesmo local do pool que você está criando.
  10. Em Tipo de provisionamento de endereço IP, selecione NoPublicIPAddresses.

A captura de tela a seguir mostra os elementos que precisam ser modificados para criar um pool sem endereços IP públicos.

Screenshot of the Add pool screen with NoPublicIPAddresses selected.

Use a API REST em lote para criar um pool sem endereços IP públicos

O exemplo a seguir mostra como usar a API REST do serviço de lote para criar um pool que usa endereços IP públicos.

URI da API REST

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

Corpo do pedido

"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"
}

Criar um pool sem endereços IP públicos usando o modelo ARM

Você pode usar este Modelo de Início Rápido do Azure para criar um pool sem endereços IP públicos usando o modelo ARM (Azure Resource Manager).

Os seguintes recursos serão implantados pelo modelo:

  • Conta do Azure Batch com firewall IP configurado para bloquear o acesso da rede pública ao ponto de extremidade de gerenciamento do nó do lote
  • Rede virtual com grupo de segurança de rede para bloquear o acesso de saída à Internet
  • Ponto de extremidade privado para acessar o ponto de extremidade de gerenciamento de nó em lote da conta
  • Integração de DNS para o ponto de extremidade privado usando zona DNS privada vinculada à rede virtual
  • Pool de lotes implantado na rede virtual e sem endereços IP públicos

Se você estiver familiarizado com o uso de modelos ARM, selecione o botão Implantar no Azure . O modelo será aberto no portal do Azure.

Button to deploy the Resource Manager template to Azure.

Nota

Se a implantação do ponto de extremidade privado falhou devido a groupId "nodeManagement" inválido, verifique se a região está na lista suportada para comunicação de nó de computação simplificada. Escolha a região certa e tente novamente a implantação.

Acesso de saída à Internet

Em um pool sem endereços IP públicos, suas máquinas virtuais não poderão acessar a Internet pública, a menos que você configure sua configuração de rede adequadamente, como usando AT de rede virtual. O NAT só permite o acesso de saída à Internet a partir das máquinas virtuais na rede virtual. Os nós de computação criados em lote não serão acessíveis publicamente, uma vez que não têm endereços IP públicos associados.

Outra maneira de fornecer conectividade de saída é usar uma rota definida pelo usuário (UDR). Esse método permite rotear o tráfego para uma máquina proxy que tenha acesso público à Internet, por exemplo , o Firewall do Azure.

Importante

Não há nenhum recurso de rede extra (balanceador de carga, grupo de segurança de rede) criado para pools de comunicação de nó simplificados sem endereços IP públicos. Como os nós de computação no pool não estão vinculados a nenhum balanceador de carga, o Azure pode fornecer Acesso de Saída Padrão. No entanto, o Acesso de Saída Padrão não é adequado para cargas de trabalho de produção e será desativado em 30 de setembro de 2025 (veja o anúncio oficial). Portanto, se suas cargas de trabalho exigirem acesso de saída pela Internet ou se seu pool não usar ponto de extremidade privado para acessar o ponto de extremidade de gerenciamento de nó em lote, você deverá fornecer sua própria solução para habilitar o acesso de saída pela Internet.

Resolução de Problemas

Nós de computação inutilizáveis em um pool de lotes

Se os nós de computação estiverem em estado inutilizável em um pool de lotes sem endereços IP públicos, a primeira e mais importante verificação será verificar o acesso de saída ao serviço de gerenciamento de nós em lote. Ele deve ser configurado corretamente para que os nós de computação possam se conectar ao serviço a partir de sua rede virtual.

Usando o ponto de extremidade privado nodeManagement

Se você criou um ponto de extremidade privado de gerenciamento de nós na rede virtual para sua conta Batch:

  • Verifique se o ponto de extremidade privado foi criado na rede virtual correta, no provisionamento do estado Êxito e também no status Aprovado .
  • Verifique se a configuração de DNS está configurada corretamente para o ponto de extremidade de gerenciamento de nó da sua conta Batch:
    • Se o seu ponto de extremidade privado for criado com integração automática de zona DNS privada, verifique se o registro DNS A está configurado corretamente na zona privatelink.batch.azure.comDNS privada e se a zona está vinculada à sua rede virtual.
    • Se estiver a utilizar a sua própria solução DNS, certifique-se de que o registo DNS do ponto de extremidade de gestão do nó em lote está configurado corretamente e aponte para o endereço IP do ponto de extremidade privado.
  • Verifique a resolução de DNS para o ponto de extremidade de gerenciamento de nó em lote da sua conta. Você pode confirmá-lo executando nslookup <nodeManagementEndpoint> de dentro de sua rede virtual, e o nome DNS deve ser resolvido para o endereço IP do ponto de extremidade privado.
  • Se sua rede virtual tiver a política de rede de ponto de extremidade privada habilitada, verifique NSG e UDR para sub-redes do pool de lotes e do ponto de extremidade privado. A conexão de entrada com TCP/443 para a sub-rede que hospeda o ponto de extremidade privado deve ser permitida a partir da sub-rede do pool de lotes.
  • Na sub-rede do pool de lotes, execute ping TCP no ponto de extremidade de gerenciamento do nó usando a porta HTTPS padrão (443). Esta sonda pode dizer se a conexão de link privado está funcionando conforme o esperado.
# Windows
Test-TcpConnection -ComputeName <nodeManagementEndpoint> -Port 443
# Linux
nc -v <nodeManagementEndpoint> 443

Se o ping TCP falhar (por exemplo, tempo limite expirado), normalmente é um problema com a conexão de link privado, e você pode aumentar o tíquete de suporte do Azure com esse recurso de ponto de extremidade privado. Caso contrário, esse problema inutilizável do nó pode ser solucionado como pools de lotes normais, e você pode aumentar o tíquete de suporte com sua conta de lote.

Usando sua própria solução de saída de internet

Se você estiver usando sua própria solução de saída da Internet em vez do ponto de extremidade privado, execute ping TCP no ponto de extremidade de gerenciamento de nó. Se não estiver funcionando, verifique se o acesso de saída está configurado corretamente seguindo os requisitos detalhados para comunicação simplificada do nó de computação.

Conectar-se a nós de computação

Não há acesso de entrada na Internet para nós de computação no pool de lotes sem endereços IP públicos. Para acessar seus nós de computação para depuração, você precisará se conectar de dentro da rede virtual:

  • Use a máquina jumpbox dentro da rede virtual e, em seguida, conecte-se aos seus nós de computação a partir daí.
  • Ou, tente usar outras soluções de conexão remota, como o Azure Bastion:
    • Crie Bastion na rede virtual com conexão baseada em IP habilitada.
    • Use Bastion para se conectar ao nó de computação usando seu endereço IP.

Você pode seguir o guia Conectar-se a nós de computação para obter a credencial do usuário e o endereço IP para o nó de computação de destino em seu pool de lotes.

Migração da versão de visualização anterior de No Public IP pools

Para pools existentes que usam a versão de visualização anterior do Azure Batch No Public IP pool, só é possível migrar pools criados em uma rede virtual.

  1. Crie um ponto de extremidade privado para o gerenciamento de nós em lote na rede virtual.
  2. Atualize o modo de comunicação do nó do pool para simplificado.
  3. Reduza o pool para zero nós.
  4. Dimensione o pool novamente. O pool é então migrado automaticamente para a nova versão.

Próximos passos