Ver a topologia de uma instância de computação

Este documento explica como visualizar a localização física das instâncias A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPUs) que são executadas em blocos de capacidade reservados. Depois de criar instâncias A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPUs), é possível conferir os arranjos delas para verificar quais instâncias do Compute Engine estão mais próximas umas das outras. Ao entender a proximidade da instância, você pode fazer o seguinte:

  • Ajustar o design do aplicativo ou da carga de trabalho para minimizar ainda mais a latência de rede.

  • Resolver problemas de latência de rede ou de desempenho de instâncias de computação que se comunicam com frequência, caso estejam localizadas inesperadamente longe umas das outras.

Para conferir a topologia dos clusters no Cluster Director, consulte Conferir a topologia do cluster.

Antes de começar

  • Revise a terminologia usada nos recursos do Cluster Director.
  • Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o Google Cloud console para acessar Google Cloud serviços e APIs, não é necessário configurar a autenticação.

    gcloud

    No Google Cloud console do, ative o Cloud Shell.

    Ativar o Cloud Shell

    Na parte de baixo do Google Cloud console, uma sessão do Cloud Shell é iniciada e exibe um prompt de linha de comando. O Cloud Shell é um ambiente shell com a Google Cloud CLI já instalada e com valores já definidos para o projeto atual. A inicialização da sessão pode levar alguns segundos.

    REST

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

      Instale a Google Cloud CLI.

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

    Saiba mais em Autenticar para usar REST na documentação de autenticação do Google Cloud .

Funções exigidas

Para receber as permissões necessárias para visualizar a topologia da instância de computação, 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 visualizar a topologia da instância de computação. Para acessar as permissões exatas que são necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As permissões abaixo são necessárias para visualizar a topologia da instância de computação:

  • Para conferir os detalhes de uma instância: compute.instances.get no projeto
  • Para conferir uma lista de instâncias: compute.instances.list no projeto

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

Entender a topologia da instância de computação

Ao conferir os detalhes de uma instância de computação em execução, é possível entender a localização física dela em um cluster verificando o campo Host físico (para o Google Cloud console) ou o campo physicalHostTopology (para a CLI gcloud, a API Compute Engine ou consultando a chave de metadados). Esses campos contêm os seguintes subcampos:

  • cluster: o nome global do cluster.

  • block: o ID específico da organização do bloco reservado em que a instância está localizada.

  • sub-block: o ID específico da organização do sub-bloco em que a instância está localizada.

  • host: o ID específico da organização do host em que a instância é executada.

Para entender a proximidade da instância, compare os valores dos campos Host físico ou physicalHostTopology entre as instâncias. Quanto mais subcampos as instâncias compartilharem, mais próximas elas estarão fisicamente.

Também é possível conferir a topologia de uma reserva em que as instâncias de computação são criadas. Os campos physicalHostTopology de uma reserva e uma instância mostram os mesmos campos block e cluster. Por exemplo, ao conferir um bloco reservado específico, é possível visualizar o nome e o sub-bloco de todas as instâncias implantadas no bloco. Para mais informações sobre a topologia de uma reserva, consulte Conferir a topologia de uma reserva.

Conferir a topologia da instância de computação

Para conferir a localização física de várias instâncias de computação em execução ao mesmo tempo, use a API REST. Caso contrário, selecione uma destas opções:

Console

  1. No console do Google Cloud , acesse a página Instâncias de VM.

    Acessar instâncias de VM

  2. Na coluna Nome, clique no nome da instância que você quer conferir os detalhes. Uma página com os detalhes da instância vai aparecer, e a guia Detalhes será selecionada.

  3. Na seção Informações básicas, confira o valor do campo Host físico.

gcloud

Para conferir a localização física de uma instância de computação em execução, use o gcloud compute instances describe comando com a --flatten=resourceStatus.physicalHostTopology flag:

gcloud compute instances describe INSTANCE_NAME \
    --flatten=resourceStatus.physicalHostTopology \
    --zone=ZONE

Substitua:

  • INSTANCE_NAME: o nome da instância.

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

O resultado será assim:

---
cluster: europe-west1-cluster-jfhb
block: 3e3056e23cf91a5cb4a8621b6a52c100
subBlock: 0fc09525cbd5abd734342893ca1c083f
host: 1215168a4ecdfb434fd4d28056589059

REST

Para conferir a localização física das instâncias de computação em execução, faça uma das seguintes solicitações GET. Ao fazer uma solicitação, inclua o parâmetro de consulta fields e especifique para mostrar apenas os campos name, machineType e physicalHostTopology de uma instância. Você também precisa incluir o parâmetro de consulta filter e especificar para listar apenas as instâncias em execução.

  • Para conferir uma lista das instâncias em todas as zonas: instances.aggregatedList método

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
    
  • Para conferir uma lista das instâncias em uma zona específica: instances.list método

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
    

Substitua:

  • PROJECT_ID: o ID do projeto em que as instâncias estão.

  • ZONE: a zona em que as instâncias estão.

O resultado será assim:

{
  "items": [
    {
      "name": "vm-01",
      "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
      "resourceStatus": {
        "physicalHostTopology": {
          "cluster": "europe-west1-cluster-jfhb",
          "block": "3e3056e23cf91a5cb4a8621b6a52c100",
          "subBlock": "0fc09525cbd5abd734342893ca1c083f",
          "host": "1215168a4ecdfb434fd4d28056589059"
        }
      }
    },
    {
      "name": "vm-02",
      "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
      "resourceStatus": {
        "physicalHostTopology": {
          "cluster": "europe-west1-cluster-jfhb",
          "block": "3e3056e23cf91a5cb4a8621b6a52c100",
          "subBlock": "1fc18636cbd4abd623553784ca2c174e",
          "host": "2326279b5ecdfc545fd5e39167698168"
        }
      }
    },
    ...
  ]
}

Se você quiser refinar a lista de instâncias, edite a expressão de filtro no parâmetro de consulta filter.

Conferir a topologia da instância de computação consultando a chave de metadados

Para conferir a localização física de uma instância de computação em execução consultando a chave de metadados physical_host_topology, selecione uma das seguintes opções:

Instâncias do Linux

  1. Conecte-se à instância de computação do Linux.

  2. Na instância do Linux, crie uma consulta usando a curl ferramenta. Para consultar a chave de metadados physical_host_topology em instâncias do Linux, execute o seguinte comando:

    user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology
    

    O resultado será assim:

    {
      "cluster": "europe-west1-cluster-jfhb",
      "block": "3e3056e23cf91a5cb4a8621b6a52c100",
      "subBlock": "1fc18636cbd4abd623553784ca2c174e",
      "host": "2326279b5ecdfc545fd5e39167698168"
    }
    

Instâncias do Windows

  1. Conecte-se à instância de computação do Windows.

  2. Na instância do Windows, crie uma consulta usando o Invoke-RestMethod comando. Para consultar a chave de metadados physical_host_topology em instâncias do Windows, execute o seguinte comando:

    PS C:\> 
    $value = (Invoke-RestMethod `
            -Headers @{'Metadata-Flavor' = 'Google'} `
            -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology")
    $value
    

    O resultado será assim:

    {
      "cluster": "europe-west1-cluster-jfhb",
      "block": "3e3056e23cf91a5cb4a8621b6a52c100",
      "subBlock": "1fc18636cbd4abd623553784ca2c174e",
      "host": "2326279b5ecdfc545fd5e39167698168"
    }
    

A seguir