Ver referencias a instancias de VM


Si desea ver las relaciones entre las instancias de VM y otros recursos de Compute Engine, use el método API REST listReferrers .

Cuando usas REST, Compute Engine devuelve una lista de referencias que describen:

  • El recurso de origen: el recurso que apunta al recurso de destino.
  • El recurso objetivo: el recurso en cuestión.
  • El tipo de referencia: la relación entre los dos recursos.

Por ejemplo, puedes usar REST para ver cómodamente una lista de grupos de instancias a los que pertenece una instancia de VM.

Antes de comenzar

  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

      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 obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

Limitaciones

  • Solo puede enumerar las relaciones entre instancias de VM y grupos de instancias (tanto administrados como no administrados).
  • Solo puede enumerar referencias mediante REST.

Listar un único referente

Un referente es un recurso que hace referencia a otro recurso. Para las instancias de VM, un referente común es un grupo de instancias.

Por ejemplo, supongamos que tiene una instancia de VM llamada example-ig-a1 en la zona us-central1-a . La instancia de VM es miembro de un grupo de instancias llamado example-ig en la misma zona, como se muestra en el siguiente diagrama:

Una instancia de máquina virtual es miembro de un grupo de instancias en el             misma zona.

Para ver esta relación, llame al método listReferrers en example-ig-a1 con la siguiente solicitud HTTP:

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

El servidor devuelve una respuesta de lista estándar que contiene los siguientes elementos:

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

En este caso, el target es example-ig-a1 , que es MEMBER_OF del referrer , el grupo example-ig instance .

Listado de múltiples referentes

Si un recurso tiene más de una referencia, la respuesta devuelve una lista de todas las referencias para el recurso de destino. Si una instancia pertenece a dos grupos de instancias, la respuesta contiene ambos grupos de instancias.

Si una instancia de máquina virtual es miembro de dos grupos de instancias,             la respuesta contiene ambos grupos de instancias.

Por ejemplo, la siguiente respuesta indica que la instancia denominada example-instance-a2 pertenece a dos grupos de instancias, example-ig y 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
  }
]

Listado de referentes de ámbito cruzado

El método listReferrers también devuelve información sobre referentes que existen dentro de otros ámbitos, como otras regiones o zonas. Por ejemplo, supongamos que tiene una instancia de VM que pertenece a un grupo de instancias administrado regional (MIG regional):

En la región us-central1, instancia nueva-instancia-a3 en             zona us-central1-a es miembro de             el grupo de instancias regionales example-rmig.

Llama al método listReferrers dirigido a esta instancia con la siguiente solicitud HTTP:

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

El servidor devuelve una respuesta de lista estándar que contiene los siguientes elementos:

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

La respuesta muestra el grupo de instancias regional en la lista de referentes.

Listado de referencias a todos los recursos dentro de una colección.

Al utilizar el carácter comodín ( - ), puede solicitar una lista de todas las referencias a todas las instancias de VM dentro de una zona específica. La solicitud se puede realizar con una solicitud HTTP similar a la siguiente:

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

El servidor devuelve una respuesta que contiene una lista de instancias de VM en la zona y referencias a la instancia. Por ejemplo:

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

¿Qué sigue?