Criar um MIG otimizado para IA com A4X

Neste documento, descrevemos como criar um grupo gerenciado de instâncias (MIG) que usa tipos de máquinas A4X. Para saber mais sobre esse tipo de máquina otimizado para aceleradores, consulte A4X.

Crie um MIG se quiser gerenciar várias máquinas virtuais (VMs) como uma única entidade. Para saber mais sobre MIGs, consulte Grupos gerenciados de instâncias na documentação do Compute Engine.

Para saber mais sobre outras maneiras de criar VMs ou clusters, consulte Visão geral das opções de implantação.

Limitações

Ao criar um MIG com VMs A4X, considere as limitações do tipo de máquina e do MIG.

Limitações para VMs A4X

As seguintes limitações específicas da máquina são aplicáveis:

Limitações para o MIG

Ao criar um MIG com VMs A4X, as seguintes limitações se aplicam:

  • Se você criar um MIG regional, ele só poderá criar VMs na zona que contém o perfil da rede VPC.

  • Não é possível configurar a flexibilidade de instância no MIG.

  • Se você aplicar uma política de carga de trabalho a um MIG, não será possível mudar a política no MIG quando o grupo tiver VMs. Para mudar a política em um MIG com VMs, primeiro é necessário redimensionar o MIG para zero.

  • Não é possível usar um modelo de instância que especifica uma política de posicionamento para criar um MIG que usa uma política de carga de trabalho.

  • É necessário usar o modelo de provisionamento vinculado à reserva. Outros modelos de provisionamento não são compatíveis.

  • Não é possível usar uma solicitação de redimensionamento para adicionar VMs ao MIG. É necessário definir o tamanho de destino do MIG para adicionar VMs.

Antes de começar

Antes de criar um MIG, se ainda não tiver feito isso, conclua as etapas a seguir:

  1. Escolha uma opção de consumo: a opção escolhida determina como você recebe e usa os recursos de GPU.

    Para saber mais, consulte Escolher uma opção de consumo.

  2. Obter capacidade: o processo para obter capacidade varia de acordo com cada opção de consumo.

    Para saber mais sobre o processo de obtenção de capacidade para a opção de consumo escolhida, consulte Visão geral da capacidade.

Funções exigidas

Para receber as permissões necessárias para criar um MIG, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (v1) (roles/compute.instanceAdmin.v1) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esse papel predefinido contém as permissões necessárias para criar um MIG. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para criar um MIG:

  • Para criar um MIG: compute.instanceGroupManagers.create no projeto

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Princípios básicos do A4X

Um cluster A4X é organizado em uma hierarquia de blocos e sub-blocos para facilitar o desempenho de rede em grande escala e sem bloqueios. Entender essa topologia é fundamental ao reservar capacidade e implantar cargas de trabalho.

Instância A4X
Uma instância A4X é um único tipo de máquina A4X com quatro GPUs anexadas.
Domínio ou sub-bloco NVLink
Um domínio NVLink, também chamado de subbloco, é a unidade fundamental da capacidade do A4X. Um domínio NVLink consiste em 18 instâncias A4X (72 GPUs) conectadas usando um sistema NVLink de vários nós. Você cria um domínio A4X NVLink ou um subbloco aplicando uma política de carga de trabalho que especifica uma topologia 1x72.
Bloquear
Um bloco A4X é composto de 25 sub-blocos (domínios NVLink), totalizando até 450 instâncias A4X (1.800 GPUs). Os sub-blocos são alinhados a trilhos para um escalonamento eficiente. Cada sub-bloco requer um MIG. Portanto, para um único bloco A4X, é possível criar 25 MIGs.

A tabela a seguir mostra as opções de topologia compatíveis para instâncias A4X:

Topologia (acceleratorTopology) Número de GPUs Número de instâncias
1x72 72 18

Visão geral

A criação de um MIG com o tipo de máquina A4X inclui as seguintes etapas:

  1. Criar redes VPC
  2. Criar uma política de carga de trabalho
  3. Criar um modelo de instância
  4. Criar um MIG

Criar redes VPC

Para configurar a rede para o tipo de máquina A4X, crie três redes VPC para as seguintes interfaces de rede:

  • Duas redes VPC regulares para as interfaces de rede (NIC) gVNIC Eles são usados para comunicação entre hosts.
  • 1 rede VPC com o perfil de rede RoCE é necessária para as NICs CX-7 ao criar vários subblocos A4X. A rede VPC RoCE precisa ter quatro sub-redes, uma para cada NIC CX-7. Essas NICs usam RDMA em Ethernet convergente (RoCE), fornecendo a comunicação de alta largura de banda e baixa latência essencial para escalonar para vários subblocos A4X. Para um único subbloco A4X, é possível pular essa rede VPC porque, em um único subbloco, a comunicação direta de GPU para GPU é processada pelo NVLink de vários nós.

Para mais informações sobre o arranjo de NICs, consulte Analisar a largura de banda da rede e o arranjo de NICs.

Crie as redes manualmente seguindo os guias de instruções ou automaticamente usando o script fornecido.

Guias de instruções

Crie as redes, suando as seguintes instruções:

Para essas redes VPC, recomendamos definir a unidade máxima de transmissão (MTU) para um valor maior. Para o tipo de máquina A4X, o MTU recomendado é de 8896 bytes. Para conferir as configurações de MTU recomendadas para outros tipos de máquina de GPU, consulte Configurações de MTU para tipos de máquina de GPU.

Script

Crie as redes, seguindo estas etapas.

Para essas redes VPC, recomendamos definir a unidade máxima de transmissão (MTU) para um valor maior. Para o tipo de máquina A4X, o MTU recomendado é de 8896 bytes. Para conferir as configurações de MTU recomendadas para outros tipos de máquina de GPU, consulte Configurações de MTU para tipos de máquina de GPU.

  1. Use o script a seguir para criar redes VPC regulares para as gVNICs.

      
        #!/bin/bash
    
        # Create regular VPC networks and subnets for the gVNICs
        for N in $(seq 0 1); do
          gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \
            --subnet-mode=custom \
            --mtu=8896
    
          gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --region=REGION \
            --range=192.168.$N.0/24
    
          gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \
            --network=GVNIC_NAME_PREFIX-net-$N \
            --action=ALLOW \
            --rules=tcp:0-65535,udp:0-65535,icmp \
            --source-ranges=192.168.0.0/16
        done
    
        # Create SSH firewall rules
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=tcp:22 \
          --source-ranges=IP_RANGE
    
        # Assumes that an external IP is only created for vNIC 0
        gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \
          --network=GVNIC_NAME_PREFIX-net-0 \
          --action=ALLOW \
          --rules=icmp \
          --source-ranges=IP_RANGE
    
      
  2. Se você precisar de vários subblocos A4X, use o script a seguir para criar a rede VPC RoCE e as sub-redes para as quatro NICs CX-7 em cada instância A4X.

      
        # List and make sure network profiles exist in the machine type's zone
        gcloud compute network-profiles list --filter "location.name=ZONE"
    
        # Create network for CX-7
        gcloud compute networks create RDMA_NAME_PREFIX-mrdma \
          --network-profile=ZONE-vpc-roce \
          --subnet-mode custom \
          --mtu=8896
    
        # Create subnets
        for N in $(seq 0 3); do
          gcloud compute networks subnets create RDMA_NAME_PREFIX-mrdma-sub-$N \
            --network=RDMA_NAME_PREFIX-mrdma \
            --region=REGION \
            --range=192.168.$((N+2)).0/24 & # offset to avoid overlap with gVNICs
        done
    
      

    Substitua:

    • GVNIC_NAME_PREFIX: o prefixo de nome personalizado a ser usado para as redes e sub-redes VPC regulares das gVNICs.
    • RDMA_NAME_PREFIX: o prefixo de nome personalizado a ser usado para a rede VPC e as sub-redes RoCE das NICs CX-7.
    • ZONE: especifique uma zona em que o tipo de máquina que você quer usar esteja disponível, como us-central1-a. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
    • REGION: a região em que você quer criar as sub-redes. Essa região precisa corresponder à zona especificada. Por exemplo, se a zona for us-central1-a, a região será us-central1.
    • IP_RANGE: o intervalo de IP a ser usado para as regras de firewall SSH.
  3. Opcional: para verificar se os recursos de rede VPC foram criados, confira as configurações de rede no console do Google Cloud :
    1. No console do Google Cloud , acesse a página Redes VPC.

      Acessar redes VPC

    2. Pesquise na lista as redes que você criou na etapa anterior.
    3. Para conferir as sub-redes, regras de firewall e outras configurações de rede, clique no nome da rede.

Criar uma política de carga de trabalho

Não é possível atualizar uma política de carga de trabalho depois de criá-la. Para fazer mudanças em uma política de carga de trabalho, crie uma nova.

Para criar uma política de carga de trabalho, selecione uma das seguintes opções:

gcloud

Para criar uma política de carga de trabalho, use o comando gcloud compute resource-policies create workload-policy.

Para a configuração de rede entre aceleradores, especifique a flag --accelerator-topology no comando.

Use o comando a seguir para o tipo de máquina A4X. A topologia do acelerador de 1x72 indica 72 GPUs conectadas por um NVLink em um bloco.

gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \
    --type=high-throughput \
    --accelerator-topology=1x72 \
    --region=REGION

Substitua:

  • WORKLOAD_POLICY_NAME: o nome da política de carga de trabalho.
  • REGION: a região em que você quer criar a política de carga de trabalho. Especifique uma região em que você quer criar o MIG e o tipo de máquina que você quer usar está disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.

REST

Para criar uma política de carga de trabalho, faça uma solicitação POST ao método resourcePolicies.insert.

Para a configuração de rede entre aceleradores, especifique o campo acceleratorTopology na solicitação.

Faça a seguinte solicitação para o tipo de máquina A4X. A topologia do acelerador 1x72 indica 72 GPUs conectadas por um NVLink em um bloco.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
  {
    "name": "WORKLOAD_POLICY_NAME"
    "workloadPolicy": {
      "type": "HIGH_THROUGHPUT",
      "acceleratorTopology": "1x72"
    }
  }

Substitua:

  • PROJECT_ID: ID do projeto;
  • REGION: a região em que você quer criar a política de carga de trabalho. Especifique uma região em que você quer criar o MIG e o tipo de máquina que você quer usar está disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
  • WORKLOAD_POLICY_NAME: o nome da política de carga de trabalho.

Criar um modelo de instância

Especifique as propriedades da VM para um MIG criando um modelo de instância.

Para criar um modelo de instância, selecione uma das seguintes opções.

Os comandos a seguir também definem o escopo de acesso para suas instâncias. Para simplificar o gerenciamento de permissões, o Google recomenda definir o escopo de acesso de uma instância como cloud-platform e usar papéis do IAM para definir a quais serviços a instância pode acessar. Para mais informações, consulte Práticas recomendadas de escopos.

gcloud

Para criar um modelo de instância regional, use o comando gcloud compute instance-templates create.

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=a4x-highgpu-4g \
    --image-family=IMAGE_FAMILY \
    --image-project=IMAGE_PROJECT \
    --instance-template-region=REGION \
    --boot-disk-type=hyperdisk-balanced \
    --boot-disk-size=DISK_SIZE \
    --scopes=cloud-platform \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-0,subnet=GVNIC_NAME_PREFIX-sub-0 \
    --network-interface=nic-type=GVNIC,network=GVNIC_NAME_PREFIX-net-1,subnet=GVNIC_NAME_PREFIX-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-0,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-1,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-2,no-address \
    --network-interface=nic-type=MRDMA,network=RDMA_NAME_PREFIX-mrdma,subnet=RDMA_NAME_PREFIX-mrdma-sub-3,no-address \
    --reservation-affinity=specific \
    --reservation=RESERVATION \
    --provisioning-model=RESERVATION_BOUND \
    --instance-termination-action=DELETE \
    --maintenance-policy=TERMINATE \
    --restart-on-failure

Substitua:

  • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
  • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.
  • IMAGE_PROJECT: o ID do projeto da imagem do SO.
  • REGION: a região em que você quer criar o modelo de instância. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
  • DISK_SIZE: o tamanho do disco de inicialização em GB.
  • GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam NICs gVNIC.
  • RDMA_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes da VPC que usam NICs RDMA.
  • RESERVATION: o nome da reserva, um bloco ou um subbloco dentro de uma reserva. Para conferir o nome da reserva ou os blocos disponíveis, consulte Visualizar a capacidade reservada. Com base nos seus requisitos de posicionamento de instâncias, escolha uma das seguintes opções:
    • Para criar as instâncias em qualquer bloco único:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
          
    • Para criar as instâncias em um bloco específico:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
          
    • Para criar as instâncias em um subbloco específico:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
          

REST

Para criar um modelo de instância regional, faça uma solicitação POST para o método regionInstanceTemplates.insert.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
  "name":"INSTANCE_TEMPLATE_NAME",
  "properties":{
    "machineType":"a4x-highgpu-4g",
    "disks":[
      {
        "boot":true,
        "initializeParams":{
          "diskSizeGb":"DISK_SIZE",
          "diskType":"hyperdisk-balanced",
          "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
        },
        "mode":"READ_WRITE",
        "type":"PERSISTENT"
      }
    ],
    "serviceAccounts": [
      {
        "email": "default",
        "scopes": [
          "https://www.googleapis.com/auth/cloud-platform"
        ]
      }
    ],
    "networkInterfaces": [
      {
        "accessConfigs": [
          {
            "name": "external-nat",
            "type": "ONE_TO_ONE_NAT"
          }
        ],
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-0",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/GVNIC_NAME_PREFIX-net-1",
        "nicType": "GVNIC",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/GVNIC_NAME_PREFIX-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-0"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-1"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-2"
      },
      {
        "network": "projects/NETWORK_PROJECT_ID/global/networks/RDMA_NAME_PREFIX-mrdma",
        "nicType": "MRDMA",
        "subnetwork": "projects/NETWORK_PROJECT_ID/region/REGION/subnetworks/RDMA_NAME_PREFIX-mrdma-sub-3"
      }
    ],
    "reservationAffinity":{
        "consumeReservationType":"SPECIFIC_RESERVATION",
        "key":"compute.googleapis.com/reservation-name",
        "values":[
          "RESERVATION"
        ]
      },
    "scheduling":{
        "provisioningModel":"RESERVATION_BOUND",
        "instanceTerminationAction":"DELETE",
        "onHostMaintenance": "TERMINATE",
        "automaticRestart":true
      }
  }
}

Substitua:

  • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.
  • IMAGE_FAMILY: a família de imagens da imagem do SO que você quer usar. Para uma lista de sistemas operacionais compatíveis, consulte Sistemas operacionais compatíveis.
  • IMAGE_PROJECT: o ID do projeto da imagem do SO.
  • REGION: a região em que você quer criar o modelo de instância. Especifique uma região em que o tipo de máquina que você quer usar esteja disponível. Para informações sobre regiões, consulte Disponibilidade de GPUs por regiões e zonas.
  • DISK_SIZE: o tamanho do disco de inicialização em GB.
  • NETWORK_PROJECT_ID: o ID do projeto da rede.
  • GVNIC_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes VPC padrão que usam NICs gVNIC.
  • REGION: a região da sub-rede.
  • RDMA_NAME_PREFIX: o prefixo de nome especificado ao criar as redes e sub-redes da VPC que usam NICs RDMA.
  • RESERVATION: o nome da reserva, um bloco ou um subbloco dentro de uma reserva. Para conferir o nome da reserva ou os blocos disponíveis, consulte Visualizar a capacidade reservada. Com base nos seus requisitos de posicionamento de instâncias, escolha uma das seguintes opções:
    • Para criar as instâncias em qualquer bloco único:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
          
    • Para criar as instâncias em um bloco específico:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
          
    • Para criar as instâncias em um subbloco específico:
          projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME/reservationSubBlocks/RESERVATION_SUBBLOCK_NAME
          

Criar um MIG

Ao usar um tipo de máquina A4X, é necessário criar um MIG especificando o tamanho de destino dele.

Para conseguir uma topologia de GPU de 1x72, crie um MIG com 18 instâncias. Ao criar o MIG, aplique a política de carga de trabalho que especifica o campo acceleratorTopology. A aplicação da política garante que o Compute Engine crie todas as 18 instâncias em um sub-bloco para usar um domínio NVLink.

Se um subbloco não tiver capacidade para todas as 18 instâncias, qualquer instância gerenciada que não puder ser criada imediatamente vai permanecer no estado CREATING até que a capacidade fique disponível. Essas instâncias gerenciadas representam as VMs que o MIG cria quando há capacidade.

Ao aplicar uma política de carga de trabalho com o campo acceleratorTopology definido como 1x72, não é possível criar mais de 18 instâncias em um MIG. Especificar mais de 18 instâncias faz com que a criação do MIG falhe. Para criar vários domínios NVLink, crie um MIG separado para cada domínio e aplique a mesma política de carga de trabalho a cada MIG.

Para criar um MIG, selecione uma das seguintes opções:

gcloud

Para criar um MIG com um tamanho de destino especificado, use o comando instance-groups managed create.

Crie um MIG zonal ou regional da seguinte maneira:

  • Para criar um MIG zonal, use o seguinte comando:
    gcloud compute instance-groups managed create MIG_NAME \
      --template=INSTANCE_TEMPLATE_URL \
      --size=TARGET_SIZE \
      --workload-policy=WORKLOAD_POLICY_URL \
      --zone=ZONE
    
  • Para criar um MIG regional, use o seguinte comando:
    gcloud compute instance-groups managed create MIG_NAME \
        --template=INSTANCE_TEMPLATE_URL \
        --size=TARGET_SIZE \
        --workload-policy=WORKLOAD_POLICY_URL \
        --region=REGION
    
Substitua:
  • MIG_NAME: o nome do MIG;
  • INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você quer usar para criar VMs no MIG. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:
    • Para um modelo de instância regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID.
    • Para um modelo de instância global: INSTANCE_TEMPLATE_ID
  • TARGET_SIZE: o número de VMs que você quer no MIG. Para a topologia do acelerador 1x72, defina o tamanho desejado como 18.
  • WORKLOAD_POLICY_URL: o URL da política de carga de trabalho. Por exemplo, projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy.
  • ZONE: a zona em que você quer criar o MIG. Especifique uma zona na região da política de carga de trabalho.
  • REGION: a região em que você quer criar a MIG. Especifique a mesma região da política de carga de trabalho. Para um MIG regional, em vez de uma região, é possível especificar as zonas dessa região usando a flag --zones.

REST

Para criar um MIG com um tamanho de destino especificado, faça uma solicitação POST.

Crie um MIG zonal ou regional da seguinte maneira:

  • Para criar um MIG zonal, faça uma solicitação POST para o método instanceGroupManagers.insert.
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers
    {
      "versions": [
        {
          "instanceTemplate": "INSTANCE_TEMPLATE_URL"
        }
      ],
      "name": "MIG_NAME",
      "instanceTemplate": "INSTANCE_TEMPLATE_URL",
      "targetSize": "TARGET_SIZE",
      "resourcePolicies": {
        "workloadPolicy": WORKLOAD_POLICY_URL
      }
    }
    
  • Para criar um MIG regional, faça uma solicitação POST para o método regionInstanceGroupManagers.insert.
      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers
      {
        "versions": [
          {
            "instanceTemplate": "INSTANCE_TEMPLATE_URL"
          }
        ],
        "name": "MIG_NAME",
        "instanceTemplate": "INSTANCE_TEMPLATE_URL",
        "targetSize": "TARGET_SIZE",
        "resourcePolicies": {
          "workloadPolicy": WORKLOAD_POLICY_URL
        }
      }
    
Substitua:
  • PROJECT_ID: o ID do projeto;
  • ZONE: a zona em que você quer criar o MIG. Especifique uma zona na região da política de carga de trabalho.
  • REGION: a região em que você quer criar o MIG. Especifique a mesma região da política de carga de trabalho.
  • INSTANCE_TEMPLATE_URL: o URL do modelo de instância que você quer usar para criar VMs no MIG. O URL pode conter o ID ou o nome do modelo de instância. Especifique um dos seguintes valores:
    • Para um modelo de instância regional: projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID.
    • Para um modelo de instância global: INSTANCE_TEMPLATE_ID
  • MIG_NAME: o nome do MIG;
  • TARGET_SIZE: o número de VMs que você quer no MIG. Para a topologia do acelerador 1x72, defina o tamanho de destino como 18.
  • WORKLOAD_POLICY_URL: o URL da política de carga de trabalho. Por exemplo, projects/example-project/regions/us-central1/resourcePolicies/example-workload-policy.

A seguir