Points de contrôle
Create a service account and a key (SA Name: terraform)
/ 10
Grant your Service Account the Owner role on your project
/ 20
Create and configure a GCS bucket
/ 10
Run Terraform for the first time
/ 10
Add a subnet
/ 10
Allow https traffic
/ 10
Create an image from the boot disk
/ 10
Deploy the VM using Terraform
/ 20
VM Migration : planification
- GSP616
- Présentation
- Préparation
- Tâche 1 : Configurer votre environnement
- Tâche 2 : Configurer des variables
- Tâche 3 : Configurer des identifiants d'accès Google Cloud
- Tâche 4 : Configurer l'état à distance
- Tâche 5 : Exécuter Terraform
- Tâche 6 : Ajouter un sous-réseau
- Tâche 7 : Autoriser le trafic https
- Tâche 8 : Ajouter un résultat Terraform
- Tâche 9 : Créer la première VM
- Tâche 10 : Capturer l'image de base
- Tâche 11 : Modifier la configuration Terraform
- Tâche 12 : Déployer une VM via Terraform
- Tâche 13 : Mettre à jour la VM de l'application
- Tâche 14 : Détruire l'infrastructure
- Félicitations !
GSP616
Présentation
La méthodologie de migration dans le cloud structurée en quatre phases de Google Cloud fournit aux utilisateurs un chemin de migration défini et reproductible :
-
Évaluez l'environnement actuel pour connaître et comprendre précisément les ressources existantes et définir des groupes de migration.
-
Planifiez la manière de déplacer vos applications et créez l'infrastructure cloud de base pour l'hébergement de vos charges de travail. Cette planification inclut la gestion des identités, l'organisation et la structure du projet, la mise en réseau, le tri de vos applications et le développement d'une stratégie de migration hiérarchisée.
-
Déployez les serveurs cloud ou sur site existants dans Google Cloud en utilisant l'un des outils de migration recommandés par Google Cloud, comme Velostrata de Google ou l'outil de migration à chaud de CloudEndure.
-
Optimisez les charges de travail récemment migrées afin de profiter de tous les avantages de Google Cloud en termes de coûts et d'efficacité opérationnelle.
Cet atelier se concentre sur la phase Planifier et sur la manière de déployer votre infrastructure de base sur Google Cloud.
Points abordés
Terraform est un outil Open Source très répandu qui permet de définir et de provisionner l'infrastructure (infrastructure en tant que code). Au cours de cet atelier, vous allez configurer un réseau cloud, configurer l'accès et déployer votre première application de manière sécurisée et automatisée à l'aide de modèles de code préintégrés d'infrastructure en tant que code.
Plus précisément, vous allez apprendre à :
- créer des identifiants d'accès pour l'automatisation dans Google Cloud ;
- créer un environnement fonctionnel permettant d'utiliser Terraform ;
- créer un réseau cloud privé virtuel (VPC) en mode personnalisé, avec des règles de pare-feu associées ;
- générer une image sur Compute Engine ;
- déployer une instance sur Compute Engine à l'aide de Terraform ;
- référencer des ressources pour plusieurs déploiements Terraform.
Préparation
Avant de cliquer sur le bouton "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 Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique 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. Nous vous fournissons des identifiants temporaires pour vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome) ;
- vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Démarrer l'atelier et se connecter à la console Google Cloud
-
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 Cloud
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
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. -
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}} Vous trouverez également le nom d'utilisateur dans le panneau Détails concernant l'atelier.
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}} Vous trouverez également le mot de passe dans le panneau Détails concernant l'atelier.
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés. -
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 à des essais gratuits.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
- Cliquez sur Activer Cloud Shell
en haut de la console Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Le résultat contient une ligne qui déclare YOUR_PROJECT_ID (VOTRE_ID_PROJET) pour cette session :
gcloud
est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
- (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
-
Cliquez sur Autoriser.
-
Vous devez à présent obtenir le résultat suivant :
Résultat :
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
Résultat :
Exemple de résultat :
gcloud
, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Tâche 1 : Configurer votre environnement
- Vérifiez que Terraform est installé dans l'environnement Cloud Shell :
Résultat de la commande :
- Clonez le dépôt git qui contient le code de l'atelier en exécutant la commande suivante :
- Définissez le répertoire actuel sur le répertoire réseau :
Tâche 2 : Configurer des variables
Dans cette section, vous allez définir des variables pour la configuration Terraform. Les variables vous permettent de paramétrer les configurations Terraform afin de pouvoir les réutiliser.
Si aucune variable n'est définie, Terraform vous invitera à les définir lors de son exécution.
Pour plus de simplicité, vous pouvez stocker les valeurs des variables dans un fichier terraform.tfvars
que Terraform charge automatiquement lors de son exécution.
- Créez un fichier
terraform.tfvars
dans Cloud Shell :
- Ouvrez le fichier
terraform.tfvars
dans l'éditeur de code :
vi
et nano
si vous vous sentez plus à l'aise avec ce type d'outil.- Collez ceci dans votre fichier
terraform.tfvars
:
- Modifiez la variable de l'ID du projet afin qu'elle corresponde à l'ID de votre projet Qwiklabs. Par exemple,
<id de mon projet>
doit être remplacé parqwiklabs-gcp-xx-xxxxxxxxxxxx
.
Tâche 3 : Configurer des identifiants d'accès Google Cloud
Dans cette section, vous allez créer et télécharger des clés de compte de service à utiliser comme identifiants d'accès pour Google Cloud. Vous modifierez également vos fichiers modèles pour qu'ils utilisent ces identifiants d'accès.
Terraform requiert les droits d'accès à vos projets et/ou à vos environnements dans Google Cloud. Bien que le fournisseur Google Cloud de Terraform propose plusieurs méthodes pour obtenir des identifiants, dans cet atelier, vous allez créer et télécharger un fichier d'identifiants associé à un compte de service Google Cloud. L'authentification par compte de service Google Cloud fait partie des bonnes pratiques.
Créer et télécharger des identifiants d'accès de compte de service par défaut
- Dans votre session Cloud Shell, utilisez la commande suivante afin de créer un compte de service pour exécuter Terraform :
Résultat de la commande :
- Dressez la liste de vos comptes de service pour obtenir l'adresse e-mail de votre nouveau compte Terraform :
Résultat de la commande :
- Créez et téléchargez une clé pour pouvoir utiliser le compte de service Terraform, en remplaçant
<adresse e-mail du compte de service>
par l'adresse e-mail Terraform générée à partir de la commande précédente :
Résultat de la commande :
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 un compte de service et une clé, vous recevez une note d'évaluation.
- Attribuez à votre compte de service le rôle de propriétaire sur votre projet en exécutant la commande suivante et en remplaçant
<id de mon projet>
par votre ID de projet Qwiklabs et<adresse e-mail du compte de service>
par l'adresse e-mail de votre compte de service Terraform :
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 à attribuer un rôle de propriétaire à votre compte de service sur le projet, une note d'évaluation s'affichera.
Tâche 4 : Configurer l'état à distance
Terraform met en correspondance votre configuration et les ressources créées en définissant un état Terraform. Par défaut, cet état est stocké dans un fichier local. Toutefois, il est recommandé de le stocker à distance sur Cloud Storage.
Dans cette section, vous allez créer un bucket Cloud Storage pour stocker l'état Terraform et mettre à jour votre configuration Terraform afin qu'elle renvoie vers ce bucket.
Créer et configurer un bucket Cloud Storage
- Créez un bucket pour stocker l'état Terraform. Les buckets Cloud Storage doivent être uniques. Veillez donc à ajouter en préfixe de son nom l'ID de votre projet Google Cloud Qwiklabs, comme indiqué dans la commande ci-dessous :
Résultat de la commande :
Tester la tâche terminée
Cliquez sur Vérifier ma progression pour valider la tâche exécutée. Si le bucket Cloud Storage a correctement été créé, une note d'évaluation s'affichera.
- Ouvrez la configuration backend stockée dans
backend.tf
:
- Mettez à jour le nom du bucket afin qu'il corresponde au nom choisi et enregistrez le fichier :
Tâche 5 : Exécuter Terraform
Maintenant que vous avez configuré les identifiants et l'état à distance, vous êtes prêt à exécuter Terraform. Lorsque vous utiliserez Terraform, vous suivrez généralement ces étapes pour déployer et nettoyer un environnement, comme indiqué dans l'image suivante.
Exécuter Terraform pour la première fois
- Tout d'abord, initialisez Terraform pour télécharger la dernière version des fournisseurs Google et Random. Pour ce faire, exécutez la commande suivante dans Cloud Shell :
- Si vous exécutez cette commande et que vous recevez un message d'erreur indiquant que votre bucket Cloud Storage n'existe pas, vérifiez que le nom est correct dans backend.tf. Exécutez ensuite les commandes ci-dessous :
Cela nettoiera votre état Terraform local et permettra une bonne initialisation.
- Exécutez une étape de planification pour valider la syntaxe de la configuration et afficher un aperçu de ce qui sera créé :
Le résultat de la planification indique que Terraform va créer huit ressources pour votre réseau.
- Exécutez maintenant la commande terraform apply pour appliquer ces modifications :
Le résultat doit ressembler à ceci :
- Saisissez yes (oui) dans l'invite. Une fois l'application terminée, un résultat semblable aux lignes suivantes doit s'afficher :
- Une fois les modifications appliquées, vous pouvez afficher la liste des ressources à l'état Terraform à l'aide de la commande terraform show :
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 à exécuter Terraform pour la première fois, vous recevez une note d'évaluation.
Tâche 6 : Ajouter un sous-réseau
Le répertoire que vous avez téléchargé comprend un module définissant votre réseau et vos sous-réseaux. Vous ajouterez un sous-réseau aux VM hôtes migrées.
Créer un réseau supplémentaire
- Ouvrez la configuration réseau stockée dans
network.tf
. La configuration réseau de ce fichier est gérée via le module réseau :
- Ajoutez un sous-réseau supplémentaire dans le bloc
subnets
du fichier (à la ligne 40). Vous pouvez choisir vos propres nom et plage CIDR, par exemple10.10.30.0/24
.
- Vous devez également ajouter une section définissant les plages secondaires pour votre sous-réseau (ligne 49), qui peut être une liste vide :
- Exécutez maintenant la commande terraform apply pour ajouter votre nouveau sous-réseau :
Error waiting to create Subnetwork
(Erreur lors de l'attente de la création du sous-réseau), réexécutez la commande ci-dessus.
Le résultat doit ressembler à ceci :
- Saisissez yes (oui) dans l'invite. Une fois l'application terminée, un résultat semblable aux lignes suivantes doit s'afficher.
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 à appliquer les modifications visant à ajouter un sous-réseau à l'aide du script Terraform, vous recevez une note d'évaluation.
Tâche 7 : Autoriser le trafic https
L'atelier inclut du code pour la gestion des règles de pare-feu dans Terraform. Vous pouvez aller plus loin en ajoutant d'autres règles de pare-feu pour le trafic entrant ou sortant.
- Ouvrez la configuration de pare-feu stockée dans
firewall.tf
:
- Modifiez la règle
allow-http
pour également autoriser le trafic HTTPS sur le port 443 (ligne 51) :
- Exécutez maintenant la commande terraform apply pour mettre à jour la règle de pare-feu :
Le résultat doit ressembler à ceci :
- Saisissez yes (oui) dans l'invite. Une fois l'application terminée, un résultat semblable aux lignes suivantes doit s'afficher.
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 à appliquer les modifications visant à mettre à jour une règle de pare-feu à l'aide du script Terraform, vous recevez une note d'évaluation.
Tâche 8 : Ajouter un résultat Terraform
Les résultats Terraform permettent de collecter les informations les plus importantes et les plus pertinentes concernant votre environnement. Ces informations s'adressent aux utilisateurs comme aux processus système. Il peut s'agir d'adresses IP clés, de noms d'instance ou d'autres informations.
Dans cette section, vous allez ajouter un résultat pour partager l'ID de votre nouveau sous-réseau.
- Ouvrez la configuration réseau stockée dans
outputs.tf
:
- Ajoutez une section qui affiche le nom de votre nouveau sous-réseau, en fonction des résultats existants. Veuillez noter que les sous-réseaux sont indexés par zéro :
- Exécutez maintenant la commande terraform apply pour mettre à jour la règle de pare-feu :
-
Saisissez yes (oui) lorsque vous êtes invité à ajouter une valeur.
-
Affichez les résultats à l'aide de la commande terraform output :
Résultat de la commande :
Tâche 9 : Créer la première VM
Vous allez poursuivre le travail effectué précédemment en créant une VM et en la déployant sur votre réseau. Vous apprendrez également à créer une image de base et des informations de configuration de couches dynamiques pour les VM.
Pour créer une image, vous devez commencer par lancer une VM où vous installerez le logiciel que vous souhaitez inclure dans votre image.
Lancer la première VM
- Lancez une VM à l'aide de
gcloud
sur votre premier sous-réseau :
- Connectez-vous en SSH à la VM :
Résultat de la commande :
-
Saisissez "Y" (Oui). Ensuite, lorsque vous êtes invité à saisir une phrase secrète, appuyez deux fois sur ENTRÉE.
-
Installez Apache sur la VM :
- Quittez la session SSH :
Tâche 10 : Capturer l'image de base
Maintenant que vous disposez d'une machine exécutant le logiciel nécessaire, vous pouvez la capturer en tant qu'image de base pour lancer d'autres VM identiques.
Créer une image
- Arrêtez la VM. Il est toujours préférable d'arrêter les VM avant de capturer des images si possible :
- Créez une image à partir du disque de démarrage :
En incluant le paramètre family
, nous avons lié notre image à une famille. Cela nous permet d'obtenir facilement des informations ou de déployer la dernière image de cette famille.
- Utilisez gcloud pour obtenir des informations sur la dernière image
my-apache-webserver
:
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 image à partir du disque de démarrage, vous recevez une note d'évaluation.
Tâche 11 : Modifier la configuration Terraform
Maintenant que nous disposons d'une image à partir de laquelle travailler, nous souhaiterions la déployer via Terraform. Cependant, il est préférable de séparer les configurations Terraform en unités logiques et les instances de VM en éléments de couches d'application.
Nous allons donc définir et modifier une autre configuration Terraform, spécifique à une application, et laisser notre configuration de réseau de côté.
Définir la configuration d'application Terraform
- Dans Cloud Shell, accédez au répertoire d'application de l'atelier :
- Copiez les fichiers d'identifiants et de variables à partir de votre configuration réseau :
- Mettez à jour la configuration backend de votre code d'application Terraform en modifiant
backend.tf
:
- Vous devez également mettre à jour la source de données d'état distant Terraform. L'état distant Terraform est très utile pour le partage d'informations ou de résultats entre plusieurs projets, par exemple, pour une équipe de mise en réseau centrale qui partage des informations de sous-réseau avec des équipes d'application. Assurez-vous de mettre à jour le paramètre du bucket afin qu'il corresponde au bucket que vous avez utilisé auparavant :
Tâche 12 : Déployer une VM via Terraform
Vous pouvez désormais configurer Terraform pour qu'il renvoie à notre image lors du lancement d'une instance. Avant de lancer l'instance, analysons les détails de cette configuration Terraform.
Passer en revue la configuration de la VM
- La configuration Terraform pour votre VM est stockée dans vm.tf :
- Comme nous avons ajouté un tag à notre image dans une famille d'images, nous pouvons récupérer la dernière image de cette famille via Terraform. Si nécessaire, mettez à jour cette source de données afin qu'elle corresponde au nom de famille de l'image que vous avez choisi :
- Nous pouvons également utiliser une référence pour choisir le nom du sous-réseau sur lequel effectuer le déploiement. La déclaration
data.terraform_remote_state.network.my_subnet_name
récupère automatiquement le résultatmy_subnet_name
à partir de la configuration réseau que vous avez créée précédemment :
- Si cette configuration vous semble correcte, vous pouvez exécuter la commande terraform apply pour déployer la VM :
- Saisissez yes (oui) lorsque vous êtes invité à ajouter une valeur.
L'adresse IP externe de votre VM s'affichera.
- Ouvrez l'URL http://<votre ip> dans votre navigateur Web pour voir un message de bienvenue.
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 à déployer une instance de VM à l'aide de Terraform, vous recevez une note d'évaluation.
Tâche 13 : Mettre à jour la VM de l'application
Grâce à la définition de la configuration de la VM via Terraform, vous pouvez modifier de manière déclarative la configuration de l'application en modifiant simplement votre configuration Terraform.
- Ouvrez votre fichier vm.tf :
- Modifiez le paramètre
metadata_startup_script
pour obtenir un nouveau message de bienvenue :
- Exécutez Terraform pour recréer votre VM avec la nouvelle configuration :
- Saisissez yes (oui) lorsque vous êtes invité à ajouter une valeur.
Vous devez obtenir un résultat semblable à celui-ci :
- Une fois la VM entièrement recréée, ouvrez l'URL http://<votre adresse ip> dans votre navigateur Web pour voir le message de bienvenue.
terraform apply
.Tâche 14 : Détruire l'infrastructure
La configuration Terraform vous permet également de démonter facilement l'infrastructure une fois que vous avez fini de l'utiliser. Cela peut être particulièrement utile en cas de développement temporaire ou d'infrastructure de test.
Mettre à jour la configuration de la VM
- Détruisez l'infrastructure de la VM via Terraform :
Vous serez invité à confirmer que vous souhaitez détruire la VM.
- Saisissez yes (oui) lorsque vous êtes invité à ajouter une valeur.
Dès que vous aurez confirmé votre choix, Terraform commencera à détruire votre infrastructure.
- N'hésitez pas à détruire l'infrastructure réseau également. Elle sera automatiquement détruite à l'expiration de votre atelier.
Félicitations !
C'est ainsi que s'achève l'atelier d'auto-formation "La migration du centre de données : fondations et déploiements automatisés". Au cours de cet atelier, vous avez réalisé l'ensemble du workflow permettant d'automatiser le déploiement de vos ressources réseau dans Google Cloud. Vous avez configuré les identifiants d'accès, configuré Terraform, créé des ressources (réseau VPC, sous-réseau et règles de pare-feu), modifié les ressources existantes, vérifié soigneusement les capacités de ces ressources, puis vous les avez générées.
Vous avez également appris à créer une première VM, à capturer une image de base, à mettre à jour les configurations Terraform et à déployer la VM via Terraform.
Terminer votre quête
Cet atelier d'auto-formation fait partie de la quête VM Migration. Une quête est une série d'ateliers associés qui constituent un parcours de formation. Si vous terminez cette quête, vous obtenez un badge 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 à cette quête pour obtenir immédiatement les crédits associés. Découvrez toutes les quêtes disponibles dans le catalogue Google Cloud Skills Boost.
Atelier suivant
Continuez sur votre lancée en suivant l'atelier Migrate for Anthos : Qwik Start ou découvrez un autre atelier Google Cloud Skills Boost, par exemple Migration de VM : présentation des évaluations StratoZone.
Étapes suivantes et informations supplémentaires
Si vous souhaitez en savoir plus, consultez les liens ci-dessous pour découvrir des ressources supplémentaires à gérer via Terraform :
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 8 décembre 2023
Dernier test de l'atelier : 8 décembre 2023
Copyright 2024 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.