This article is available in French.
1. Plusieurs environnements #
Dossiers, tfvars ou workspaces.
Comparaison #
| Approche | Avantages | Limites |
|---|---|---|
| Dossier par environnement | Isolation forte, backends distincts | Un peu de duplication (réduite par les modules) |
| Fichiers tfvars | Un code, des valeurs par environnement | Même backend : prudence |
| Workspaces CLI | Plusieurs états pour un même code | Facile de se tromper de workspace ; pas d'isolation des droits |
Exemple #
envs/
recette/ main.tf backend.tf recette.tfvars
prod/ main.tf backend.tf prod.tfvars
modules/
reseau/ app/ base/
cd envs/prod && terraform plan -var-file=prod.tfvars2. Découper en couches #
Des états plus petits.
Couches #
data "terraform_remote_state" "reseau" {
backend = "s3"
config = { bucket = "etat-terraform-123", key = "reseau/prod.tfstate", region = "eu-west-3" }
}
module "app" {
source = "../../modules/app"
subnet_ids = data.terraform_remote_state.reseau.outputs.private_subnets
}3. Outils complémentaires #
Réduire la répétition.
Outils #
- Terragrunt : configuration DRY des backends et des dépendances entre couches.
- HCP Terraform : workspaces distants avec variables, droits et exécutions par équipe.
- Lecture de sorties par sources de données (paramètres SSM, étiquettes) plutôt que par terraform_remote_state pour réduire le couplage.
My progress
Sign in to track your progress and take notes. Sign in
Recommended Articles
Les modules Terraform : concevoir, versionner et réutiliser
Structurer Terraform avec des modules : module racine et modules enfants, entrées et sorties, sou...
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...
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...
Préparer la certification HashiCorp Certified: Terraform Associate
Guide de préparation au Terraform Associate : format, objectifs officiels (concepts de l'IaC, flu...
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...
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...