Ver referentes a instancias de máquina virtual

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

Cuando usas REST, Compute Engine devuelve 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 fácilmente una lista de los grupos de instancias a los que pertenece una instancia de VM.

Antes de empezar

  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Trusted Cloud by S3NS servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

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

      Instala Google Cloud CLI y, a continuación, inicia sesión en gcloud CLI con tu identidad federada. Después de iniciar sesión, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Trusted Cloud .

Limitaciones

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

Listar una sola referente

Un referente es un recurso que hace referencia a otro recurso. En el caso de las instancias de VM, un referente habitual 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, tal como se muestra en el diagrama de abajo:

Una instancia de máquina virtual es miembro de un grupo de instancias de 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 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 un MEMBER_OF el referrer, el grupo example-ig instance.

Lista de varios referentes

Si un recurso tiene más de un referente, la respuesta devuelve una lista de todos los referentes del recurso de destino. Si una instancia pertenece a dos grupos de instancias, la respuesta contiene ambos grupos.

Si una instancia de máquina virtual pertenece a dos grupos de instancias, la respuesta contendrá ambos grupos.

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

Listar referentes entre ámbitos

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

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

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

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

Mostrar los referentes de todos los recursos de una colección

Si usas el carácter comodín (-), puedes solicitar una lista de todos los referentes de todas las instancias de VM de una zona específica. La solicitud se puede hacer 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
  }
]

Siguientes pasos