Afficher les référents associés à des instances de VM

Cette page explique comment utiliser l'API List Referrers pour afficher les relations entre les ressources, en particulier, les relations entre les instances de VM et les autres ressources Compute Engine.

Lorsque vous utilisez cette API, Compute Engine renvoie une liste de références décrivant les éléments suivants :

  • Ressource source : ressource qui pointe vers la ressource cible
  • Ressource cible : ressource en question
  • Type de référence : relation entre les deux ressources

Par exemple, vous pouvez utiliser cette API pour afficher facilement une liste des groupes d'instances gérés auxquels une instance de VM appartient.

Avant de commencer

Limites

  • Vous ne pouvez répertorier que les relations entre des instances de VM et des groupes d'instances (gérés et non gérés).
  • Il n'est pas possible de répertorier les référents à l'aide de l'outil gcloud ni de la console Google Cloud Platform.

Répertorier un seul référent

Un référent est une ressource qui fait référence à une autre ressource. Pour les instances de VM, un référent commun est un groupe d'instances.

Par exemple, supposons que vous ayez une instance de VM nommée "example-ig-a1" dans la zone us-central1-a. L'instance de VM appartient à un groupe d'instances appelé "example-ig" qui réside dans la même zone, comme illustré dans le diagramme ci-dessous :

Pour voir cette relation, appelez la méthode listReferrers sur "example-ig-a1" avec la requête HTTP suivante :

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

Le serveur renvoie une réponse avec une liste standard contenant les éléments suivants :

"items": [
  {
    "target": https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a1,
    "referenceType": MEMBER_OF,
    "referrer": https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig
  }
]

Dans ce cas, la cible (target) est example-ig-a1, qui est membre (MEMBER_OF) du référent (referrer), le groupe d'instances example-ig.

Répertorier plusieurs référents

Si une ressource comporte plusieurs référents, la réponse renvoie la liste de tous les référents pour la ressource cible. Si une instance appartient à deux groupes d'instances, la réponse contient les deux groupes d'instances.

Par exemple, la réponse suivante indique que l'instance nommée "example-instance-a2" appartient à deux groupes d'instances, "example-ig" et "example-ig-2" :

"items": [
  {
    "target": https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance-a2,
    "referenceType": MEMBER_OF,
    "referrer": https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig
  },
  {
    "target": https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance-a2,
    "referenceType": MEMBER_OF,
    "referrer": https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig-2
  }
]

Répertorier les référents associés à plusieurs champs d'application

La méthode listReferrers renvoie également des informations sur les référents qui existent dans d'autres champs d'application, telles que d'autres régions ou zones. Par exemple, supposons que vous ayez une instance de VM appartenant à un groupe d'instances géré régional :

Pour appeler la méthode listReferrers ciblant cette instance, exécutez la requête HTTP suivante :

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

Le serveur renvoie une réponse avec une liste standard contenant les éléments suivants :

"items": [
  {
    "target": https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/new-instance-a3,
    "referenceType": MEMBER_OF,
    "referrer": https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/instanceGroups/example-rig
  }
]

La réponse contient le groupe d'instances géré régional dans la liste des référents.

Répertorier les référents associés à toutes les ressources d'une collection

Vous pouvez vous servir du caractère générique (-) pour demander la liste de tous les référents associés à l'ensemble des instances de VM dans la zone spécifiée. La requête peut être envoyée via une requête HTTP semblable à la suivante :

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

Le serveur renvoie une réponse contenant une liste d'instances de VM dans la zone et des références à ces instances. Exemple :

"items": [
  {
    "target": https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a1,
    "referenceType": MEMBER_OF,
    "referrer": https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig
  },
  {
    "target": https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a2,
    "referenceType": MEMBER_OF,
    "referrer": https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig
  },
  {
    "target": https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-ig-a2,
    "referenceType": MEMBER_OF,
    "referrer": https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-ig-2
  },
  {
    "target": https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/new-instance-a3,
    "referenceType": MEMBER_OF,
    "referrer": https://www.googleapis.com/compute/v1/projects/myproject/regions/us-central1/instanceGroups/example-rig
  }
]

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine