Se você quiser visualizar as relações entre as instâncias de VM e outros
recursos do Compute Engine, use o
método da API listReferrers
.
Quando você usa REST, o Compute Engine retorna uma lista de referências que descrevem:
- o recurso de origem: recurso que aponta para o recurso de destino;
- o recurso de destino: recurso em questão;
- o tipo de referência: relacionamento entre os dois recursos.
Por exemplo, use o REST para visualizar uma lista de grupos de instâncias a que uma instância de VM pertence.
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 Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine da seguinte maneira.
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Limitações
- Só é possível listar relações entre instâncias de VM e grupos de instâncias, ambos gerenciados e não gerenciados.
- Só é possível listar referenciadores usando REST.
Como listar um único referenciador
Um referenciador é um recurso que se refere a outro recurso. Para instâncias de VM, um referenciador comum é um grupo de instâncias.
Por exemplo, digamos que você tenha uma instância de VM chamada example-ig-a1
na zona
us-central1-a
. A instância de VM é membro de um grupo de instâncias chamado
example-ig
na mesma zona, conforme mostrado no diagrama abaixo:
Para ver essa relação, chame o
método listReferrers
em example-ig-a1
com a seguinte solicitação HTTP:
GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a1/referrers
O servidor retorna a resposta de lista padrão contendo os seguintes itens:
"items": [
{
"target": https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a1,
"referenceType": MEMBER_OF,
"referrer": https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig
}
]
Nesse caso, o target
é example-ig-a1
, que é um MEMBER_OF
do referrer
, o grupo example-ig instance
.
Como listar referenciadores múltiplos
Se um recurso tiver mais de um referenciador, a resposta retornará uma lista de todos os referenciadores para o recurso de destino. Se uma instância pertencer a dois grupos de instâncias, a resposta conterá os dois grupos.
Por exemplo, a resposta a seguir indica que a instância chamada
example-instance-a2
pertence a dois grupos de instâncias, example-ig
e
example-ig-2
:
"items": [
{
"target": https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance-a2,
"referenceType": MEMBER_OF,
"referrer": https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig
},
{
"target": https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance-a2,
"referenceType": MEMBER_OF,
"referrer": https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig-2
}
]
Como listar referenciadores de escopo cruzado
O método listReferrers
também retorna informações sobre referenciadores que existem
dentro de outros escopos, como outras regiões ou zonas. Por exemplo, digamos que
você tenha uma instância de VM que pertence a um grupo de instâncias gerenciadas regional
(MIG regional, na sigla em inglês):
Você chama o método listReferrers
que segmenta esta instância com a seguinte
solicitação HTTP:
GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/new-instance-a3/referrers
O servidor retorna uma resposta de lista padrão contendo os seguintes itens:
"items": [
{
"target": https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/new-instance-a3,
"referenceType": MEMBER_OF,
"referrer": https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/instanceGroups/example-rmig
}
]
A resposta mostra o grupo de instâncias regionais na lista de referenciadores.
Como listar referenciadores para todos os recursos dentro de uma coleção
Com o caractere curinga (-
), é possível solicitar uma lista de todos os referenciadores de todas as instâncias de VM em uma zona específica. A solicitação pode ser feita com uma solicitação HTTP semelhante a esta:
GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/-/referrers
O servidor retorna uma resposta que contém uma lista de instâncias de VM na zona e dos referenciadores da instância. Por exemplo:
"items": [
{
"target": https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a1,
"referenceType": MEMBER_OF,
"referrer": https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig
},
{
"target": https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a2,
"referenceType": MEMBER_OF,
"referrer": https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig
},
{
"target": https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a2,
"referenceType": MEMBER_OF,
"referrer": https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig-2
},
{
"target": https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/new-instance-a3,
"referenceType": MEMBER_OF,
"referrer": https://compute.googleapis.com/compute/v1/projects/myproject/regions/us-central1/instanceGroups/example-rmig
}
]
A seguir
- Saiba mais sobre grupos de instâncias.
- Veja uma lista de zonas e regiões aplicáveis.