Criar um pool de lotes do Azure com endereços IP públicos especificados

No Lote do Azure, você pode criar um pool de lotes em uma sub-rede de uma rede virtual (VNet) do Azure. As máquinas virtuais (VMs) no pool de lotes são acessíveis por meio de endereços IP públicos criados pelo lote. Esses endereços IP públicos podem mudar ao longo da vida útil do pool. Se os endereços IP não forem atualizados, as configurações de rede podem ficar desatualizadas.

Em vez disso, você pode criar uma lista de endereços IP públicos estáticos para usar com as VMs em seu pool. Em alguns casos, talvez seja necessário controlar a lista de endereços IP públicos para garantir que eles não sejam alterados inesperadamente. Por exemplo, você pode estar trabalhando com um serviço externo, como um banco de dados, que restringe o acesso a endereços IP específicos.

Para obter informações sobre como criar pools sem endereços IP públicos, leia Criar um pool de lotes do Azure sem endereços IP públicos.

Pré-requisitos

Nota

O lote aloca automaticamente recursos de rede adicionais no grupo de recursos que contém os endereços IP públicos. Para cada 100 nós dedicados, o Batch geralmente aloca um NSG (grupo de segurança de rede) e um balanceador de carga. Estes recursos estão limitados pelas quotas de recursos da subscrição. Ao usar pools maiores, talvez seja necessário solicitar um aumento de cota para um ou mais desses recursos.

Requisitos de endereço IP público

Crie um ou mais endereços IP públicos através de um destes métodos:

Certifique-se de que os seus endereços IP públicos cumprem os seguintes requisitos:

  • Crie os endereços IP públicos na mesma assinatura e região que a conta do pool de lotes.
  • Defina a atribuição de endereço IP como Estático.
  • Defina o SKU como Padrão.
  • Especifique um nome DNS.
  • Certifique-se de que nenhum outro recurso use esses endereços IP públicos, ou o pool pode enfrentar falhas de alocação. Use apenas esses endereços IP públicos para os pools de configuração de VM.
  • Certifique-se de que nenhuma política de segurança ou bloqueio de recursos restrinja o acesso do usuário ao endereço IP público.
  • Crie endereços IP públicos suficientes para o pool acomodar o número de VMs de destino.
    • Esse número deve ser igual pelo menos à soma das propriedades targetDedicatedNodes e targetLowPriorityNodes do pool.
    • Se você não criar endereços IP suficientes, o pool alocará parcialmente os nós de computação e ocorrerá um erro de redimensionamento.
    • Atualmente, o Batch usa um endereço IP público para cada 100 VMs.
  • Crie também um buffer de endereços IP públicos. Um buffer ajuda o Batch com otimização interna para redução de escala. Um buffer também permite um aumento de escala mais rápido após um aumento ou redução de escala malsucedido. Recomendamos adicionar uma das seguintes quantidades de endereços IP de buffer; escolha o número que for maior.
    • Adicione pelo menos mais um endereço IP.
    • Ou adicione aproximadamente 10% do número total de endereços IP públicos no pool.

Importante

Depois de criar o pool de lotes, não é possível adicionar ou alterar sua lista de endereços IP públicos. Se você quiser alterar a lista, você tem que excluir e recriar o pool.

Criar um pool de lotes com endereços IP públicos

O exemplo a seguir mostra como criar um pool por meio da API REST do Serviço de Lote do Azure que usa endereços IP públicos.

URI DA API REST:

POST {batchURL}/pools?api-version=2020-03-01.11.0
client-request-id: 00000000-0000-0000-0000-000000000000

Corpo do pedido:

"pool": {
      "id": "pool2",
      "vmSize": "standard_a1",
      "virtualMachineConfiguration": {
        "imageReference": {
          "publisher": "Canonical",
          "offer": "UbuntuServer",
          "sku": "20.04-LTS"
        },
        "nodeAgentSKUId": "batch.node.ubuntu 20.04"
      },
"networkConfiguration": {
          "subnetId": "/subscriptions/<subId>/resourceGroups/<rgId>/providers/Microsoft.Network/virtualNetworks/<vNetId>/subnets/<subnetId>",
          "publicIPAddressConfiguration": {
            "provision": "usermanaged",
            "ipAddressIds": [
              "/subscriptions/<subId>/resourceGroups/<rgId>/providers/Microsoft.Network/publicIPAddresses/<publicIpId>"
          ]
        },

       "resizeTimeout":"PT15M",
      "targetDedicatedNodes":5,
      "targetLowPriorityNodes":0,
      "taskSlotsPerNode":3,
      "taskSchedulingPolicy": {
        "nodeFillType":"spread"
      },
      "enableAutoScale":false,
      "enableInterNodeCommunication":true,
      "metadata": [ {
        "name":"myproperty",
        "value":"myvalue"
      } ]
    }

Próximos passos