Reduzir a latência usando políticas de posicionamento compacto

Neste documento, explicamos como reduzir a latência de rede entre suas instâncias do Compute Engine criando e aplicando políticas de posicionamento compacto a elas. Para saber mais sobre políticas de posicionamento, incluindo as séries de máquinas, restrições e preços compatíveis, consulte Visão geral das políticas de posicionamento.

Uma política de posicionamento compacto especifica que as instâncias precisam ser colocadas fisicamente mais perto umas das outras. Isso pode ajudar a melhorar o desempenho e reduzir a latência de rede entre as instâncias quando, por exemplo, você executa cargas de trabalho de computação de alto desempenho (HPC), machine learning (ML) ou servidor de banco de dados.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Trusted Cloud by S3NS . Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine selecionando uma das seguintes opções:

    Select the tab for how you plan to use the samples on this page:

    gcloud

    1. Instale a CLI do Google Cloud e faça login na gcloud CLI com sua identidade federada. Depois de fazer login, inicialize a CLI do Google Cloud executando o seguinte comando:

      gcloud init
    2. Set a default region and zone.

    REST

    Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

      Instale a CLI do Google Cloud e faça login na gcloud CLI com sua identidade federada. Depois de fazer login, inicialize a CLI do Google Cloud executando o seguinte comando:

      gcloud init

    Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Trusted Cloud .

Funções exigidas

Para ter as permissões necessárias para criar e aplicar uma política de posicionamento compacto às instâncias de computação, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para criar e aplicar uma política de posicionamento compacto às instâncias de computação. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões a seguir são necessárias para criar e aplicar uma política de posicionamento compacto às instâncias de computação:

  • Para criar políticas de posicionamento: compute.resourcePolicies.create no projeto
  • Para aplicar uma política de posicionamento a instâncias atuais: compute.instances.addResourcePolicies no projeto
  • Para criar instâncias:
    • compute.instances.create no projeto
    • Para usar uma imagem personalizada para criar a VM: compute.images.useReadOnly na imagem
    • Usar um snapshot para criar a VM: compute.snapshots.useReadOnly no snapshot
    • Usar um modelo de instância para criar a VM: compute.instanceTemplates.useReadOnly no modelo de instância
    • Atribuir uma rede legada à VM: compute.networks.use no projeto
    • Especificar um endereço IP estático para a VM: compute.addresses.use no projeto
    • Atribuir um endereço IP externo à VM ao usar uma rede legada: compute.networks.useExternalIp no projeto
    • Especificar uma sub-rede para a VM: compute.subnetworks.use no projeto ou na sub-rede escolhida
    • Atribuir um endereço IP externo à VM ao usar uma rede VPC: compute.subnetworks.useExternalIp no projeto ou na sub-rede escolhida
    • Definir os metadados da instância de VM para a VM: compute.instances.setMetadata no projeto
    • Definir tags para a VM: compute.instances.setTags na VM
    • Definir rótulos para a VM: compute.instances.setLabels na VM
    • Definir uma conta de serviço para a VM usar: compute.instances.setServiceAccount na VM
    • Criar um disco para a VM: compute.disks.create no projeto
    • Anexar um disco atual no modo somente leitura ou de leitura e gravação: compute.disks.use no disco
    • Anexar um disco atual no modo somente leitura: compute.disks.useReadOnly no disco
  • Para criar uma reserva: compute.reservations.create no projeto
  • Para criar um modelo de instância: compute.instanceTemplates.create no projeto
  • Para criar um grupo gerenciado de instâncias (MIG): compute.instanceGroupManagers.create no projeto
  • Para conferir os detalhes de uma instância: compute.instances.get no projeto

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

Criar uma política de colocação de compactação

Antes de criar uma política de posicionamento compacto, considere o seguinte:

  • Se você quiser aplicar uma política de posicionamento compacto a uma instância de computação diferente de N2 ou N2D, recomendamos especificar um valor de distância máxima.

  • Só é possível aplicar políticas de posicionamento compacto a instâncias A4 ou A3 Ultra implantadas usando os recursos fornecidos pelo Cluster Director. Para mais informações, consulte Cluster Director na documentação do Hipercomputador de IA.

  • Por padrão, não é possível aplicar políticas de posicionamento compacto com um valor de distância máxima a instâncias A3 Mega, A3 High ou A3 Edge. Para solicitar acesso a esse recurso, entre em contato com o gerente técnico de contas (TAM) ou a equipe de vendas.

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

gcloud

  • Para aplicar a política de posicionamento compacto a instâncias N2 ou N2D, crie a política usando o comando gcloud compute resource-policies create group-placement com a flag --collocation=collocated.

    gcloud compute resource-policies create group-placement POLICY_NAME \
        --collocation=collocated \
        --region=REGION
    

    Substitua:

    • POLICY_NAME: o nome da política de posicionamento compacto.

    • REGION: a região em que a política de posicionamento será criada.

  • Para aplicar a política de posicionamento compacto a qualquer outra instância compatível, crie a política usando o comando gcloud beta compute resource-policies create group-placement com as flags --collocation=collocated e --max-distance.

    gcloud beta compute resource-policies create group-placement POLICY_NAME \
        --collocation=collocated \
        --max-distance=MAX_DISTANCE \
        --region=REGION
    

    Substitua:

    • POLICY_NAME: o nome da política de posicionamento compacto.

    • MAX_DISTANCE: a configuração da distância máxima para suas instâncias. O valor precisa estar entre 1, que especifica a colocação das instâncias no mesmo rack e ter a menor latência de rede possível, e 3, que especifica a colocação das instâncias em clusters adjacentes. Se você quiser aplicar a política de posicionamento compacto a uma reserva ou a uma instância A4 ou A3 Ultra, não será possível especificar um valor de 1.

    • REGION: a região em que a política de posicionamento será criada.

REST

  • Para aplicar a política de posicionamento compacto a instâncias N2 ou N2D, crie a política fazendo uma solicitação POST ao método resourcePolicies.insert. No corpo da solicitação, inclua o campo collocation e defina-o como COLLOCATED.

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
    
    {
      "name": "POLICY_NAME",
      "groupPlacementPolicy": {
        "collocation": "COLLOCATED"
      }
    }
    

    Substitua:

    • PROJECT_ID: o ID do projeto em que você quer criar a política de posicionamento.

    • REGION: a região em que a política de posicionamento será criada.

    • POLICY_NAME: o nome da política de posicionamento compacto.

  • Para aplicar a política de posicionamento compacto a qualquer outra instância compatível, crie a política fazendo uma solicitação POST para o método beta.resourcePolicies.insert. No corpo da solicitação, inclua o seguinte:

    • O campo collocation definido como COLLOCATED.

    • O campo maxDistance.

    POST https://compute.s3nsapis.fr/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies
    
    {
      "name": "POLICY_NAME",
      "groupPlacementPolicy": {
        "collocation": "COLLOCATED",
        "maxDistance": MAX_DISTANCE
      }
    }
    

    Substitua:

    • PROJECT_ID: o ID do projeto em que você quer criar a política de posicionamento.

    • REGION: a região em que a política de posicionamento será criada.

    • POLICY_NAME: o nome da política de posicionamento compacto.

    • MAX_DISTANCE: a configuração da distância máxima para suas instâncias. O valor precisa estar entre 1, que especifica a colocação das instâncias no mesmo rack e ter a menor latência de rede possível, e 3, que especifica a colocação das instâncias em clusters adjacentes. Se você quiser aplicar a política de posicionamento compacto a uma reserva ou a uma instância A4 ou A3 Ultra, não será possível especificar um valor de 1.

Aplicar uma política de posicionamento compacto

É possível aplicar uma política de posicionamento compacto a uma instância de computação ou grupo gerenciado de instâncias (MIG) atual ou ao criar instâncias, modelos de instância, MIGs ou reservas de instâncias.

Para aplicar uma política de posicionamento compacto a um recurso do Compute Engine, selecione um dos seguintes métodos:

Depois de aplicar uma política de posicionamento compacto a uma instância, é possível verificar o local físico da instância em relação a outras instâncias que especificam a mesma política de posicionamento.

Aplicar a política a uma instância atual

Antes de aplicar uma política de posicionamento compacto a uma instância de computação, verifique o seguinte:

Caso contrário, a aplicação da política de posicionamento compacto à instância vai falhar. Se a instância já especificar uma política de posicionamento e você quiser substituí-la, consulte Substituir uma política de posicionamento em uma instância.

Para aplicar uma política de posicionamento compacto a uma instância, selecione uma das seguintes opções:

gcloud

  1. Interrompa a instância.

  2. Para aplicar uma política de posicionamento compacto a uma instância atual, use o comando gcloud compute instances add-resource-policies.

    gcloud compute instances add-resource-policies INSTANCE_NAME \
        --resource-policies=POLICY_NAME \
        --zone=ZONE
    

    Substitua:

    • INSTANCE_NAME: o nome de uma instância.

    • POLICY_NAME: o nome de uma política de posicionamento compacto existente.

    • ZONE: a zona em que a instância está localizada.

  3. Reinicie a instância.

REST

  1. Interrompa a instância.

  2. Para aplicar uma política de posicionamento compacto a uma instância, faça uma solicitação POST para o método instances.addResourcePolicies.

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addResourcePolicies
    
    {
      "resourcePolicies": [
        "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ]
    }
    

    Substitua:

    • PROJECT_ID: o ID do projeto em que a política de posicionamento compacto e a instância estão localizadas.

    • ZONE: a zona em que a instância está localizada.

    • INSTANCE_NAME: o nome de uma instância.

    • REGION: a região em que a política de posicionamento compacto está localizada.

    • POLICY_NAME: o nome de uma política de posicionamento compacto existente.

  3. Reinicie a instância.

Aplicar a política ao criar uma instância

Só é possível criar uma instância de computação que especifique uma política de posicionamento compacto na mesma região da política de posicionamento.

Para criar uma instância que especifique uma política de posicionamento compacto, selecione uma das seguintes opções:

gcloud

Para criar uma instância que especifique uma política de posicionamento compacto, use o comando gcloud compute instances create com as flags --maintenance-policy e --resource-policies.

gcloud compute instances create INSTANCE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=MAINTENANCE_POLICY \
    --resource-policies=POLICY_NAME \
    --zone=ZONE

Substitua:

  • INSTANCE_NAME: o nome da instância a ser criada.

  • MACHINE_TYPE: um tipo de máquina compatível com políticas de posicionamento compacto.

  • MAINTENANCE_POLICY: a política de manutenção do host da instância. Se a política de posicionamento compacto especificada usar um valor de distância máxima de 1 ou 2, ou se o tipo de máquina escolhido não for compatível com a migração dinâmica, só será possível especificar TERMINATE. Caso contrário, é possível especificar MIGRATE ou TERMINATE.

  • POLICY_NAME: o nome de uma política de posicionamento compacto existente.

  • ZONE: a zona em que a instância será criada.

REST

Para criar uma instância que especifique uma política de posicionamento compacto, faça uma solicitação POST para o método instances.insert. No corpo da solicitação, inclua os campos onHostMaintenance e resourcePolicies..

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances

{
  "name": "INSTANCE_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "disks": [
    {
      "boot": true,
      "initializeParams": {
        "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
      }
    }
  ],
  "networkInterfaces": [
    {
      "network": "global/networks/default"
    }
  ],
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  ],
  "scheduling": {
    "onHostMaintenance": "MAINTENANCE_POLICY"
  }
}

Substitua:

  • PROJECT_ID: o ID do projeto em que a política de posicionamento compacto está localizada.

  • ZONE: a zona em que a instância será criada e onde o tipo de máquina está localizado. Só é possível especificar uma zona na região da política de posicionamento compacto.

  • INSTANCE_NAME: o nome da instância a ser criada.

  • MACHINE_TYPE: um tipo de máquina compatível com políticas de posicionamento compacto.

  • IMAGE_PROJECT: o projeto de imagem que contém a imagem, por exemplo, debian-cloud. Para mais informações sobre os projetos de imagem com suporte, consulte Imagens públicas.

  • IMAGE: especifique uma destas opções:

    • Uma versão específica da imagem do SO. Por exemplo: debian-12-bookworm-v20240617

    • Uma família de imagens, que precisa ser formatada como family/IMAGE_FAMILY. Especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificar family/debian-12, a versão mais recente na família de imagens do Debian 12 será usada. Para mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.

  • REGION: a região em que a política de posicionamento compacto está localizada.

  • POLICY_NAME: o nome de uma política de posicionamento compacto existente.

  • MAINTENANCE_POLICY: a política de manutenção do host da instância. Se a política de posicionamento compacto especificada usar um valor de distância máxima de 1 ou 2, ou se o tipo de máquina escolhido não for compatível com a migração dinâmica, só será possível especificar TERMINATE. Caso contrário, é possível especificar MIGRATE ou TERMINATE.

Para mais informações sobre as opções de configuração para criar uma instância, consulte Criar e iniciar uma instância.

Aplicar a política ao criar uma reserva

Se você quiser criar uma reserva de projeto único sob demanda que especifique uma política de posicionamento compacto, crie uma reserva especificamente segmentada. Ao criar instâncias para consumir a reserva, verifique o seguinte:

  • As instâncias precisam especificar a mesma política de posicionamento compacto aplicada à reserva.

  • As instâncias precisam visar especificamente a reserva para consumi-la. Para mais informações, consulte Consumir instâncias de uma reserva específica.

Para criar uma reserva de projeto único com uma política de posicionamento compacto, selecione um dos seguintes métodos:

Para criar uma reserva de projeto único com uma política de posicionamento compacto, especificando propriedades diretamente, selecione uma das seguintes opções:

gcloud

Para criar uma reserva de projeto único com uma política de posicionamento compacto, especificando propriedades diretamente, use o comando gcloud compute reservations create com flags --require-specific-reservation e --resource-policies=policy.

gcloud compute reservations create RESERVATION_NAME \
    --machine-type=MACHINE_TYPE \
    --require-specific-reservation \
    --resource-policies=policy=POLICY_NAME \
    --vm-count=NUMBER_OF_INSTANCES \
    --zone=ZONE

Substitua:

  • RESERVATION_NAME: o nome da reserva.

  • MACHINE_TYPE: um tipo de máquina compatível com políticas de posicionamento compacto.

  • POLICY_NAME: o nome de uma política de posicionamento compacto existente.

  • NUMBER_OF_INSTANCES: o número de instâncias a serem reservadas, que não pode ser maior que o número máximo permitido de instâncias da política de posicionamento compacto especificada.

  • ZONE: a zona em que as instâncias serão reservadas. Só é possível reservar instâncias em uma zona na região da política de posicionamento compacto especificada.

REST

Para criar uma reserva de projeto único com uma política de posicionamento compacto, especificando propriedades diretamente, faça uma solicitação POST ao método reservations.insert. No corpo da solicitação, inclua o campo resourcePolicies e o campo specificReservationRequired definido como true.

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/reservations

{
  "name": "RESERVATION_NAME",
  "resourcePolicies": {
    "policy" : "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  },
  "specificReservation": {
    "count": "NUMBER_OF_INSTANCES",
    "instanceProperties": {
      "machineType": "MACHINE_TYPE",
    }
  },
  "specificReservationRequired": true
}

Substitua:

  • PROJECT_ID: o ID do projeto em que a política de posicionamento compacto está localizada.

  • ZONE: a zona em que as instâncias serão reservadas. Só é possível reservar instâncias em uma zona na região da política de posicionamento compacto especificada.

  • RESERVATION_NAME: o nome da reserva.

  • REGION: a região em que a política de posicionamento compacto está localizada.

  • POLICY_NAME: o nome de uma política de posicionamento compacto existente.

  • NUMBER_OF_INSTANCES: o número de instâncias a serem reservadas, que não pode ser maior que o número máximo permitido de instâncias da política de posicionamento compacto especificada.

  • MACHINE_TYPE: um tipo de máquina compatível com políticas de posicionamento compacto.

Para mais informações sobre as opções de configuração para criar reservas de projeto único, consulte Crie uma reserva para um único projeto.

Aplicar a política ao criar um modelo de instância

Se você quiser criar um modelo de instância regional, crie o modelo na mesma região da política de posicionamento compacto. Caso contrário, a criação do modelo de instância falhará.

Depois de criar um modelo de instância que especifica uma política de posicionamento compacto, é possível usar o modelo para fazer o seguinte:

Para criar um modelo de instância que especifique uma política de posicionamento compacto, selecione uma das seguintes opções:

gcloud

Para criar um modelo de instância que especifique uma política de posicionamento compacta, use o comando gcloud compute instance-templates create com as flags --maintenance-policy e --resource-policies.

Por exemplo, para criar um modelo de instância global que especifique uma política de posicionamento compacto, execute o seguinte comando:

gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
    --machine-type=MACHINE_TYPE \
    --maintenance-policy=MAINTENANCE_POLICY \
    --resource-policies=POLICY_NAME

Substitua:

  • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.

  • MACHINE_TYPE: um tipo de máquina compatível com políticas de posicionamento compacto.

  • MAINTENANCE_POLICY: a política de manutenção do host da instância. Se a política de posicionamento compacto que você especificar usar um valor máximo de distância de 1 ou 2, ou se o tipo de máquina escolhido não for compatível com a migração em tempo real, só será possível especificar TERMINATE. Caso contrário, é possível especificar MIGRATE ou TERMINATE.

  • POLICY_NAME: o nome de uma política de posicionamento compacto existente.

REST

Para criar um modelo de instância que especifique uma política de posicionamento compacto, faça uma solicitação POST para um dos seguintes métodos:

No corpo da solicitação, inclua os campos onHostMaintenance e resourcePolicies..

Por exemplo, para criar um modelo de instância global que especifique uma política de posicionamento compacto, faça uma solicitação POST da seguinte maneira:

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/instanceTemplates

{
  "name": "INSTANCE_TEMPLATE_NAME",
  "properties": {
    "disks": [
      {
        "boot": true,
        "initializeParams": {
          "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
        }
      }
    ],
    "machineType": "MACHINE_TYPE",
    "networkInterfaces": [
      {
        "network": "global/networks/default"
      }
    ],
    "resourcePolicies": [
      "POLICY_NAME"
    ],
    "scheduling": {
      "onHostMaintenance": "MAINTENANCE_POLICY"
    }
  }
}

Substitua:

  • PROJECT_ID: o ID do projeto em que a política de posicionamento compacto está localizada.

  • INSTANCE_TEMPLATE_NAME: o nome do modelo de instância.

  • IMAGE_PROJECT: o projeto de imagem que contém a imagem, por exemplo, debian-cloud. Para mais informações sobre os projetos de imagem com suporte, consulte Imagens públicas.

  • IMAGE: especifique uma destas opções:

    • Uma versão específica da imagem do SO. Por exemplo: debian-12-bookworm-v20240617

    • Uma família de imagens, que precisa ser formatada como family/IMAGE_FAMILY. Especifica a imagem do SO mais recente e não descontinuada. Por exemplo, se você especificar family/debian-12, a versão mais recente na família de imagens do Debian 12 será usada. Para mais informações sobre o uso de famílias de imagens, consulte Práticas recomendadas para famílias de imagens.

  • MACHINE_TYPE: um tipo de máquina compatível com políticas de posicionamento compacto.

  • POLICY_NAME: o nome de uma política de posicionamento compacto existente.

  • MAINTENANCE_POLICY: a política de manutenção do host da instância. Se a política de posicionamento compacto especificada usar um valor de distância máxima de 1 ou 2, ou se o tipo de máquina escolhido não for compatível com a migração dinâmica, só será possível especificar TERMINATE. Caso contrário, é possível especificar MIGRATE ou TERMINATE.

Para saber mais sobre as opções de configuração para criar um modelo de instância, consulte Criar modelos de instância.

Aplicar a política a instâncias em um MIG

Depois de criar um modelo de instância que especifique uma política de posicionamento compacto, é possível usar o modelo para fazer o seguinte:

.

Aplicar a política ao criar um MIG

Só é possível criar instâncias de computação que especificam uma política de posicionamento compacto se elas estiverem localizadas na mesma região da política de posicionamento.

Para criar um MIG usando um modelo de instância que especifique uma política de posicionamento compacto, selecione uma das seguintes opções:

gcloud

Para criar um MIG usando um modelo de instância que especifica uma política de posicionamento compacto, use o comando gcloud compute instance-groups managed create.

Por exemplo, para criar um MIG zonal usando um modelo de instância global que especifique uma política de posicionamento compacto, execute o seguinte comando:

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --size=SIZE \
    --template=INSTANCE_TEMPLATE_NAME \
    --zone=ZONE

Substitua:

  • INSTANCE_GROUP_NAME: o nome do MIG que será criado.

  • SIZE: o tamanho do MIG.

  • INSTANCE_TEMPLATE_NAME: o nome de um modelo de instância global que especifica uma política de posicionamento compacto.

  • ZONE: a zona em que o MIG será criado, precisa estar na região em que a política de posicionamento compacto está localizada.

REST

Para criar um MIG usando um modelo de instância que especifique uma política de posicionamento compacto faça uma solicitação POST a um dos seguintes métodos:

Por exemplo, para criar um MIG zonal usando um modelo de instância global que especifica uma política de posicionamento compacto, faça uma solicitação POST da seguinte maneira:

POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers

{
  "name": "INSTANCE_GROUP_NAME",
  "targetSize": SIZE,
  "versions": [
    {
      "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME"
    }
  ]
}

Substitua:

  • PROJECT_ID: o ID do projeto em que a política de posicionamento compacto e o modelo de instância que especifica a política estão localizados.

  • ZONE: a zona em que o MIG será criado, precisa estar na região em que a política de posicionamento compacto está localizada.

  • INSTANCE_GROUP_NAME: o nome do MIG que será criado.

  • INSTANCE_TEMPLATE_NAME: o nome de um modelo de instância global que especifica uma política de posicionamento compacto.

  • SIZE: o tamanho do MIG.

Para mais informações sobre as opções de configuração para criar MIGs, consulte Cenários básicos para criar MIGs.

Aplicar a política a um MIG atual

Só é possível aplicar uma política de posicionamento compacto a um MIG se ele estiver localizado na mesma região da política de posicionamento ou, no caso de MIGs zonais, em uma zona na mesma região.

Para atualizar um MIG para usar um modelo de instância que especifique uma política de posicionamento compacto selecione uma das seguintes opções:

gcloud

Para atualizar um MIG para usar um modelo de instância que especifique uma política de posicionamento compacto, use o comando gcloud compute instance-groups managed rolling-action start-update.

Por exemplo, para atualizar um MIG zonal para usar um modelo de instância que especifique uma política de posicionamento compacto e substituir as instâncias atuais do MIG por novas instâncias que especifiquem as propriedades do modelo, execute o seguinte comando:

gcloud compute instance-groups managed rolling-action start-update MIG_NAME \
    --version=template=INSTANCE_TEMPLATE_NAME \
    --zone=ZONE

Substitua:

  • MIG_NAME: o nome de um MIG existente.

  • INSTANCE_TEMPLATE_NAME: o nome de um modelo de instância global que especifica uma política de posicionamento compacto.

  • ZONE: a zona em que o MIG está localizado. Só é possível aplicar a política de posicionamento compacto a um MIG localizado na mesma região da política de posicionamento.

REST

Para atualizar um MIG para usar um modelo de instância que especifique uma política de posicionamento compacto e aplicar automaticamente as propriedades do modelo e da política de posicionamento às instâncias atuais no MIG, faça uma solicitação PATCH a um dos seguintes métodos:

Por exemplo, para atualizar um MIG zonal para usar um modelo de instância global que especifique uma política de posicionamento compacto e substituir as instâncias atuais do MIG por novas instâncias que especifiquem as propriedades do modelo, faça a seguinte solicitação PATCH:

PATCH https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME

{
  "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME"
}

Substitua:

  • PROJECT_ID: o ID do projeto em que o MIG, a política de posicionamento compacto e o modelo de instância que especifica a política de posicionamento estão localizados.

  • ZONE: a zona em que o MIG está localizado. Só é possível aplicar a política de posicionamento compacto a um MIG localizado na mesma região da política de posicionamento.

  • MIG_NAME: o nome de um MIG existente.

  • INSTANCE_TEMPLATE_NAME: o nome de um modelo de instância global que especifica uma política de posicionamento compacto.

Para mais informações sobre as opções de configuração para atualizar as instâncias em um MIG, consulte Atualizar e aplicar novas configurações a instâncias em um MIG.

Verificar o local físico de uma instância

Depois de aplicar uma política de posicionamento compacto a uma instância de computação, é possível conferir o local físico dela em relação a outras instâncias. Essa comparação é limitada a instâncias localizadas no seu projeto e que especificam a mesma política de posicionamento compacto. Com a visualização do local físico de uma instância, você:

  • confirma se a política foi aplicada;

  • Identifique quais instâncias estão mais próximas umas das outras.

Para conferir o local físico de uma instância em relação a outras que especificam a mesma política de posicionamento compacto, selecione uma das seguintes opções:

gcloud

Para conferir o local físico de uma instância que especifica uma política de posicionamento compacto, use o comando gcloud compute instances describe com a flag --format.

gcloud compute instances describe INSTANCE_NAME \
    --format="table[box,title=VM-Position](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)" \
    --zone=ZONE

Substitua:

  • INSTANCE_NAME: o nome de uma instância atual que especifica uma política de posicionamento compacto.

  • ZONE: a zona em que a instância está localizada.

O resultado será assim:

VM-Position

RESOURCE_POLICIES: us-central1/resourcePolicies/example-policy']
PHYSICAL_HOST: /CCCCCCC/BBBBBB/AAAA

O valor do campo PHYSICAL_HOST é composto de três partes. Cada parte representa o cluster, o rack e o host em que a instância está localizada.

Ao comparar a posição de duas instâncias que usam a mesma política de posicionamento compacto no projeto, quanto mais partes do campo PHYSICAL_HOST as instâncias compartilharem, mais próximas elas estarão uma da outra. Por exemplo, suponha que duas instâncias especifiquem um dos seguintes valores de amostra para o campo PHYSICAL_HOST:

  • /CCCCCCC/xxxxxx/xxxx: as duas instâncias são colocadas no mesmo cluster, o que equivale a um valor de distância máxima de 2. As instâncias colocadas no mesmo cluster têm baixa latência de rede.

  • /CCCCCCC/BBBBBB/xxxx: as duas instâncias são colocadas no mesmo rack, o que equivale a um valor de distância máxima de 1. As instâncias colocadas no mesmo rack têm uma latência de rede menor do que as instâncias colocadas no mesmo cluster.

  • /CCCCCCC/BBBBBB/AAAA: as duas instâncias compartilham o mesmo host. As instâncias colocadas no mesmo host minimizam a latência de rede o máximo possível.

REST

Para conferir o local físico de uma instância que especifica uma política de posicionamento compacto, faça uma solicitação GET para o método instances.get.

GET https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME

Substitua:

  • PROJECT_ID: o ID do projeto em que a instância está localizada.

  • ZONE: a zona em que a instância está localizada.

  • INSTANCE_NAME: o nome de uma instância atual que especifica uma política de posicionamento compacto.

O resultado será assim:

{
  ...
  "resourcePolicies": [
    "https://www.s3nsapis.fr/compute/v1/projects/example-project/regions/us-central1/resourcePolicies/example-policy"
  ],
  "resourceStatus": {
    "physicalHost": "/xxxxxxxx/xxxxxx/xxxxx"
  },
  ...
}

O valor do campo physicalHost é composto de três partes. Cada parte representa o cluster, o rack e o host em que a instância está localizada.

Ao comparar a posição de duas instâncias que usam a mesma política de posicionamento compacto no projeto, quanto mais partes do campo physicalHost as instâncias compartilharem, mais próximas elas estarão uma da outra. Por exemplo, suponha que duas instâncias especifiquem um dos seguintes valores de amostra para o campo physicalHost:

  • /CCCCCCC/xxxxxx/xxxx: as duas instâncias são colocadas no mesmo cluster, o que equivale a um valor de distância máxima de 2. As instâncias colocadas no mesmo cluster têm baixa latência de rede.

  • /CCCCCCC/BBBBBB/xxxx: as duas instâncias são colocadas no mesmo rack, o que equivale a um valor de distância máxima de 1. As instâncias colocadas no mesmo rack têm uma latência de rede menor do que as instâncias colocadas no mesmo cluster.

  • /CCCCCCC/BBBBBB/AAAA: as duas instâncias compartilham o mesmo host. As instâncias colocadas no mesmo host minimizam a latência de rede o máximo possível.

A seguir