arrow_back

Premiers pas avec Cloud Shell et gcloud

Premiers pas avec Cloud Shell et gcloud

45 minutes 1 crédit

GSP002

Google Cloud – Ateliers adaptés au rythme de chacun

Présentation

Cloud Shell vous permet d'accéder en ligne de commande à vos ressources de calcul hébergées sur Google Cloud. Cloud Shell est une machine virtuelle basée sur Debian offrant un répertoire d'accueil persistant de 5 Go, facilitant ainsi la gestion de vos projets et de vos ressources sur Google Cloud. L'outil de ligne de commande gcloud et les autres utilitaires dont vous avez besoin sont préinstallés dans Cloud Shell, vous permettant ainsi d'être rapidement opérationnel.

Dans cet atelier pratique, vous allez apprendre à vous connecter aux ressources de calcul hébergées sur Google Cloud via Cloud Shell à l'aide de l'outil gcloud.

Nous vous invitons à saisir vous-même les commandes, afin de mieux assimiler les concepts fondamentaux. De nombreux ateliers comportent cependant un bloc de code qui réunit les commandes à saisir. Libre à vous de copier les commandes dans le bloc de code et de les coller aux emplacements adéquats pendant l'atelier.

Objectifs de l'atelier

  • S'entraîner à utiliser les commandes gcloud.
  • Se connecter aux services de calcul hébergés sur Google Cloud.

Prérequis

  • Bonne connaissance des éditeurs de texte Linux standards tels que Vim, EMACs ou Nano

Conditions préalables

Avant de cliquer sur le bouton Start Lab (Démarrer l'atelier)

Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Start Lab (Démarrer l'atelier), indique combien de temps les ressources Google Cloud resteront accessibles.

Cet atelier pratique Qwiklabs vous permet de suivre vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.

Conditions requises

Pour réaliser cet atelier, vous devez :

  • avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome) ;
  • disposer de suffisamment de temps pour réaliser l'atelier en une fois.

Remarque : Si vous possédez déjà votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier.

Remarque : Si vous utilisez un appareil Chrome OS, exécutez cet atelier dans une fenêtre de navigation privée.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau Détails concernant l'atelier, qui contient les éléments suivants :

    • Le bouton Ouvrir la console Google
    • Le temps restant
    • Les identifiants temporaires que vous devez utiliser pour cet atelier
    • Des informations complémentaires vous permettant d'effectuer l'atelier
  2. Cliquez sur Ouvrir la console Google. L'atelier lance les ressources, puis ouvre la page Se connecter dans un nouvel onglet.

    Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.

    Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
  3. Si nécessaire, copiez le nom d'utilisateur inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue Se connecter. Cliquez sur Suivant.

  4. Copiez le mot de passe inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue de bienvenue. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis dans le panneau de gauche. Ne saisissez pas vos identifiants Google Cloud Skills Boost. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  5. Accédez aux pages suivantes :

    • Acceptez les conditions d'utilisation.
    • N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
    • Ne vous inscrivez pas aux essais offerts.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Vous pouvez afficher le menu qui contient la liste des produits et services Google Cloud en cliquant sur le menu de navigation en haut à gauche. Icône du menu de navigation

Activer Google Cloud Shell

Google Cloud Shell est une machine virtuelle qui contient des outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Google Cloud Shell offre un accès en ligne de commande à vos ressources GCP.

  1. Dans la console GCP, dans la barre d'outils située en haut à droite, cliquez sur le bouton Ouvrir Cloud Shell.

    Icône Cloud Shell

  2. Cliquez sur Continue (Continuez):

    cloudshell_continue

Il faut quelques instants pour mettre en service et se connecter à l'environnement. Lorsque vous êtes connecté, vous êtes déjà authentifié et le projet est défini sur votre PROJECT_ID. Par exemple:

Terminal Cloud Shell

gcloud est l'outil de ligne de commande associé à Google Cloud Platform. Pré-installé sur Cloud Shell, il est également compatible avec la saisie semi-automatique via la touche de tabulation.

Vous pouvez répertorier les noms des comptes actifs à l'aide de cette commande :

gcloud auth list

Résultat :

ACTIVE: *
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
To set the active account, run:
    $ gcloud config set account `ACCOUNT`
	

Pour répertorier les ID de projet, exécutez la commande suivante :

gcloud config list project
	

Résultat :

[core]
project = <ID_Projet>
	

Exemple de résultat :

[core]
project = qwiklabs-gcp-44776a13dea667a6
	

Une fois l'environnement Cloud Shell activé, vous pouvez vous servir de la ligne de commande pour appeler l'outil gcloud du SDK Cloud ou d'autres outils disponibles sur l'instance de machine virtuelle. Plus tard au cours de l'atelier, vous vous servirez de votre répertoire $HOME, qui permet de stocker les fichiers de différents projets et de différentes sessions Cloud Shell sur les disques persistants. Votre répertoire $HOME est privé. Les autres utilisateurs ne peuvent pas y accéder.

Tâche 1 : Configurer votre environnement

Dans cette section, vous allez découvrir les aspects de l'environnement de développement que vous pouvez ajuster.

Comprendre les concepts de région et de zone

Certaines ressources Google Compute Engine sont hébergées dans des régions ou des zones. Une région est un emplacement géographique spécifique où vous pouvez exécuter vos ressources. Chaque région se compose d'une ou plusieurs zones. Par exemple, la région us-central1 est une région située au centre des États-Unis qui comprend les zones suivantes : us-central1-a, us-central1-b, us-central1-c et us-central1-f. L'image ci-dessous représente les zones de chaque région :

Western US Central US Eastern US Western Europe Eastern Asia
us-west1-a us-central1-a us-east1-b europe-west1-b asia-east1-a
us-west1-b us-central1-b us-east1-c europe-west1c asia-east1-b
- us-central1-c us-east1-d europe-west1-d aisia-east1-c
- us-central1-f - - -

Les ressources contenues dans des zones sont des ressources dites zonales. Par exemple, les instances de machines virtuelles et les disques persistants sont deux types de ressources situées dans des zones. Si vous souhaitez associer un disque persistant à une instance de machine virtuelle, les deux ressources doivent se trouver dans la même zone. De même, si vous souhaitez attribuer une adresse IP statique à une instance, celle-ci doit se trouver dans la même région que l'adresse IP statique.

Pour en savoir plus et accéder à une liste complète des régions et zones disponibles, accédez à l'article Régions et zones.
  1. Définissez la région sur  :
gcloud config set compute/region {{{project_0.startup_script.project_region}}}
  1. Pour afficher le paramètre de région du projet, exécutez la commande suivante :
gcloud config get-value compute/region
  1. Définissez la zone sur  :
gcloud config set compute/zone {{{project_0.startup_script.project_zone}}}
  1. Pour afficher le paramètre de zone du projet, exécutez la commande suivante :
gcloud config get-value compute/zone

Rechercher les informations sur le projet

  1. Copiez l'ID de votre projet dans votre presse-papiers ou votre éditeur de texte. L'ID du projet est indiqué à deux endroits :

  • Dans le tableau de bord de la console Google Cloud, sous Informations sur le projet (cliquez sur le menu de navigation (Menu de navigation), puis sur Accueil > Tableau de bord).

  • Dans l'onglet Qwiklabs, à côté de votre nom d'utilisateur et de votre mot de passe.

  1. Dans Cloud Shell, exécutez la commande gcloud suivante pour afficher l'ID de votre projet :
gcloud config get-value project
  1. Dans Cloud Shell, exécutez la commande gcloud suivante pour afficher les détails du projet :

gcloud compute project-info describe --project $(gcloud config get-value project)

Recherchez les valeurs de métadonnées de zone et de région dans le résultat. Vous aurez besoin de la zone (google-compute-default-zone) indiquée dans le résultat de la commande plus loin dans l'atelier.

Si les clés et les valeurs google-compute-default-region et google-compute-default-zone ne figurent pas dans le résultat, cela signifie qu'aucune zone ou région par défaut n'est définie.

Le résultat inclut d'autres informations utiles sur le projet. Prenez le temps de les explorer en détail.

Définir des variables d'environnement

Les variables d'environnement sont les variables qui définissent votre environnement et vous font gagner du temps lorsque vous écrivez des scripts contenant des API ou des exécutables.

  1. Créez une variable d'environnement pour stocker votre zone :

export PROJECT_ID=$(gcloud config get-value project)
  1. Créez une variable d'environnement pour stocker votre zone :

export ZONE=$(gcloud config get-value compute/zone)
  1. Pour vérifier que vos variables ont été correctement définies, exécutez les commandes suivantes :

echo -e "PROJECT ID: $PROJECT_ID\nZONE: $ZONE"

Si les variables ont été correctement définies, les commandes "echo" afficheront votre ID de projet et votre zone.

Créer une machine virtuelle avec l'outil gcloud

Créez une instance de machine virtuelle (VM) à l'aide de gcloud.

  1. Pour créer votre VM, exécutez la commande suivante :

gcloud compute instances create gcelab2 --machine-type e2-medium --zone $ZONE

Résultat :

Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-04-326fae68bc3d/zones/us-east1-c/instances/gcelab2]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS gcelab2 {{{project_0.startup_script.project_zone}}} e2-medium 10.128.0.2 34.67.152.90 RUNNING

Détails de la commande

  • gcloud compute vous permet de gérer vos ressources Compute Engine dans un format plus simple que celui de l'API Compute Engine.

  • instances create crée une instance.

  • gcelab2 est le nom de la VM.

  • L'option --machine-type indique que le type de machine est e2-medium.

  • L'option --zone indique la zone où la VM est créée.

  • Si vous omettez l'option --zone, l'outil gcloud déduit la zone souhaitée en fonction de vos propriétés par défaut. Si les autres paramètres d'instance requis tels que le type de machine et l'image ne sont pas spécifiés dans la commande create, ils sont définis sur les valeurs par défaut.

Tester la tâche terminée

Cliquez sur Vérifier ma progression pour valider la tâche exécutée. Si vous avez réussi à créer une machine virtuelle à l'aide de l'outil gcloud, une note d'évaluation s'affiche.

Créer une machine virtuelle avec gcloud
  • Pour ouvrir l'aide de la commande create, exécutez la commande suivante :

gcloud compute instances create --help Remarque : Appuyez sur ENTRÉE ou sur la barre d'espace pour faire défiler le contenu de l'aide. Appuyez sur Q pour quitter l'aide.

Présentation des commandes gcloud

L'outil gcloud fournit des consignes d'utilisation simples qui s'affichent lorsque vous ajoutez l'option -h à la fin d'une commande gcloud.

  1. Exécutez la commande suivante :

gcloud -h

Pour obtenir une aide plus détaillée, ajoutez l'option --help à une commande ou exécutez la commande gcloud help.

  1. Exécutez la commande suivante :

gcloud config --help

Pour quitter, tapez Q et appuyez sur Entrée.

  1. Exécutez la commande suivante :

gcloud help config

Les résultats des commandes gcloud config --help et gcloud help config sont équivalents. Elles permettent toutes les deux d'obtenir une aide détaillée.

Remarque : Appuyez sur la touche ENTRÉE ou sur la barre d'espace pour faire défiler le contenu de l'aide. Appuyez sur Q pour quitter l'aide.

Les options globales de gcloud régissent le fonctionnement des commandes à chaque appel. Les options remplacent les valeurs définies dans les propriétés du SDK.

  1. Pour afficher la liste des configurations dans votre environnement :

gcloud config list
  1. Pour afficher toutes les propriétés et leurs paramètres :

gcloud config list --all
  1. Listez vos composants :

gcloud components list

Cette commande affiche les composants gcloud prêts à l'emploi dans cet atelier.

Tâche 2 : Filtrer les résultats de la ligne de commande

gcloud CLI est un outil puissant qui permet de travailler au niveau de la ligne de commande. Il se peut que vous souhaitiez parfois afficher des informations spécifiques.

  1. Listez les instances de calcul disponibles dans le projet :
gcloud compute instances list

Plusieurs ressources sont très souvent déployées dans un projet. Heureusement, gcloud propose des mises en forme intelligentes qui permettent d'identifier des ressources spécifiques.

Résultat :

NAME: gcelab2 ZONE: {{{project_0.startup_script.project_zone}}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.142.0.2 EXTERNAL_IP: 35.237.43.111 STATUS: RUNNING
  1. Listez la machine virtuelle gcelab2 :
gcloud compute instances list --filter="name=('gcelab2')"

Résultat :

NAME: gcelab2 ZONE: {{{project_0.startup_script.project_zone}}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 10.142.0.2 EXTERNAL_IP: 35.237.43.111 STATUS: RUNNING

Dans la commande ci-dessus, nous avons demandé à gcloud d'afficher uniquement les informations correspondant aux critères, c'est-à-dire ici un nom d'instance virtuelle.

  1. Listez les règles de pare-feu dans le projet :
gcloud compute firewall-rules list

Résultat :

NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False default-allow-rdp default INGRESS 65534 tcp:3389 False default-allow-ssh default INGRESS 65534 tcp:22 False dev-net-allow-ssh dev-network INGRESS 1000 tcp:22 False serverless-to-vpc-connector dev-network INGRESS 1000 icmp,udp:665-666,tcp:667 False vpc-connector-egress dev-network INGRESS 1000 icmp,udp,tcp False vpc-connector-health-check dev-network INGRESS 1000 tcp:667 False vpc-connector-to-serverless dev-network EGRESS 1000 icmp,udp:665-666,tcp:667 False
  1. Listez les règles de pare-feu pour le réseau par défaut :
gcloud compute firewall-rules list --filter="network='default'"

Résultat :

NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False default-allow-rdp default INGRESS 65534 tcp:3389 False default-allow-ssh default INGRESS 65534 tcp:22 False
  1. Listez les règles de pare-feu pour le réseau par défaut où la règle d'autorisation correspond à une règle ICMP :
gcloud compute firewall-rules list --filter="NETWORK:'default' AND ALLOW:'icmp'"

Résultat :

NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False

Tâche 3 : Se connecter à l'instance de VM

gcloud compute facilite la connexion à vos instances. La commande gcloud compute ssh fournit un wrapper SSH qui assure l'authentification et le mappage des noms d'instance sur les adresses IP.

  1. Pour vous connecter à votre VM en SSH, exécutez la commande suivante :

gcloud compute ssh gcelab2 --zone $ZONE

Résultat :

WARNING: The public SSH key file for gcloud does not exist. WARNING: The private SSH key file for gcloud does not exist. WARNING: You do not have an SSH key for gcloud. WARNING: [/usr/bin/ssh-keygen] will be executed to generate a key. This tool needs to create the directory [/home/gcpstaging306_student/.ssh] before being able to generate SSH Keys. Do you want to continue? (Y/n)
  1. Pour continuer, saisissez Y.

Generating public/private rsa key pair. Enter passphrase (empty for no passphrase)
  1. Pour ne pas définir de phrase secrète, appuyez sur ENTRÉE.

Vous vous êtes connecté à la machine virtuelle créée précédemment durant l'atelier. Avez-vous remarqué ce qui a changé dans l'invite de commande ?

L'invite contient désormais un élément semblable à sa_107021519685252337470@gcelab2.

  • La référence précédant le caractère @ correspond au compte utilisé.
  • La machine hôte en cours d'accès apparaît après le caractère @.
  1. Installez le serveur Web nginx sur la machine virtuelle :
sudo apt install -y nginx
  1. Comme aucune action de votre part n'est requise, exécutez la commande suivante pour vous déconnecter de SSH et quitter l'interface système à distance :
exit

L'invite de commande de votre projet réapparaît.

Tâche 4 : Mettre à jour le pare-feu

Lorsque vous utilisez des ressources de calcul telles que des machines virtuelles, il est important de comprendre les règles de pare-feu associées.

  1. Listez les règles de pare-feu pour le projet :

gcloud compute firewall-rules list

Résultat :

NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-icmp default INGRESS 65534 icmp False default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp False default-allow-rdp default INGRESS 65534 tcp:3389 False default-allow-ssh default INGRESS 65534 tcp:22 False dev-net-allow-ssh dev-network INGRESS 1000 tcp:22 False serverless-to-vpc-connector dev-network INGRESS 1000 icmp,udp:665-666,tcp:667 False vpc-connector-egress dev-network INGRESS 1000 icmp,udp,tcp False vpc-connector-health-check dev-network INGRESS 1000 tcp:667 False vpc-connector-to-serverless dev-network EGRESS 1000 icmp,udp:665-666,tcp:667 False

Nous pouvons voir ci-dessus que deux réseaux sont disponibles. Le réseau default représente l'emplacement de notre machine virtuelle gcelab2.

  1. Essayez d'accéder au service nginx en cours d'exécution sur la machine virtuelle gcelab2.

La communication avec la machine virtuelle ne pourra pas être établie, car la VM ne comporte pas de règle de pare-feu appropriée. Notre serveur Web nginx s'attend à une communication sur tcp:80. Pour établir la communication, vous devez :

  • ajouter un tag à la machine virtuelle gcelab2 ;
  • ajouter une règle de pare-feu pour le trafic HTTP.
  1. Ajoutez un tag à la machine virtuelle :
gcloud compute instances add-tags gcelab2 --tags http-server,https-server
  1. Mettez à jour la règle de pare-feu à autoriser :
gcloud compute firewall-rules create default-allow-http --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:80 --source-ranges=0.0.0.0/0 --target-tags=http-server
  1. Listez les règles de pare-feu pour le projet :
gcloud compute firewall-rules list --filter=ALLOW:'80'

Résultat :

NAME NETWORK DIRECTION PRIORITY ALLOW DENY DISABLED default-allow-http default INGRESS 1000 tcp:80 False
  1. Vérifiez que la communication avec la machine virtuelle est possible pour HTTP :

curl http://$(gcloud compute instances list --filter=name:gcelab2 --format='value(EXTERNAL_IP)')

Le résultat nginx par défaut s'affichera.

Tâche 5 : Afficher les journaux système

Consulter les journaux est essentiel pour comprendre le fonctionnement de votre projet. Utilisez gcloud pour accéder aux différents journaux disponibles sur Google Cloud.

  1. Affichez les journaux disponibles sur le système :

gcloud logging logs list

Résultat :

NAME projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/GCEGuestAgent projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/OSConfigAgent projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/autoscaler.googleapis.com%2Fstatus_change projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/cloudaudit.googleapis.com%2Factivity projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/cloudaudit.googleapis.com%2Fsystem_event projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/compute.googleapis.com%2Fautoscaler projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/compute.googleapis.com%2Finstance_group_manager_events projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/compute.googleapis.com%2Fshielded_vm_integrity projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/run.googleapis.com%2Frequests projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/run.googleapis.com%2Fstderr projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/run.googleapis.com%2Fstdout
  1. Affichez les journaux sur les ressources de calcul :

gcloud logging logs list --filter="compute"

Résultat :

NAME projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/compute.googleapis.com%2Fautoscaler projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/compute.googleapis.com%2Finstance_group_manager_events projects/qwiklabs-gcp-03-6bef54ddd5e7/logs/compute.googleapis.com%2Fshielded_vm_integrity
  1. Consultez les journaux sur le type de ressource de gce_instance :
gcloud logging read "resource.type=gce_instance" --limit 5
  1. Consultez les journaux d'une machine virtuelle spécifique :

gcloud logging read "resource.type=gce_instance AND labels.instance_name='gcelab2'" --limit 5

Tester vos connaissances

Répondez aux questions à choix multiples ci-dessous pour réviser les concepts abordés jusqu'ici.

Félicitations !

Vous avez appris à lancer Cloud Shell et vous avez exécuté des exemples de commandes gcloud.

Terminer votre quête

badge de réussite badge de réussite sdk

Cet atelier d'auto-formation fait partie des quêtes Qwiklabs Google Cloud Essentials et Using the Cloud SDK Command Line. Une quête est une série d'ateliers associés qui constituent une formation. Si vous terminez cette quête, vous obtiendrez le badge ci-dessus attestant de votre réussite. Vous pouvez rendre publics les badges que vous recevez et ajouter leur lien dans votre CV en ligne ou sur vos comptes de réseaux sociaux. Inscrivez-vous à une quête pour obtenir immédiatement les crédits associés à cet atelier. Découvrez les autres quêtes Qwiklabs disponibles.

Atelier suivant

Poursuivez votre quête en suivant l'atelier Provisionner des services avec Google Cloud Marketplace ou consultez ces suggestions :

Étapes suivantes et informations supplémentaires

Google Cloud Training & Certification

...helps you make the most of Google Cloud technologies. Our classes include technical skills and best practices to help you get up to speed quickly and continue your learning journey. We offer fundamental to advanced level training, with on-demand, live, and virtual options to suit your busy schedule. Certifications help you validate and prove your skill and expertise in Google Cloud technologies.

Dernière mise à jour du manuel : 18 Août 2022
Dernier test de l'atelier : 18 août 2022

Copyright 2020 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.