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 Google Cloud 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. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google 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:
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.
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):
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
- Consulta más información sobre los grupos de instancias.
- Consulta la lista de zonas y regiones aplicables.