Visualizar referenciadores de instâncias de VM

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:

Uma instância de máquina virtual é membro de um grupo de instâncias na mesma zona.

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.

Se uma instância de máquina virtual for membro de 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):

Na região us-central1, a instância new-instance-a3 na zona us-central1-a é membro do grupo de instâncias regional example-rmig.

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?