Ver referenciadores para instâncias do Compute Engine

Para visualizar as relações entre as instâncias do Compute Engine e outros recursos do Compute Engine, use a CLI gcloud ou a REST.

Quando você lista os referenciadores de instâncias de computação, 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, é possível listar referenciadores para ver uma lista de grupos de instâncias a que uma instância de computação pertence.

Antes de começar

Limitações

  • Só é possível listar relações entre instâncias de computação e grupos de instâncias. Os grupos de instâncias gerenciadas e não gerenciadas são compatíveis.

Listar um único referenciador

Um referenciador é um recurso que se refere a outro recurso. Para instâncias de computação, um referenciador comum é um grupo de instâncias.

Por exemplo, suponha que você tenha uma instância de computação chamada example-ig-a1 na zona us-central1-a. A instância de computação é membro de um grupo de instâncias chamado example-ig na mesma zona, conforme mostrado no diagrama a seguir:

Uma instância de computação é membro de um grupo de instâncias na
            mesma zona.

Para visualizar essa relação, use a CLI gcloud ou a REST:

gcloud

Use o comando gcloud compute instances list-referrers:

gcloud compute instances list-referrers INSTANCE_NAME \
    --zone=ZONE

Substitua:

  • INSTANCE_NAME: o nome da instância de computação para listar os referenciadores.
  • ZONE: a zona em que a instância de computação está localizada.

Por exemplo, para listar referenciadores da instância example-ig-a1 na zona us-central1-a, execute o seguinte comando:

gcloud compute instances list-referrers example-ig-a1 \
    --zone=us-central1-a

O resultado será o seguinte:

REFERRER                                                                                          REFERENCE_TYPE  TARGET
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig  MEMBER_OF       https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a1

REST

Faça uma solicitação GET ao método instances.listReferrers:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/referrers

Substitua:

  • PROJECT_ID: o ID do projeto em que a instância de computação está localizada.
  • ZONE: a zona em que a instância de computação está localizada.
  • INSTANCE_NAME: o nome da instância de computação para listar os referenciadores.

Por exemplo, para listar referenciadores da instância example-ig-a1 na zona us-central1-a, faça 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 recurso de destino é example-ig-a1, que é um MEMBER_OF do recurso referenciador, o grupo de instâncias example-ig.

Listar vários referenciadores

Se um recurso tiver mais de um referenciador, a resposta vai retornar uma lista de todos os referenciadores do recurso de destino. Se uma instância pertencer a dois grupos de instâncias, a resposta vai conter os dois grupos.

Se uma instância de computação for membro de dois grupos de instâncias,
            a resposta vai conter os dois grupos.

Por exemplo, suponha que a instância chamada example-instance-a2 na zona us-central1-a pertença a dois grupos de instâncias, example-ig e example-ig-2:

gcloud

Use o comando gcloud compute instances list-referrers:

gcloud compute instances list-referrers INSTANCE_NAME \
    --zone=ZONE

Substitua:

  • INSTANCE_NAME: o nome da instância de computação para listar os referenciadores.
  • ZONE: a zona em que a instância de computação está localizada.

Por exemplo, para listar referenciadores da instância example-instance-a2 na zona us-central1-a, execute o seguinte comando:

gcloud compute instances list-referrers example-instance-a2 \
    --zone=us-central1-a

O resultado será o seguinte:

REFERRER                                                                                            REFERENCE_TYPE  TARGET
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig    MEMBER_OF       https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance-a2
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig-2  MEMBER_OF       https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance-a2

REST

Faça uma solicitação GET ao método instances.listReferrers:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/referrers

Substitua:

  • PROJECT_ID: o ID do projeto em que a instância de computação está localizada.
  • ZONE: a zona em que a instância de computação está localizada.
  • INSTANCE_NAME: o nome da instância de computação para listar os referenciadores.

Por exemplo, para listar referenciadores da instância example-instance-a2 na zona us-central1-a, faça a seguinte solicitação HTTP:

GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance-a2/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-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"
    }
  ]
}

Listar referenciadores de escopo cruzado

Também é possível ver informações sobre referenciadores que existem em outros escopos, como outras regiões ou zonas. Por exemplo, suponha que você tenha uma instância de computação que pertença a um grupo gerenciado de instâncias regional (MIG regional):

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

Para ver os referenciadores que segmentam essa instância, use a CLI gcloud ou a REST:

gcloud

Use o comando gcloud compute instances list-referrers:

gcloud compute instances list-referrers INSTANCE_NAME \
    --zone=ZONE

Substitua:

  • INSTANCE_NAME: o nome da instância de computação para listar os referenciadores.
  • ZONE: a zona em que a instância de computação está localizada.

Por exemplo, para listar referenciadores da instância new-instance-a3 na zona us-central1-a, execute o seguinte comando:

gcloud compute instances list-referrers new-instance-a3 \
    --zone=us-central1-a

O resultado será o seguinte:

REFERRER                                                                                          REFERENCE_TYPE  TARGET
https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/instanceGroups/example-rmig  MEMBER_OF       https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/new-instance-a3

REST

Faça uma solicitação GET ao método instances.listReferrers:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/referrers

Substitua:

  • PROJECT_ID: o ID do projeto em que a instância de computação está localizada.
  • ZONE: a zona em que a instância de computação está localizada.
  • INSTANCE_NAME: o nome da instância de computação para listar os referenciadores.

Por exemplo, para listar referenciadores da instância new-instance-a3 na zona us-central1-a, faça 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.

Listar referenciadores para todos os recursos em uma coleção

Ao usar o caractere curinga (-), é possível solicitar uma lista de todos os referenciadores de todas as instâncias de computação em uma zona específica:

gcloud

Use o comando gcloud compute instances list-referrers com o caractere curinga -:

gcloud compute instances list-referrers - \
    --zone=ZONE

Substitua ZONE pela zona em que você quer listar os referenciadores de todas as instâncias de computação.

Por exemplo, para listar os referenciadores de todas as instâncias de computação na zona us-central1-a, execute o seguinte comando:

gcloud compute instances list-referrers - \
    --zone=us-central1-a

O resultado será o seguinte:

REFERRER                                                                                            REFERENCE_TYPE  TARGET
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig    MEMBER_OF       https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a1
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig    MEMBER_OF       https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a2
https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig-2  MEMBER_OF       https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a2
https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/instanceGroups/example-rmig  MEMBER_OF       https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/new-instance-a3

REST

Faça uma solicitação GET ao método instances.listReferrers com o caractere curinga -:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/-/referrers

Substitua:

  • PROJECT_ID: o ID do projeto em que você quer listar os referenciadores.
  • ZONE: a zona em que você quer listar os referenciadores de todas as instâncias de computação.

Por exemplo, para listar os referenciadores de todas as instâncias de computação na zona us-central1-a, faça a seguinte solicitação HTTP:

GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/-/referrers

O servidor retorna uma resposta com uma lista de instâncias de computação na zona e referências a cada instância. 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