Neste documento, explicamos como ver a localização física, também conhecida como topologia, das suas instâncias do Compute Engine em uma zona. Para conferir a topologia de um cluster no Cluster Director, consulte Ver topologia do cluster.
Depois de criar instâncias 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 uma política 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ê conhece a proximidade das instâncias de computação, é possível ajustar o aplicativo ou o design 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 conferir 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 Google Cloud para acessar os serviços e as APIs 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 nesta 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 conferir a topologia da instância de computação:
-
Para conferir os detalhes de uma instância de computação:
compute.instances.getno projeto -
Para conferir 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 da instância de computação
Para entender a localização física de uma instância de computação em um cluster, verifique
o campo Host físico no console do Google Cloud . Se você usa 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 subbloco 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.
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 uma instância
mostram os mesmos campos block e cluster. Por exemplo, ao visualizar um
bloco reservado específico, é possível conferir o nome e o subbloco 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 conferir o local físico 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
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 que você quer consultar. 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 conferir 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 você puder ver o ID do cluster, do bloco, do subbloco 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 conferir 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 para mostrar apenas os campos name, machineType e physicalHostTopology de uma instância de computação. Também é necessário
incluir o parâmetro de consulta filter e especificar para listar apenas instâncias de
computação em execução.
Para conferir 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 conferir 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 existem.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 subbloco 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 expô-lo, 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 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 à sua 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 você puder ver 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 você puder ver 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: