Este documento explica como visualizar a topologia das instâncias do Compute Engine em execução. Depois de criar e iniciar instâncias de computação, é possível conferir a localização física delas em uma zona para entender a topologia do cluster. Essas informações ajudam você a fazer o seguinte:
Organizar jobs: é possível ajustar o design da carga de trabalho para, por exemplo, colocar tarefas de comunicação intensa nas instâncias de computação fisicamente mais próximas.
Resolver problemas: é possível investigar problemas de latência ou desempenho da rede se instâncias de computação específicas estiverem localizadas muito distantes umas das outras.
Para verificar quais instâncias de computação estão em execução no seu projeto, consulte uma lista de instâncias de computação.
Limitações
Só é possível visualizar a topologia de instâncias de computação que atendem a um ou mais dos seguintes requisitos:
As instâncias de computação usam um dos seguintes tipos de máquina:
A4X Max
A4X
A4
A3 Ultra
A3 Mega
A3 High com 8 GPUs
H4D
As instâncias de computação especificam uma política de posicionamento compacto.
As instâncias de computação fazem parte de um grupo gerenciado de instâncias (MIG) que especifica uma política de carga de trabalho com um tipo de alta capacidade de processamento (
HIGH_THROUGHPUT).
Entender a topologia da instância de computação
Cada instância de computação é executada em um servidor físico, um host, que está em um bloco de servidores. Cada bloco pertence a um cluster, que reside em um data center dentro de uma
Google Cloud zona. Ao visualizar instâncias de computação que atendem a
requisitos específicos, é possível entender a topologia delas em
relação a outras instâncias de computação que atendem aos mesmos requisitos.
Especificamente, é possível entender a localização física das instâncias de computação verificando os seguintes subcampos no campo physicalHostTopology de cada instância de computação:
Cluster (
cluster): o nome global do cluster em que a instância de computação existe. Um cluster é um agrupamento lógico de alto nível de vários hosts, que podem abranger vários blocos, que funcionam juntos como um único pool de recursos.Bloco (
block): o ID específico da organização do bloco em que a instância de computação existe. Um bloco é uma coleção de vários hosts agrupados. As instâncias de computação no mesmo bloco têm baixa latência de rede.Sub-bloco (
subBlock): o ID específico da organização do sub-bloco em que a instância de computação existe. Um sub-bloco é uma subdivisão física em um bloco, agrupando hosts em um único gabinete físico. As instâncias de computação no mesmo sub-bloco têm uma latência de rede menor do que as instâncias de computação no mesmo bloco.Host (
host): o ID específico da organização do host em que a instância de computação existe. Um host é um único servidor físico em que as instâncias de computação são executadas. Cada host tem sua própria vCPU física, memória, armazenamento e placa de interface de rede (NIC). As instâncias de computação em hosts adjacentes têm a menor latência de rede possível.
Quanto mais subcampos duas instâncias de computação em execução compartilharem, mais próximas elas estarão fisicamente. Essas informações ajudam a otimizar as cargas de trabalho organizando os jobs para minimizar a latência de rede ou projetando sistemas mais resilientes.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
Com isso, você confirma sua identidade para acesso a Google Cloud serviços e APIs do. Para executar
código ou exemplos em um ambiente de desenvolvimento local, faça a autenticação no
Compute Engine com uma destas opções:
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
-
Instale a Google Cloud CLI. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:
gcloud init
-
- Defina uma região e uma zona padrão.
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.
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 verificar a topologia das instâncias de computação, peça ao administrador para conceder a você o papel do IAM de Leitor do Compute (roles/compute.viewer) 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 verificar a topologia das instâncias 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 a seguir são necessárias para verificar a topologia das instâncias 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.
Verificar a topologia da instância de computação
Para verificar a topologia das instâncias de computação em execução, use um dos seguintes métodos:
Verificar a topologia da instância de computação usando o Google Cloud console, a CLI gcloud ou a REST
Para conferir a topologia de várias instâncias de computação simultaneamente, use a API REST. Caso contrário, selecione uma das seguintes 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 conferir os detalhes. Uma página com os detalhes da instância aparece e a guia Detalhes é selecionada.
Na seção Informações básicas, verifique o valor do campo Host físico.
gcloud
Para conferir a topologia 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 de computação.ZONE: a zona em que a instância de computação existe.
O resultado será assim:
---
block: 3e3056e23cf91a5cb4a8621b6a52c100
cluster: europe-west1-cluster-jfhb
host: 1215168a4ecdfb434fd4d28056589059
subBlock: 0fc09525cbd5abd734342893ca1c083f
REST
Para conferir a topologia 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. Você também precisa incluir o parâmetro de consulta filter e especificar para listar apenas as instâncias de computação em execução.
Para conferir uma lista das instâncias em todas as zonas:
instances.aggregatedListmétodoGET 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 instâncias em uma zona específica:
instances.listmétodoGET 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 existem.
O resultado será semelhante ao seguinte. No exemplo a seguir, as instâncias de computação vm-01 e vm-02 estão localizadas no mesmo bloco.
{
"items": [
{
"name": "vm-01",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
"resourceStatus": {
"physicalHostTopology": {
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"cluster": "europe-west1-cluster-jfhb",
"host": "1215168a4ecdfb434fd4d28056589059",
"subBlock": "0fc09525cbd5abd734342893ca1c083f"
}
}
},
{
"name": "vm-02",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
"resourceStatus": {
"physicalHostTopology": {
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"cluster": "europe-west1-cluster-jfhb",
"host": "2326279b5ecdfc545fd5e39167698168",
"subBlock": "1fc18636cbd4abd623553784ca2c174e"
}
}
},
...
]
}
Se você quiser refinar a lista de instâncias de computação, edite a expressão de filtro no parâmetro de consulta
filter.
Verificar a topologia da instância de computação consultando a chave de metadados
Para conferir a topologia 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
Conecte-se à instância do Linux.
Consulte a chave de metadados
physical_host_topologyusandocurl:user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topologyO resultado será assim:
{ "block": "3e3056e23cf91a5cb4a8621b6a52c100", "cluster": "europe-west1-cluster-jfhb", "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": "1fc18636cbd4abd623553784ca2c174e" }
Instâncias do Windows
Conecte-se à instância do Windows.
Consulte a chave de metadados
physical_host_topologyusando oInvoke-RestMethodcomando:PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology") $valueO resultado será assim:
{ "block": "3e3056e23cf91a5cb4a8621b6a52c100", "cluster": "europe-west1-cluster-jfhb", "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": "1fc18636cbd4abd623553784ca2c174e" }
A seguir
Saiba mais sobre eventos de host em uma instância de computação.
Saiba como monitorar instâncias de computação.