Ver referencias a las instancias de VM


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

Cuando usas REST, Compute Engine muestra una lista de referencias que describen lo siguiente:

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

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

Antes de empezar

  • Configura la autenticación si aún no lo hiciste. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.

    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.

      Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init

    Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Limitaciones

  • Solo puedes enumerar las relaciones entre las instancias de VM y los grupos de instancias (administrados y no administrados).
  • Solo puedes enumerar referencias con REST.

Genera una lista de una única referencia

Una referencia es un recurso que se refiere a otro recurso. Para instancias de VM, una referencia común es un grupo de instancias.

Por ejemplo, supongamos que tienes 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 la misma zona.

Para ver esta relación, llama 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 muestra una lista de respuesta 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 un MEMBER_OF de referrer, el grupo example-ig instance.

Genera una lista de varias referencias

Si un recurso tiene más de una referencia, la respuesta muestra una lista de todas las referencias del 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 llamada 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
  }
]

Genera una lista de referencias de alcance cruzado

El método listReferrers también muestra información sobre las referencias que existen dentro de otros alcances, como otras regiones o zonas. Por ejemplo, supongamos que tienes una instancia de VM que pertenece a un grupo de instancias administrado regional (MIG regional):

En la región us-central1, la instancia new-instance-a3 en la zona us-central1-a es miembro del grupo de instancias regional example-rmig.

Llama al método listReferrers orientado 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 muestra 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 referencias.

Genera una lista de referencias para todos los recursos dentro de una colección

Si usas el carácter comodín (-), puedes solicitar una lista de 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 que se muestra a continuación:

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

El servidor muestra 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?