Si vous souhaitez afficher les relations entre les instances de VM et les autres ressources Compute Engine, appelez la méthode de l'API REST listReferrers
.
Lorsque vous utilisez REST, 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 REST pour afficher facilement la liste des groupes d'instances auxquels une instance de VM appartient.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
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).
- Vous ne pouvez répertorier les référents qu'à l'aide de REST.
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 disposiez d'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
dans la même zone, comme illustré dans le schéma ci-dessous :
Pour voir cette relation, appelez la méthode listReferrers
sur example-ig-a1
avec la requête HTTP suivante :
GET https://compute.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://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
}
]
Dans ce cas, la cible (target
) est example-ig-a1
, qui est membre (MEMBER_OF
) du référent (referrer
), le groupe example-ig instance
.
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://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
}
]
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 disposiez d'une instance de VM appartenant à un groupe d'instances géré régional (MIG régional) :
Pour appeler la méthode listReferrers
ciblant cette instance, exécutez la requête HTTP suivante :
GET https://compute.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://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 réponse contient le groupe d'instances 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 une zone spécifique. La requête peut être envoyée via une requête HTTP semblable à la suivante :
GET https://compute.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://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
}
]
Étape suivante
- Apprenez-en plus sur les groupes d'instances.
- Consultez la liste des zones et régions concernées.