Come chiamare più moduli terraform in un singolo file terragrunt
In Terragrunt, puoi chiamare più moduli Terraform da un singolo file di configurazione Terragrunt utilizzando il blocco terraform in combinazione...

In Terragrunt, puoi chiamare più moduli Terraform da un singolo file di configurazione Terragrunt utilizzando il blocco terraform in combinazione con configurazioni figlie. Questo viene tipicamente fatto organizzando la configurazione Terragrunt in una gerarchia dove ogni modulo è referenziato nel proprio file Terragrunt, ma gestito centralmente usando un file Terragrunt padre.
Ecco uno schema di base di come puoi strutturare questo:
- Crea un File Terragrunt Padre: Questo file non distribuirà direttamente risorse ma sarà usato per configurare impostazioni comuni e orchestrare il deployment dei moduli.
- Crea File Terragrunt Figli per Ogni Modulo: Ogni modulo avrà il proprio file di configurazione Terragrunt che specifica la sorgente del modulo Terraform e tutti gli input necessari.
Struttura di Esempio
Ecco una struttura di directory di esempio:
/terraform-live
|-- terragrunt.hcl # Configurazione padre
|-- network
| |-- terragrunt.hcl # Configurazione modulo per network
|-- app
| |-- terragrunt.hcl # Configurazione modulo per appTerragrunt.hcl Padre
# /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"
}
}
Include tutte le configurazioni figlie
include {
path = find_in_parent_folders()
}
Terragrunt.hcl Figlio (es. per Network)
# /terraform-live/network/terragrunt.hcl
terraform {
source = "git::https://example.com/network-module.git?ref=v1.0"
}
Input specifici per il modulo network
inputs = {
vpc_id = “vpc-123456”
}
Utilizzo
Per applicare tutti i moduli, navigheresti tipicamente in ogni directory del modulo ed eseguiresti i comandi Terragrunt, come terragrunt apply. Puoi anche automatizzarlo con script o flussi di lavoro CI/CD che iterano attraverso le directory dei moduli ed eseguono i comandi Terragrunt.
Questa configurazione ti permette di mantenere una chiara separazione delle responsabilità, codice riutilizzabile e coerenza tra gli ambienti, gestendo il deployment di più moduli da una configurazione centralizzata.
Altro da Ercan
Altri due siti, stesso autore, terreno diverso.
IA, LLMs, agenti, ML applicato.
Note sul campo su workload IA. Analisi dei costi Bedrock, pattern di agenti, trade-off di storage vettoriale, failure mode in produzione.
Visita ercan.ai →L'hub. Chi sono, consulenza, contatti.
Hub personale per entrambe le tracce di scrittura. Chi sono, come funziona la consulenza, come contattarmi.
Visita ercanermis.com →