Se quiser ver as relações entre instâncias de VM e outros recursos do Compute Engine, use o método da API REST listReferrers
.
Quando usa REST, o Compute Engine devolve uma lista de referências que descrevem:
- O recurso de origem: o recurso que está a apontar para o recurso de destino
- O recurso de destino: o recurso em questão
- O tipo de referência: a relação entre os dois recursos
Por exemplo, pode usar o REST para ver facilmente uma lista de grupos de instâncias aos quais uma instância de VM pertence.
Antes de começar
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Trusted Cloud by S3NS serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Instale a CLI Google Cloud e, em seguida, inicie sessão na CLI gcloud com a sua identidade federada. Depois de iniciar sessão, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Para mais informações, consulte o artigo Autenticar para usar REST na Trusted Cloud documentação de autenticação.
Limitações
- Só pode listar relações entre instâncias de VM e grupos de instâncias (geridos e não geridos).
- Só pode listar os referentes através do REST.
Listar um único referenciador
Um referenciador é um recurso que faz referência a outro recurso. Para instâncias de VM, um referenciador comum é um grupo de instâncias.
Por exemplo, suponha que tem uma instância de VM denominada example-ig-a1
na zona us-central1-a
. A instância de VM é membro de um grupo de instâncias denominado
example-ig
na mesma zona, conforme mostrado no diagrama abaixo:
Para ver esta relação, chame o método listReferrers
em example-ig-a1
com o seguinte pedido HTTP:
GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a1/referrers
O servidor devolve uma resposta de lista padrão que contém 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
}
]
Neste caso, o target
é example-ig-a1
, que é um MEMBER_OF
o referrer
, o grupo example-ig instance
.
Listar vários referenciadores
Se um recurso tiver mais do que um referenciador, a resposta devolve uma lista de todos os referenciadores para o recurso de destino. Se uma instância pertencer a dois grupos de instâncias, a resposta contém ambos os grupos de instâncias.
Por exemplo, a resposta seguinte indica que a instância denominada
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
}
]
Listagem de referenciadores de vários âmbitos
O método listReferrers
também devolve informações sobre referenciadores que existem
noutros âmbitos, como outras regiões ou zonas. Por exemplo, suponha que tem uma instância de VM que pertence a um grupo de instâncias geridas regional (GIG regional):
Chama o método listReferrers
segmentando esta instância com o seguinte pedido HTTP:
GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/new-instance-a3/referrers
O servidor devolve uma resposta de lista padrão que contém 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 regional na lista de referenciadores.
Indicar referenciadores para todos os recursos numa coleção
Ao usar o caráter universal (-
), pode pedir uma lista de todos os referenciadores de todas as instâncias de VM numa zona específica. O pedido pode ser feito com um pedido HTTP semelhante ao seguinte:
GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/-/referrers
O servidor devolve uma resposta que contém uma lista de instâncias de VM na zona e referências à 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
}
]
O que se segue?
- Saiba mais acerca dos grupos de instâncias.
- Veja uma lista de zonas e regiões aplicáveis.