Neste documento, explicamos como visualizar o local físico, também conhecido como topologia, das instâncias do Compute Engine em uma zona. Para conferir a topologia de um cluster no Cluster Director, consulte Conferir a topologia do cluster.
Depois de criar instâncias A5X, A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPUs) ou instâncias de computação que especificam uma política de posicionamento compacto ou de carga de trabalho, é possível conferir o local físico das instâncias de computação em relação umas às outras. Quando você sabe a proximidade das instâncias de computação, é possível ajustar o design do aplicativo ou da carga de trabalho para executar jobs sensíveis à latência nas instâncias de computação mais próximas umas das outras. Para todos os outros tipos de instâncias de computação, é possível ver o ID do host em que elas são executadas depois de expor o ID do host.
Antes de começar
- Revise a terminologia da topologia de instâncias de computação.
-
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud , não é necessário configurar a autenticação.
gcloud
Instale a Google Cloud CLI e faça login na CLI gcloud com sua identidade federada. Depois de fazer login, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud initREST
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 e 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 necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para visualizar a topologia da instância de computação:
-
Para ver os detalhes de uma instância de computação:
compute.instances.getno projeto -
Para ver uma lista de instâncias de computação:
compute.instances.listno projeto
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Entender a topologia de instâncias de computação
Para entender o local físico de uma instância de computação em um cluster, verifique
o campo Host físico no console do Google Cloud . Se você usar a
CLI gcloud, a API Compute Engine ou uma
consulta de chave de metadados, verifique o campo
physicalHostTopology. 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 de computação. Quanto mais subcampos as instâncias de computação compartilharem, mais próximas elas estarão umas das outras.
Também é possível ver a topologia de uma reserva em que as instâncias de computação
são criadas. Os campos physicalHostTopology de uma reserva e de uma instância
mostram os mesmos campos block e cluster. Por exemplo, ao visualizar um
bloco reservado específico, é possível ver o nome e o sub-bloco de todas as instâncias de computação
implantadas no bloco. Para mais informações sobre a topologia de uma reserva, consulte Ver a topologia de uma reserva.
Ver a topologia da instância de computação
Para ver o local físico de várias instâncias de computação em execução de uma só vez, use a API REST. Caso contrário, selecione uma destas opções:
Console
No console do Google Cloud , acesse a página Instâncias de VM.
Na coluna Nome, clique no nome da instância de computação com os detalhes que você quer ver. Uma página com os detalhes da instância de computação vai aparecer, e a guia Detalhes será selecionada.
Na seção Informações básicas, verifique o valor do campo Host físico.
gcloud
Para ver o local físico de uma instância de computação em execução, use o
comando gcloud compute instances describe
com a flag --flatten=resourceStatus.physicalHostTopology:
gcloud compute instances describe INSTANCE_NAME \
--flatten=resourceStatus.physicalHostTopology \
--zone=ZONE
Substitua:
INSTANCE_NAME: o nome da instância de computação.ZONE: a zona em que a instância de computação está.
O resultado será o seguinte:
Se for possível visualizar o ID do cluster, do bloco, do sub-bloco e do host de uma instância de computação, a saída será semelhante a esta:
--- cluster: europe-west1-cluster-jfhb block: 3e3056e23cf91a5cb4a8621b6a52c100 subBlock: 0fc09525cbd5abd734342893ca1c083f host: 1215168a4ecdfb434fd4d28056589059Se você só puder ver o ID do host depois de expô-lo, a saída será semelhante a esta:
--- cluster: null block: null subBlock: null host: 1215168a4ecdfb434fd4d28056589059
REST
Para ver o local físico 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 que apenas os campos name, machineType e physicalHostTopology de uma instância de computação sejam mostrados. Também é necessário
incluir o parâmetro de consulta filter e especificar que apenas as instâncias de computação em execução
sejam listadas.
Para ver uma lista das suas instâncias em todas as zonas: método
instances.aggregatedListGET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNINGPara ver uma lista das suas instâncias em uma zona específica: método
instances.listGET 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 de computação estão.ZONE: a zona em que as instâncias de computação estão.
O resultado será o seguinte:
Se você puder ver o ID do cluster, do bloco, do sub-bloco e do host das instâncias de computação, a saída será semelhante a esta:
{ "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ê só puder ver o ID das instâncias de computação do host depois de expor, a saída será semelhante a esta:
{ "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": null, "block": null, "subBlock": null, "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": null, "block": null, "subBlock": null, "host": "2326279b5ecdfc545fd5e39167698168" } } }, ... ] }
Se você quiser refinar sua lista de instâncias de computação, edite a expressão de filtro no parâmetro de consulta filter.
Ver a topologia da instância de computação com uma consulta de chave de metadados
Para conferir o local físico de uma instância de computação em execução com uma consulta à chave de metadados physical_host_topology, selecione uma das seguintes opções:
Instâncias do Linux
Conecte-se à instância de computação do Linux.
Na instância do Linux, crie uma consulta usando a ferramenta
curl. Para consultar a chave de metadadosphysical_host_topologyem 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_topologyO resultado será o seguinte:
Se for possível visualizar o ID do cluster, do bloco, do sub-bloco e do host de uma instância de computação, a saída será semelhante a esta:
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "0fc09525cbd5abd734342893ca1c083f", "host": "1215168a4ecdfb434fd4d28056589059" }Se você só puder ver o ID do host depois de expô-lo, a saída será semelhante a esta:
{ "cluster": null, "block": null, "subBlock": null, "host": "1215168a4ecdfb434fd4d28056589059" }
Instâncias do Windows
Conecte-se à instância de computação do Windows.
Na instância do Windows, crie uma consulta com o comando
Invoke-RestMethod. Para consultar a chave de metadadosphysical_host_topologyem 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") $valueO resultado será o seguinte:
Se for possível visualizar o ID do cluster, do bloco, do sub-bloco e do host de uma instância de computação, a saída será semelhante a esta:
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "0fc09525cbd5abd734342893ca1c083f", "host": "1215168a4ecdfb434fd4d28056589059" }Se você só puder ver o ID do host depois de expô-lo, a saída será semelhante a esta:
{ "cluster": null, "block": null, "subBlock": null, "host": "1215168a4ecdfb434fd4d28056589059" }
A seguir
Saiba como gerenciar eventos de host: