Cette page contient des conseils qui peuvent vous être utiles lorsque vous utilisez l'outil de ligne de commande gcloud
pour gérer vos ressources Compute Engine. Pour obtenir la liste complète de tous les indicateurs et commandes gcloud compute
disponibles, vous pouvez utiliser l'aide intégrée de la commande (--help
) ou la documentation de référence ou la documentation principale de gcloud.
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 :
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Récupérer des informations sur les ressources
Vous pouvez récupérer des informations sur les ressources Compute Engine de deux manières : en obtenant la liste des ressources à l'aide de la commande list
ou en obtenant des détails sur une ressource spécifique avec la commande describe
.
Récupérer des ressources à l'aide de commandes list
Les commandes list
sont conçues pour renvoyer un tableau facilement lisible contenant les données les plus pertinentes pour les ressources demandées. Vous pouvez éventuellement filtrer vos résultats pour obtenir une liste plus courte et plus pertinente.
- Filtrage par nom via des expressions régulières
- Vous pouvez utiliser la syntaxe RE2 pour faire correspondre des noms de ressources (par exemple, des noms d'instance ou de disque). Reportez-vous à page de description de la commande
gcloud compute instances list
. - Indicateurs de commande
--limit
Nombre maximal de résultats à renvoyer. Cette option est particulièrement utile lorsqu'elle est utilisée avec l'option
--sort-by
décrite dans la section Récupérer des ressources à l'aide de commandes describe.--sort-by SORT_BY
Méthode de tri sur un champ, le cas échéant. Pour effectuer un tri par ordre décroissant, ajoutez un tilde ("~")en préfixe de la valeur. Cette option interagit avec d'autres options, qui sont appliquées dans l'ordre suivant :
--flatten
,--sort-by
,--filter
,--limit
.
Récupérer des ressources à l'aide de commandes describe
Les commandes describe
sont conçues pour afficher des données sur une ressource spécifique. Vous devez indiquer le nom de la ressource dans la commande describe
. Si vous avez oublié le nom de la ressource, vous pouvez exécuter une commande list
pour obtenir la liste des ressources. Par exemple, les deux commandes ci-dessous illustrent un scénario dans lequel vous répertoriez des images pour obtenir un nom d'image et son projet associé, afin de pouvoir les fournir en tant qu'entrées d'une commande describe
:
gcloud compute images list
NAME PROJECT FAMILY DEPRECATED STATUS ... centos-7-v20170620 centos-cloud centos-7 READY ... debian-9-stretch-v20170619 debian-cloud debian-9 READY ...
gcloud compute images describe debian-9-stretch-v20170619 --project debian-cloud
Le format de sortie par défaut des commandes describe
est YAML, mais vous pouvez utiliser l'indicateur --format
pour choisir entre les formats de sortie JSON, YAML et texte.
Le format JSON peut se révéler utile si vous comptez analyser les résultats, tandis que le format texte place chaque propriété sur une ligne distincte.
gcloud compute regions describe us-central1 --format json
{ "creationTimestamp": "2013-09-06T10:36:54.847-07:00", "description": "us-central1", "id": "6837843067389011605", "kind": "compute#region", "name": "us-central1", ... "status": "UP", "zones": [ "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a", "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b", "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f" ] }
Exemples
Exemples de commandes list
Lorsque vous faites une requête pour lister vos ressources, vous obtenez un tableau des données récapitulatives facile à lire. Par exemple, pour obtenir des données récapitulatives sur les instances de votre projet, utilisez la commande instances list
:
gcloud compute instances list
NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP STATUS example-instance asia-east1-b e2-standard-2 10.240.95.199 107.167.182.44 RUNNING example-instance2 us-central1-a e2-standard-2 10.240.173.254 23.251.148.121 RUNNING test-instance us-central1-a e2-standard-2 10.240.118.207 23.251.153.172 RUNNING
Vous pouvez filtrer les résultats des commandes list
avec des expressions régulières en incluant l'indicateur --filter
avec un opérateur key ~ value
. Par exemple, filtrez la liste des instances pour n'inclure que les instances dont le nom contient la chaîne "test" :
gcloud compute instances list --filter="name ~ .*test.*"
NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP STATUS test-instance us-central1-a e2-standard-2 10.240.118.207 23.251.153.172 RUNNING
Pour obtenir la liste des opérations de zone dont la propriété status
est définie sur DONE
et qui sont dénuées de propriété httpStatus
définie sur 200
, appliquez un filtre zone
sur une commande operations list
, puis filtrez les résultats avec la commande grep
:
gcloud compute operations list --filter="zone:(us-central1-a)" | grep DONE | grep -v 200
NAME HTTP_STATUS TYPE TARGET STATUS operation-1397752585735-4f73fa25b4b58-f0920fd5-254d709f 400 delete us-central1-a/disks/example-instance DONE operation-1398357613036-4f7cc80cb41e0-765bcba6-34bbd040 409 insert us-central1-a/instances/i-1 DONE operation-1398615481237-4f8088aefbe08-cc300dfa-2ce113cf 409 insert us-central1-a/instances/i-2 DONE
Pour obtenir la liste des disques de la zone us-central1-a
, triés par nom par ordre alphabétique décroissant (--sort-by ~NAME
), utilisez la commande disks list
:
gcloud compute disks list --sort-by ~NAME --filter="zone:(us-central1-a)"
Dans certains scénarios, vous souhaiterez peut-être disposer du lien URI complet vers la ressource. Par exemple, lors de requêtes où vous utiliserez le résultat d'une commande list
pour une autre commande ou application nécessitant une liste de liens de ressources.
Pour afficher des liens de ressource URI complets, utilisez l'indicateur --uri
avec une commande list
.
gcloud compute instances list --uri --filter="name~'^example-.*'"
https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance1 https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instances/example-instance2
Pour utiliser le résultat de la commande list
précédente dans une commande qui supprime des instances, exécutez ce qui suit :
gcloud compute instances delete $(gcloud compute instances list --uri --filter="name~'^example-.*'")
Exemples de commandes describe
Pour obtenir des détails sur une seule instance, vous devez la spécifier en fournissant des informations telles que sa zone.
Par exemple, pour obtenir des informations sur l'instance "example-instance" située dans la zone "asia-east1-b", vous pouvez utiliser la commande instances describe
:
gcloud compute instances describe example-instance --zone asia-east1-b
Par défaut, les résultats sont au format YAML. Pour modifier le format de sortie en JSON ou en texte (une propriété par ligne), utilisez l'indicateur --format
. Par exemple, si vous souhaitez des résultats au format texte pour cette même instance, utilisez :
gcloud compute instances describe example-instance --zone asia-east1-b --format text
--- canIpForward: False creationTimestamp: 2014-04-19T06:43:04.087-07:00 disks[0].autoDelete: False disks[0].boot: True disks[0].deviceName: example-instance ...
Pour obtenir plus d'informations sur une opération spécifique, utilisez la commande operations list
pour rechercher l'URI complet de l'opération :
gcloud compute operations list --filter="zone:(us-central1-a)"
NAME TYPE TARGET HTTP_STATUS STATUS operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 delete us-central1-a/instances/example-instance 200 DONE operation-1406155180632-4fee4040a67c1-bf581ed8-ab5af2b8 delete us-central1-a/instances/example-instance-2 200 DONE ...
Utilisez ensuite l'URI dans une commande operations describe
:
gcloud compute operations describe \
operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 --zone us-central1-a
endTime: '2014-07-23T15:40:02.463-07:00' id: '31755455923038965' insertTime: '2014-07-23T15:39:25.910-07:00' kind: compute#operation name: operation-1406155165815-4fee4032850d9-7b78077c-a170c5c0 operationType: delete progress: 100 ...
La commande suivante permet d'obtenir les paramètres d'instance au format JSON (--format json
).
gcloud compute instances describe example-instance \
--zone us-central1-a
--format json
{ ... "name": "example-instance", "networkInterfaces": [ { "accessConfigs": [ { "kind": "compute#accessConfig", "name": "external-nat", "natIP": "107.167.187.66", "type": "ONE_TO_ONE_NAT" } ], "name": "nic0", "network": "https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default", "networkIP": "10.240.111.51" } ], ... "status": "RUNNING" ... }
Vérifier quelles sont vos autorisations en tant qu'utilisateur
Exécutez la commande suivante pour savoir quelles sont vos autorisations en tant qu'utilisateur :
gcloud auth list
Révoquer un jeton d'actualisation
Pour révoquer les identifiants d'un compte sur la machine sur laquelle vous utilisez Google Cloud CLI, utilisez :
gcloud auth revoke
Cela vous obligera à vous authentifier à nouveau en utilisant gcloud init
.
Vous pouvez également révoquer l'autorisation de gcloud CLI à accéder à vos ressources. Cela peut être indiqué au cas où vos jetons d'actualisation sont compromis. Pour révoquer l'autorisation d'accès gcloud CLI, procédez comme suit :
- Connectez-vous à la page de votre compte Google.
- Cliquez sur Sécurité puis sur Tout afficher dans la section Autorisations au niveau du compte.
- Sélectionnez SDK Google Cloud, puis cliquez sur Révoquer l'accès.
Redémarrer une instance
Pour réinitialiser une instance nommée "example-instance" dans la zone "us-central1-a", utilisez la commande instances reset
:
gcloud compute instances reset example-instance --zone us-central1-a
Pour connaître les implications d'une réinitialisation, consultez la documentation Réinitialiser une instance.