Como ver referenciadores para instâncias de VM

Nesta página, descrevemos como usar a API List Referrers para exibir os relacionamentos entre recursos. Especificamente, é possível ver os relacionamentos entre instâncias de VM e outros recursos do Compute Engine.

Ao usar essa API, o Compute Engine retorna uma lista de referências que descrevem:

  • o recurso de origem: o recurso que aponta para o recurso de destino;
  • o recurso de destino: o recurso em questão;
  • e o tipo de referência: o relacionamento entre os dois recursos.

Por exemplo, é possível usar essa API para exibir uma lista de grupos de instâncias gerenciados a que uma instância de VM pertence.

Antes de começar

Limitações

  • Só é possível listar relações entre instâncias de VM e grupos de instâncias, ambos gerenciados e não gerenciados.
  • Não é possível listar os referenciadores usando a ferramenta de linha de comando gcloud ou o Console do Google Cloud Platform.

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, suponha 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 esse relacionamento, 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; o referrer, o grupo de instâncias de example-ig.

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, suponha que você tenha uma instância de VM que pertence a um grupo regional de instâncias gerenciadas:

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 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-rig
  }
]

A resposta mostra o grupo regional de instâncias gerenciadas na lista de referenciadores.

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-rig
  }
]

A seguir

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Compute Engine