Compartilhar via


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

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

Você pode criar uma lista de endereços IP públicos estáticos a serem usados 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 mudem 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 do Lote do Azure sem endereços IP públicos.

Pré-requisitos

Observação

Batch aloca automaticamente recursos adicionais de rede 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. Esses recursos são limitados pelas cotas de recursos da assinatura. 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 por meio de um destes métodos:

Verifique se seus endereços IP públicos atendem aos seguintes requisitos:

  • Crie os endereços IP públicos na mesma assinatura e região que a conta do pool do Lote.
  • Defina a atribuição de endereço IPcomo Estática.
  • Defina a SKU como Standard.
  • Especifique um nome DNS.
  • Verifique se nenhum outro recurso usa esses endereços IP públicos ou o pool pode apresentar falhas de alocação. Use apenas esses endereços IP públicos para os pools de configuração da VM.
  • Verifique se nenhuma política de segurança ou bloqueios de recursos restringem o acesso do usuário ao endereço IP público.
  • Crie endereços IP públicos suficientes para o pool para 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 a otimização interna para a redução de escala. Um buffer também permite dimensionamento mais rápido após uma expansão ou redução malsucedida. É recomendável adicionar uma das seguintes quantidades de endereços IP do buffer; escolha qualquer número 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 Batch, você não poderá adicionar ou alterar sua lista de endereços IP públicos. Se você quiser alterar a lista, será necessário excluir e recriar o pool.

Crie um pool do Batch 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 da solicitação:

"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óximas etapas