Pour afficher les relations entre les instances Compute Engine et les autres ressources Compute Engine, utilisez la gcloud CLI ou REST.
Lorsque vous listez les référents des instances de calcul, 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 lister les référents pour afficher la liste des groupes d'instances auxquels une instance de calcul appartient.
Avant de commencer
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification permet 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 en sélectionnant l'une des options suivantes :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
gcloud
-
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :
gcloud init
-
- Définissez une région et une zone par défaut.
REST
Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.
Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud .
Limites
- Vous ne pouvez lister que les relations entre les instances de calcul et les groupes d'instances. Les groupes d'instances gérés et non gérés sont acceptés.
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 calcul, un référent courant est un groupe d'instances.
Par exemple, supposons que vous disposiez d'une instance de calcul nommée example-ig-a1 dans la zone us-central1-a. L'instance de calcul est membre d'un groupe d'instances appelé example-ig dans la même zone, comme illustré dans le schéma suivant :
Pour afficher cette relation, utilisez la gcloud CLI ou REST :
gcloud
Exécutez la commande gcloud compute instances list-referrers :
gcloud compute instances list-referrers INSTANCE_NAME \
--zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance de calcul pour laquelle vous souhaitez lister les référents.ZONE: zone où se trouve l'instance de calcul.
Par exemple, pour lister les référents de l'instance example-ig-a1 dans la zone us-central1-a, exécutez la commande suivante :
gcloud compute instances list-referrers example-ig-a1 \
--zone=us-central1-a
Le résultat ressemble à ce qui suit :
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
Envoyez une requête GET à la méthode instances.listReferrers :
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/referrers
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel se trouve l'instance de calcul.ZONE: zone où se trouve l'instance de calcul.INSTANCE_NAME: nom de l'instance de calcul pour laquelle vous souhaitez lister les référents.
Par exemple, pour lister les référents de l'instance example-ig-a1 dans la zone us-central1-a, envoyez 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 ressource cible est example-ig-a1, qui est un MEMBER_OF de la ressource référente, le groupe d'instances example-ig.
Répertorier plusieurs référents
Si une ressource comporte plusieurs URL de provenance, la réponse renvoie une liste de toutes les URL de provenance de la ressource cible. Si une instance appartient à deux groupes d'instances, la réponse contient les deux groupes d'instances.
Par exemple, supposons que l'instance nommée example-instance-a2 dans la zone us-central1-a appartienne à deux groupes d'instances, example-ig et example-ig-2 :
gcloud
Exécutez la commande gcloud compute instances list-referrers :
gcloud compute instances list-referrers INSTANCE_NAME \
--zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance de calcul pour laquelle vous souhaitez lister les référents.ZONE: zone où se trouve l'instance de calcul.
Par exemple, pour lister les référents de l'instance example-instance-a2 dans la zone us-central1-a, exécutez la commande suivante :
gcloud compute instances list-referrers example-instance-a2 \
--zone=us-central1-a
Le résultat ressemble à ce qui suit :
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
Envoyez une requête GET à la méthode instances.listReferrers :
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/referrers
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel se trouve l'instance de calcul.ZONE: zone où se trouve l'instance de calcul.INSTANCE_NAME: nom de l'instance de calcul pour laquelle vous souhaitez lister les référents.
Par exemple, pour lister les référents de l'instance example-instance-a2 dans la zone us-central1-a, envoyez la requête HTTP suivante :
GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance-a2/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-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
Vous pouvez également afficher des informations sur les référents qui existent dans d'autres champs d'application, tels que d'autres régions ou zones. Par exemple, supposons que vous disposiez d'une instance de calcul appartenant à un groupe d'instances géré régional (MIG régional) :
Pour afficher les référents ciblant cette instance, utilisez la gcloud CLI ou REST :
gcloud
Exécutez la commande gcloud compute instances list-referrers :
gcloud compute instances list-referrers INSTANCE_NAME \
--zone=ZONE
Remplacez les éléments suivants :
INSTANCE_NAME: nom de l'instance de calcul pour laquelle vous souhaitez lister les référents.ZONE: zone où se trouve l'instance de calcul.
Par exemple, pour lister les référents de l'instance new-instance-a3 dans la zone us-central1-a, exécutez la commande suivante :
gcloud compute instances list-referrers new-instance-a3 \
--zone=us-central1-a
Le résultat ressemble à ce qui suit :
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
Envoyez une requête GET à la méthode instances.listReferrers :
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/referrers
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel se trouve l'instance de calcul.ZONE: zone où se trouve l'instance de calcul.INSTANCE_NAME: nom de l'instance de calcul pour laquelle vous souhaitez lister les référents.
Par exemple, pour lister les référents de l'instance new-instance-a3 dans la zone us-central1-a, envoyez 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
En utilisant le caractère générique (-), vous pouvez demander la liste de tous les référents de toutes les instances de calcul d'une zone spécifique :
gcloud
Exécutez la commande gcloud compute instances list-referrers avec le caractère générique - :
gcloud compute instances list-referrers - \
--zone=ZONE
Remplacez ZONE par la zone dans laquelle vous souhaitez lister les référents pour toutes les instances de calcul.
Par exemple, pour lister les référents de toutes les instances de calcul de la zone us-central1-a, exécutez la commande suivante :
gcloud compute instances list-referrers - \
--zone=us-central1-a
Le résultat ressemble à ce qui suit :
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
Envoyez une requête GET à la méthode instances.listReferrers avec le caractère générique - :
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/-/referrers
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel vous souhaitez lister les référents.ZONE: zone dans laquelle vous souhaitez lister les référents pour toutes les instances de calcul.
Par exemple, pour lister les référents de toutes les instances de calcul de la zone us-central1-a, envoyez la requête HTTP 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 calcul dans la zone et des références à chaque instance. 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.