Atelier 1 — Série Azure
Durée indicative : 45 min
Module lié : Module 1 — L’infrastructure as code
Vous faites les mêmes étapes que la série neutre. La cible n’est plus un fichier. C’est un groupe de ressources Azure. Le suffixe aléatoire sert au nom, pour que deux personnes du lab ne se marchent pas dessus.
Il vous faut Terraform 1.16.5 ou plus récent, Azure CLI, et un compte autorisé à créer un groupe de ressources. La région de l’exemple est switzerlandnorth. Changez location si cette région n’est pas disponible sur la souscription. 1.16.5 est la dernière version stable. L’examen Associate 004 est écrit pour Terraform 1.12.
1. Préparer le dossier et la session Azure
Pourquoi : Terraform agit dans le dossier des fichiers .tf. Azure CLI fournit l’identité que le provider utilisera.
Résultat attendu : un dossier environnement-azure, le terminal est dedans, et az account show affiche la souscription du lab.
2. Écrire la description
Pourquoi : vous décrivez le groupe qui doit exister. Vous n’écrivez pas les clics du portail.
Résultat attendu : un fichier main.tf avec le contenu suivant.
terraform {
required_version = ">= 1.16.5"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 4.0"
}
random = {
source = "hashicorp/random"
version = "~> 3.7"
}
}
}
provider "azurerm" {
features {}
}
resource "random_id" "suffixe" {
byte_length = 2
}
resource "azurerm_resource_group" "environnement" {
name = "rg-lab-equipe-${random_id.suffixe.hex}"
location = "switzerlandnorth"
}
Le bloc features est exigé par le provider AzureRM 4. Il peut rester vide. Le provider lit la session ouverte par az login.
3. Initialiser
Pourquoi : init télécharge azurerm et random.
Résultat attendu : un message de succès, et un dossier .terraform.
4. Voir le plan, puis appliquer
Pourquoi : le plan annonce la création sans appeler Azure pour de bon. L’apply crée le groupe.
Résultat attendu : le plan annonce deux créations. Après l’apply, le portail ou la commande suivante montre un groupe rg-lab-equipe- suivi de quatre caractères hexadécimaux.
Répondez yes à la confirmation.
5. Appliquer une seconde fois
Pourquoi : une description déjà réalisée ne doit pas recréer le groupe.
Résultat attendu : No changes. Le nom du groupe ne change pas.
6. Changer la description
Pourquoi : le changement part du fichier.
Résultat attendu : le plan annonce une mise à jour du groupe, en général un tag ou le nom seulement si vous changez un attribut qui se met à jour sur place.
Ajoutez un tag dans le bloc du groupe de ressources.
resource "azurerm_resource_group" "environnement" {
name = "rg-lab-equipe-${random_id.suffixe.hex}"
location = "switzerlandnorth"
tags = {
objectif = "reprise-par-un-collegue"
}
}
Le plan doit montrer une modification, pas un remplacement du suffixe. Le nom du groupe reste celui du premier apply.
Ne renommez pas le groupe dans cet atelier. Chez Azure, changer name ou location remplace souvent la ressource. Le jour 2 et le module sur le cycle de vie reviennent sur ce remplacement.
7. Détruire
Pourquoi : le lab ne doit pas laisser un groupe ouvert.
Résultat attendu : le groupe rg-lab-equipe-… n’existe plus dans la souscription. main.tf reste sur le disque.
Répondez yes.
La commande ne doit plus afficher ce groupe.
Suite
Gardez le dossier environnement-azure si le formateur enchaîne sur le même fil. Sinon, le dépôt sera reconstruit au module suivant à partir de la même description.