Visualiza las referencias a las instancias de Compute Engine

Para ver las relaciones entre las instancias de Compute Engine y otros recursos de Compute Engine, usa gcloud CLI o REST.

Cuando enumeras las referencias a las instancias de procesamiento, Compute Engine devuelve una lista de referencias que describen lo siguiente:

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

Por ejemplo, puedes enumerar los remitentes para ver una lista de los grupos de instancias a los que pertenece una instancia de procesamiento.

Antes de comenzar

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

    Selecciona la pestaña según cómo planeas usar las muestras de esta página:

    gcloud

    1. Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada. Después de acceder, inicializa Google Cloud CLI con el siguiente comando:

      gcloud init
  • Configura una región y una zona predeterminadas.
  • REST

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

      Instala Google Cloud CLI y, luego, accede a gcloud CLI con tu identidad federada.

    Para obtener más información, consulta Autentícate para usar REST en la documentación de autenticación de Google Cloud .

Limitaciones

  • Solo puedes enumerar las relaciones entre las instancias de procesamiento y los grupos de instancias. Se admiten los grupos de instancias administrados y no administrados.

Enumera una única referencia

Una referencia es un recurso que se refiere a otro recurso. Para las instancias de procesamiento, un referente común es un grupo de instancias.

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

Una instancia de procesamiento es miembro de un grupo de instancias en la
            misma zona.

Para ver esta relación, usa gcloud CLI o REST:

gcloud

Usa el comando de gcloud compute instances list-referrers:

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

Reemplaza lo siguiente:

  • INSTANCE_NAME: Es el nombre de la instancia de procesamiento para la que deseas enumerar las referencias.
  • ZONE: Es la zona en la que se encuentra la instancia de procesamiento.

Por ejemplo, para enumerar las referencias de la instancia example-ig-a1 en la zona us-central1-a, ejecuta el siguiente comando:

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

El resultado es similar a lo siguiente:

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

Realiza una solicitud GET al método instances.listReferrers.

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

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que se encuentra la instancia de procesamiento.
  • ZONE: Es la zona en la que se encuentra la instancia de procesamiento.
  • INSTANCE_NAME: Es el nombre de la instancia de procesamiento para la que deseas enumerar las referencias.

Por ejemplo, para enumerar las referencias de la instancia example-ig-a1 en la zona us-central1-a, realiza 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 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 recurso objetivo es example-ig-a1, que es un MEMBER_OF del recurso de referencia, el grupo de instancias example-ig.

Cómo especificar varias URLs de referencia

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

Si una instancia de procesamiento es miembro de dos grupos de instancias,
            la respuesta contiene ambos grupos de instancias.

Por ejemplo, supongamos que la instancia llamada example-instance-a2 en la zona us-central1-a pertenece a dos grupos de instancias, example-ig y example-ig-2:

gcloud

Usa el comando de gcloud compute instances list-referrers:

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

Reemplaza lo siguiente:

  • INSTANCE_NAME: Es el nombre de la instancia de procesamiento para la que deseas enumerar las referencias.
  • ZONE: Es la zona en la que se encuentra la instancia de procesamiento.

Por ejemplo, para enumerar las referencias de la instancia example-instance-a2 en la zona us-central1-a, ejecuta el siguiente comando:

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

El resultado es similar a lo siguiente:

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

Realiza una solicitud GET al método instances.listReferrers.

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

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que se encuentra la instancia de procesamiento.
  • ZONE: Es la zona en la que se encuentra la instancia de procesamiento.
  • INSTANCE_NAME: Es el nombre de la instancia de procesamiento para la que deseas enumerar las referencias.

Por ejemplo, para enumerar las referencias de la instancia example-instance-a2 en la zona us-central1-a, realiza la siguiente solicitud HTTP:

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

También puedes ver información sobre los remitentes que existen dentro de otros permisos, como otras regiones o zonas. Por ejemplo, supongamos que tienes una instancia de procesamiento 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.

Para ver las referencias que se orientan a esta instancia, usa gcloud CLI o REST:

gcloud

Usa el comando de gcloud compute instances list-referrers:

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

Reemplaza lo siguiente:

  • INSTANCE_NAME: Es el nombre de la instancia de procesamiento para la que deseas enumerar las referencias.
  • ZONE: Es la zona en la que se encuentra la instancia de procesamiento.

Por ejemplo, para enumerar las referencias de la instancia new-instance-a3 en la zona us-central1-a, ejecuta el siguiente comando:

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

El resultado es similar a lo siguiente:

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

Realiza una solicitud GET al método instances.listReferrers.

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

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que se encuentra la instancia de procesamiento.
  • ZONE: Es la zona en la que se encuentra la instancia de procesamiento.
  • INSTANCE_NAME: Es el nombre de la instancia de procesamiento para la que deseas enumerar las referencias.

Por ejemplo, para enumerar las referencias de la instancia new-instance-a3 en la zona us-central1-a, realiza 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 de una colección

Con el carácter comodín (-), puedes solicitar una lista de todas las referencias a todas las instancias de procesamiento dentro de una zona específica:

gcloud

Usa el comando gcloud compute instances list-referrers con el carácter comodín -:

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

Reemplaza ZONE por la zona en la que deseas enumerar las referencias de todas las instancias de procesamiento.

Por ejemplo, para enumerar los referentes de todas las instancias de procesamiento en la zona us-central1-a, ejecuta el siguiente comando:

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

El resultado es similar a lo siguiente:

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

Realiza una solicitud GET al método instances.listReferrers con el carácter comodín -:

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

Reemplaza lo siguiente:

  • PROJECT_ID: Es el ID del proyecto en el que deseas enumerar las referencias.
  • ZONE: Es la zona en la que deseas enumerar las referencias de todas las instancias de procesamiento.

Por ejemplo, para enumerar las referencias de todas las instancias de procesamiento en la zona us-central1-a, realiza la siguiente solicitud HTTP:

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 procesamiento en la zona y referencias a cada 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?