Visualizando referenciadores para instâncias de VM


Se você quiser visualizar as relações entre instâncias de VM e outros recursos do Compute Engine, use o método da API REST listReferrers .

Quando você usa REST, 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 alvo: o recurso em questão
  • O tipo de referência: a relação entre os dois recursos

Por exemplo, você pode usar REST para visualizar convenientemente uma lista de grupos de instâncias aos quais uma instância de VM pertence.

Antes de começar

  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar 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.

      After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Limitações

  • Você só pode listar relacionamentos entre instâncias de VM e grupos de instâncias (gerenciadas e não gerenciadas).
  • Você só pode listar referenciadores usando REST.

Listando 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:

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

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 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/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 de example-ig instance .

Listando vários referenciadores

Se um recurso tiver mais de um referenciador, a resposta retornará uma lista de todos os referenciadores do recurso de destino. Se uma instância pertencer a dois grupos de instâncias, a resposta conterá 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 os dois grupos de instâncias.

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

Listando 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 pertença a um grupo regional de instâncias gerenciadas (MIG regional):

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

Você chama o método listReferrers direcionado a 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.

Listando referenciadores para todos os recursos de uma coleção

Usando o caractere curinga ( - ), você pode solicitar uma lista de todos os referenciadores para 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 contendo 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 vem a seguir