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 selecionando uma das seguintes opções:
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
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.