Wie man mehrere Terraform-Module in einer einzigen Terragrunt-Datei aufruft
In Terragrunt kannst du mehrere Terraform-Module aus einer einzigen Terragrunt-Konfigurationsdatei aufrufen, indem du den terraform-Block in Kombination...

In Terragrunt kannst du mehrere Terraform-Module aus einer einzigen Terragrunt-Konfigurationsdatei aufrufen, indem du den terraform-Block in Kombination mit Child-Konfigurationen verwendest. Dies geschieht typischerweise, indem du deine Terragrunt-Konfiguration in einer Hierarchie organisierst, in der jedes Modul in seiner eigenen Terragrunt-Datei referenziert, aber zentral uber eine Parent-Terragrunt-Datei verwaltet wird.
Hier ist eine grundlegende Ubersicht, wie du dies strukturieren kannst:
- Erstelle eine Parent-Terragrunt-Datei: Diese Datei wird keine Ressourcen direkt deployen, sondern dient zur Konfiguration gemeinsamer Einstellungen und zur Orchestrierung der Modulbereitstellung.
- Erstelle Child-Terragrunt-Dateien fur jedes Modul: Jedes Modul hat seine eigene Terragrunt-Konfigurationsdatei, die die Quelle des Terraform-Moduls und alle notigen Eingaben angibt.
Beispielstruktur
Hier ist eine Beispiel-Verzeichnisstruktur:
/terraform-live
|-- terragrunt.hcl # Parent-Konfiguration
|-- network
| |-- terragrunt.hcl # Modulkonfiguration fur network
|-- app
| |-- terragrunt.hcl # Modulkonfiguration fur appParent Terragrunt.hcl
# /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 all child configurations
include {
path = find_in_parent_folders()
}
Child Terragrunt.hcl (z.B. fur Network)
# /terraform-live/network/terragrunt.hcl
terraform {
source = "git::https://example.com/network-module.git?ref=v1.0"
}
Inputs specific to the network module
inputs = {
vpc_id = “vpc-123456”
}
Verwendung
Um alle Module anzuwenden, wurdest du normalerweise zu jedem Modulverzeichnis navigieren und Terragrunt-Befehle wie terragrunt apply ausfuhren. Du kannst dies auch mit Skripten oder CI/CD-Workflows automatisieren, die durch Modulverzeichnisse iterieren und Terragrunt-Befehle ausfuhren.
Dieses Setup ermoglicht es dir, eine klare Trennung der Zustandigkeiten, wiederverwendbaren Code und Konsistenz uber Umgebungen hinweg beizubehalten, wahrend du die Bereitstellung mehrerer Module von einer zentralen Konfiguration aus verwaltest.
Weiteres von Ercan
Zwei weitere Seiten, gleicher Autor, anderes Terrain.
KI, LLMs, Agents, angewandte ML.
Praxisnotizen zu KI-Workloads. Bedrock-Kostenanalyse, Agent-Patterns, Vektorspeicher-Tradeoffs, Failure-Modes in Produktion.
Besuchen ercan.ai →Die Drehscheibe. Über mich, Beratung, Kontakt.
Persönliche Drehscheibe für beide Schreibspuren. Wer ich bin, wie die Beratung funktioniert, wie Sie mich erreichen.
Besuchen ercanermis.com →