Terraform · Introduction IaC

Introduction à Infrastructure as Code

Comprenez Infrastructure as Code et le workflow Terraform avant de décrire votre première infrastructure.

Leçon disponible
20 min

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é.

Workflow de référence
Configuration HCL
      ↓
terraform init
      ↓
terraform plan
      ↓
terraform apply
      ↓
Infrastructure
Contrôles locaux avant tout changement
terraform version
terraform init
terraform fmt
terraform validate
terraform plan
Application après revue du plan
terraform apply

terraform 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.

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’outil

Mini quiz

Trois questions pour vérifier les notions essentielles de la leçon.

1. Que décrit principalement une configuration Terraform déclarative ?
2. Quelle commande permet d’examiner les changements proposés avant application ?
3. Pourquoi faut-il traiter terraform apply avec prudence ?