Comment appeler plusieurs modules terraform dans un seul fichier terragrunt
Dans Terragrunt, vous pouvez appeler plusieurs modules Terraform depuis un seul fichier de configuration Terragrunt en utilisant le bloc terraform en combinaison...

Dans Terragrunt, vous pouvez appeler plusieurs modules Terraform depuis un seul fichier de configuration Terragrunt en utilisant le bloc terraform en combinaison avec des configurations enfants. Cela se fait generalement en organisant votre configuration Terragrunt dans une hierarchie ou chaque module est reference dans son propre fichier Terragrunt, mais gere centralement en utilisant un fichier Terragrunt parent.
Voici un apercu de base de la facon de structurer cela :
- Creer un Fichier Terragrunt Parent : Ce fichier ne deployera pas directement de ressources mais sera utilise pour configurer les parametres communs et orchestrer le deploiement des modules.
- Creer des Fichiers Terragrunt Enfants pour Chaque Module : Chaque module aura son propre fichier de configuration Terragrunt qui specifie la source du module Terraform et les entrees necessaires.
Exemple de Structure
Voici un exemple de structure de repertoires :
/terraform-live
|-- terragrunt.hcl # Configuration parente
|-- network
| |-- terragrunt.hcl # Configuration du module pour le reseau
|-- app
| |-- terragrunt.hcl # Configuration du module pour l'applicationTerragrunt.hcl Parent
# /terraform-live/terragrunt.hcl
remote_state {
backend = "s3"
config = {
bucket = "my-terraform-state"
key = "${path_relative_to_include()}/terraform.tfstate"
region = "us-west-1"
encrypt = true
dynamodb_table = "my-lock-table"
}
}
Inclure toutes les configurations enfants
include {
path = find_in_parent_folders()
}
Terragrunt.hcl Enfant (ex. pour le Reseau)
# /terraform-live/network/terragrunt.hcl
terraform {
source = "git::https://example.com/network-module.git?ref=v1.0"
}
Entrees specifiques au module reseau
inputs = {
vpc_id = “vpc-123456”
}
Utilisation
Pour appliquer tous les modules, vous navigueriez generalement dans chaque repertoire de module et executeriez les commandes Terragrunt, comme terragrunt apply. Vous pouvez egalement automatiser cela avec des scripts ou des workflows CI/CD qui iterent a travers les repertoires de modules et executent les commandes Terragrunt.
Cette configuration vous permet de maintenir une separation claire des preoccupations, un code reutilisable et une coherence entre les environnements tout en gerant le deploiement de plusieurs modules a partir d'une configuration centralisee.
Plus d'Ercan
Deux autres sites, même auteur, terrain différent.
IA, LLMs, agents, ML appliquée.
Notes de terrain sur les charges IA. Analyse des coûts Bedrock, patterns d'agents, compromis de stockage vectoriel, modes de défaillance en production.
Visiter ercan.ai →Le hub. À propos, conseil, contact.
Hub personnel pour les deux pistes d'écriture. Qui je suis, comment fonctionne le conseil, comment me joindre.
Visiter ercanermis.com →