Objectifs
- Expliquer Infrastructure as Code et l’approche déclarative.
- Identifier provider, resource, state, plan et apply.
- Suivre le workflow Terraform sans appliquer de changement à l’aveugle.
- Comprendre simplement idempotence et convergence.
Passer d’actions manuelles à une infrastructure déclarative
Infrastructure as Code, ou IaC, consiste à décrire l’infrastructure dans des fichiers versionnables plutôt qu’à répéter des actions manuelles dans une console. La configuration devient relisible, révisable et reproductible.
Terraform utilise une approche déclarative : vous décrivez l’état souhaité et Terraform calcule les opérations nécessaires pour rapprocher l’infrastructure réelle de cette cible.
Les concepts essentiels
Terraform s’appuie sur des providers pour communiquer avec des plateformes comme AWS, Azure, GCP ou Docker. Un bloc resource décrit un objet à gérer. Le state relie ensuite les adresses Terraform aux objets réels.
- provider : plugin qui dialogue avec une API ou une plateforme.
- resource : objet géré, par exemple un bucket, un réseau ou un container.
- state : représentation du lien entre configuration et infrastructure.
- plan : aperçu des changements proposés.
- apply : opération qui peut réellement modifier l’infrastructure.
Le workflow Terraform
Le cycle habituel commence par une configuration HCL, initialise le répertoire, calcule un plan puis applique seulement un plan compris et validé.
Configuration HCL
↓
terraform init
↓
terraform plan
↓
terraform apply
↓
Infrastructureterraform version
terraform init
terraform fmt
terraform validate
terraform planterraform applyterraform apply peut créer, modifier ou supprimer des ressources réelles. Vérifiez le contexte, les credentials et chaque changement du plan avant de confirmer.
Idempotence et convergence, simplement
Une opération est idempotente lorsque la répéter avec la même cible ne produit pas de changement supplémentaire. La convergence décrit le rapprochement progressif de l’infrastructure réelle vers l’état déclaré.
Après un apply réussi, un nouveau plan sans changement de configuration devrait idéalement indiquer qu’aucune modification n’est nécessaire. Une différence peut signaler un drift, une valeur calculée ou un comportement du provider à examiner.
Erreur fréquente : lancer apply sans lire le plan
Mini résumé
- L’IaC rend l’infrastructure déclarative, relisible et versionnable.
- Les providers pilotent les plateformes et les resources décrivent les objets.
- Le state relie la configuration aux objets réels.
- Le plan se relit avant tout apply susceptible de modifier l’infrastructure.
Outils associés
Construire une commande Terraform
Utilisez Terraform Command Builder pour composer une commande, comprendre ses options et visualiser son niveau de risque sans l’exécuter.
Ouvrir l’outilMini quiz
Trois questions pour vérifier les notions essentielles de la leçon.