RousselTMLEARNING

Article · Terraform : de la découverte à l'expertise

Les modules

1. Principe #

Des briques réutilisables.

Structure #

Composition de modules
Un module = un dossier avec variables.tf, main.tf, outputs.tf et un README.
module "reseau" {
  source  = "terraform-aws-modules/vpc/aws"
  version = "~> 5.0"
  name    = "prod"
  cidr    = "10.0.0.0/16"
  azs             = ["eu-west-3a", "eu-west-3b"]
  private_subnets = ["10.0.11.0/24", "10.0.12.0/24"]
  public_subnets  = ["10.0.1.0/24", "10.0.2.0/24"]
}

module "app" {
  source     = "./modules/app"
  subnet_ids = module.reseau.private_subnets
}

2. Sources et versions #

D'où viennent les modules.

Sources #

SourceExemple
Dossier local./modules/app
Registre publicterraform-aws-modules/vpc/aws + version
Gitgit::https://git.exemple.fr/modules/app.git?ref=v1.4.0
Registre privéapp.terraform.io/acme/app/aws

Règle #

Bonne Pratique : Épinglez toujours une version (ou une étiquette Git) : un module qui change sous vos pieds rend les plans imprévisibles.

3. Bien concevoir #

Des modules utiles.

Règles #

  • Un module = une responsabilité (réseau, base, application), pas une simple enveloppe d'une ressource.
  • Variables typées, documentées, avec validations et valeurs par défaut sûres.
  • Sorties pour tout ce dont les autres modules ont besoin.
  • Exemples et tests (terraform test) dans le dépôt du module.
  • Versionnage sémantique et journal des changements.

📄 Les modules Terraform : concevoir, versionner et réutiliser →

Mon suivi

  • ⏱ Durée estimée : ≈ 4 min

Connectez-vous pour suivre votre progression et prendre des notes. Se connecter

💬 Poser une question

Articles recommandés

Terraform multi-environnements, workspaces et organisation des dépôts

Organiser Terraform pour plusieurs environnements : dossiers par environnement, fichiers tfvars, ...

Préparer la certification HashiCorp Certified: Terraform Associate

Guide de préparation au Terraform Associate : format, objectifs officiels (concepts de l'IaC, flu...

Bonnes pratiques Terraform : structure, état, sécurité, revue et maintenance

Les bonnes pratiques Terraform en équipe : structure des dépôts, nommage, versions épinglées, éta...

Le langage HCL : ressources, variables, sorties, données et expressions

Écrire du Terraform : blocs terraform, provider, resource et data, variables typées avec validati...

Terraform : principes, architecture et flux de travail

Comprendre Terraform : infrastructure as code déclarative, architecture (cœur, fournisseurs, état...

L'état Terraform : backends distants, verrouillage, import et refactorisation

Gérer l'état Terraform : rôle du fichier d'état, données sensibles, backends distants (S3, azurer...

Tester et sécuriser Terraform : validate, terraform test, tflint, Checkov et politiques

Garantir la qualité du code Terraform : fmt et validate, tests natifs terraform test avec fournis...

Terraform en CI/CD : pipelines, revue du plan, OIDC et GitOps

Automatiser Terraform : pipeline plan sur demande de fusion et apply après approbation, publicati...

Terraform sur plusieurs clouds : AWS, Azure, Google Cloud, OVHcloud et Kubernetes

Utiliser Terraform avec les principaux fournisseurs : aws, azurerm, google, ovh et openstack, kub...

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !