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

Observação

Isso substitui a versão prévia anterior do pool do Lote do Azure sem endereços IP públicos. Essa nova versão requer o uso de comunicação simplificada do nó de computação.

Importante

O suporte a pools sem endereços IP públicos no Lote do Azure está disponível em regiões selecionadas.

Ao criar um pool do Lote do Azure, você pode provisionar o pool de configuração de VM (máquina virtual) sem um endereço IP público. Este artigo explica como configurar um pool do lote sem endereços IP públicos.

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

Por padrão, todos os nós de computação em um pool de configuração de VM do Lote do Azure recebem um endereço IP público. Esse endereço é usado pelo serviço Lote para dar suporte ao acesso de saída à Internet, bem como acesso de entrada a nós de computação da Internet.

Para restringir o acesso a esses nós e reduzir a capacidade de descoberta desses nós por meio da Internet, você pode provisionar o pool sem endereços IP públicos.

Pré-requisitos

Importante

Os pré-requisitos foram alterados em relação à versão prévia anterior desse recurso. Examine as alterações em cada item antes de prosseguir.

  • Usar comunicação simplificada do nó de computação. Para saber mais, confira Usar comunicação simplificada do nó de computação.

  • A API do cliente do Lote deve usar a autenticação do Microsoft Entra. O suporte ao Lote do Azure da ID do Microsoft Entra está documentado em Autenticar as soluções de serviço do Lote com o Active Directory.

  • Crie seu pool em uma VNet (rede virtual) do Azure e siga estes requisitos e configurações. 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 interface de linha de comando do Azure (CLI do Azure) ou outros métodos.

    • A VNet deve estar na mesma assinatura e região da conta do Lote 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, ou seja, a soma das 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ê planeja usar o ponto de extremidade privado e sua rede virtual tem a política de rede do ponto de extremidade privado habilitada, verifique se a conexão de entrada com TCP/443 com a sub-rede que hospeda o ponto de extremidade privado deve ser permitida na sub-rede do pool do Lote.

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

    • Use o ponto de extremidade privado nodeManagement com as contas do Lote, o que fornece acesso privado ao serviço de gerenciamento de nós do Lote na rede virtual. Essa solução é o método preferencial.

    • Ou forneça seu próprio suporte de acesso de saída à Internet (confira Acesso de saída à Internet).

Importante

Há dois sub-recursos para pontos de extremidade privados com as contas do Lote. Use o ponto de extremidade privado nodeManagement para o pool do Lote, sem endereços IP públicos. Para obter mais detalhes, confira Usar pontos de extremidade privados com contas Lote do Azure.

Limitações atuais

  1. Os pools sem endereços IP públicos devem usar a Configuração de Máquina Virtual e não a Configuração de Serviços de Nuvem.
  2. A configuração do ponto de extremidade personalizado para nós de computação do 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 tarefas no Lote não é suportado. A solução alternativa é utilizar um pool do Lote 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 a conta do Lote na rede virtual (confira o requisito de acesso de saída em Pré-requisitos).
  2. Navegue até sua conta do Lote no portal do Azure.
  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ê deseja usar na lista suspensa Tipo de imagem.
  6. Selecione o Editor/Oferta/SKU da sua imagem.
  7. Especifique o restante das configurações necessárias, incluindo o Tamanho do nó, os Nós dedicados de destino e os Nós spot/de baixa prioridade de destino.
  8. Em Modo de comunicação do nó, selecione Simplificado em Configurações Opcionais.
  9. Selecione a rede virtual e a sub-rede que você deseja usar. Essa rede virtual deve estar no mesmo local que o 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.

Usar a API REST do Lote para criar um pool sem endereços IP públicos

O exemplo a seguir mostra como usar a API REST de 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 da solicitação

"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 um modelo do ARM

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

Os seguintes recursos serão implantados pelo modelo:

  • Lote da conta do Azure com firewall de IP configurado para bloquear o acesso da rede pública ao ponto de extremidade de gerenciamento de 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ó do Lote da conta
  • Integração DNS para o ponto de extremidade privado usando a 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 do 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.

Observação

Se a implantação do ponto de extremidade privado falhou devido ao groupId "nodeManagement" inválido, verifique se a região está na lista com suporte 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 a configuração de rede adequadamente, como usando NAT de rede virtual. A NAT permite apenas o acesso de saída à Internet das máquinas virtuais na rede virtual. Os nós de computação criados em lote não poderão ser acessados publicamente, pois não têm endereços IP públicos associados.

Outra maneira de fornecer conectividade de saída é usar uma UDR (rota definida pelo usuário). Esse método permite rotear o tráfego para uma máquina proxy que tenha acesso público à Internet, por exemplo, 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ó simplificado sem endereços IP públicos. Como os nós de computação no pool não estão associados 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 (confira o comunicado oficial). Portanto, se suas cargas de trabalho exigirem acesso de saída da Internet ou se o seu pool não usar o ponto de extremidade privado para acessar o ponto de extremidade de gerenciamento de nós do Lote, você deverá fornecer sua própria solução para habilitar o acesso de saída da Internet.

Solução de problemas

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

Se os nós de computação forem executados em estado inutilizável em um pool do Lote, sem endereços IP públicos, a primeira e mais importante ação é verificar o acesso de saída ao serviço de gerenciamento de nós do Lote. Ele deve ser configurado corretamente para que os nós de computação possam se conectar ao serviço na 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 de sua conta do Lote:

  • Verifique se o ponto de extremidade privado foi criado na rede virtual certa, com o estado de provisionamento Êxito e também com o status Aprovado.
  • Verifique se a configuração de DNS foi definida corretamente para o ponto de extremidade de gerenciamento de nós da conta do Lote:
    • Se o ponto de extremidade privado for criado com a integração automática da zona DNS privada, verifique se o registro DNS A está configurado corretamente na zona DNS privada privatelink.batch.azure.com e se a zona está vinculada à sua rede virtual.
    • Se você estiver usando sua solução DNS, verifique se o registro DNS do ponto de extremidade de gerenciamento de nó do Lote está configurado corretamente e aponte para o endereço IP do ponto de extremidade privado.
  • Verifique a resolução DNS do Ponto de extremidade de gerenciamento de nó do Lote em sua conta. Você pode confirmar isso executando nslookup <nodeManagementEndpoint> na rede virtual e o nome DNS deve ser resolvido para o endereço IP do ponto de extremidade privado.
  • Se a rede virtual tiver a política de rede de ponto de extremidade privado habilitada, verifique o NSG e o UDR para obter as sub-redes do pool do Lote e do ponto de extremidade privado. A conexão de entrada com TCP/443 com a sub-rede que hospeda o ponto de extremidade privado deve ser permitida na sub-rede do pool do Lote.
  • Na sub-rede do pool do Lote, execute o ping TCP para o ponto de extremidade de gerenciamento de nó usando a porta HTTPS padrão (443). Essa investigação pode determinar 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 atingido), normalmente é um problema com a conexão de link privado e você pode gerar um tíquete de suporte do Azure com esse recurso de ponto de extremidade privado. Caso contrário, esse problema de nó inutilizável pode ser solucionado como pools do Lote normais e você pode gerar um tíquete de suporte com a conta do Lote.

Usando sua solução de saída da Internet

Se estiver usando sua solução de saída da Internet em vez de um ponto de extremidade privado, execute o ping TCP para o ponto de extremidade de gerenciamento de nós. Se isso 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 à Internet para nós de computação no pool do Lote, sem endereços IP públicos. Para acessar os nós de computação para depuração, você precisará se conectar na rede virtual:

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

Você pode acompanhar a guia Conectar-se aos nós de computação, para obter a credencial do usuário e o endereço IP do nó de computação de destino no pool do Lote.

Migração da versão prévia anterior de pools Sem IP Público

Para pools existentes que usam a versão prévia anterior do Lote do Azure sem pool de IP público, só é possível migrar pools criados em uma rede virtual.

  1. Crie um ponto de extremidade privado para o gerenciamento de nós do Lote na rede virtual.
  2. Atualize o modo de comunicação do nó do pool para simplificado.
  3. Reduza o número de nós do pool para zero.
  4. Escalar horizontalmente o pool novamente. Em seguida, o pool é migrado automaticamente para a nova versão.

Próximas etapas