Module und Code-Wiederverwendung
Lernen Sie, wie Terraform-Module wiederverwendbare Infrastruktur bündeln, Eingaben annehmen, Ausgaben bereitstellen und Konfigurationen DRY sowie wartbar halten.
Module und Code-Wiederverwendung ist eine kostenlose Terraform Infrastructure as Code-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Terraform Infrastructure as Code-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Terraform Infrastructure as Code-Kurs umfasst insgesamt 4 Lektionen.
Warum Module?
Das Kopieren und Einfügen derselben Ressourcen über verschiedene Umgebungen hinweg führt zu Abweichungen und Fehlern. Ein Modul ist ein wiederverwendbarer, parametrisierter Container für Terraform-Ressourcen, den Sie mit unterschiedlichen Eingaben mehrfach aufrufen können. So bleibt Ihr Code DRY.
Jede Konfiguration ist ein Modul
Das Verzeichnis, in dem Sie terraform apply ausführen, ist das Root-Modul. Von ihm aufgerufene Module sind Child-Module. Sie verwenden also bereits Module — Sie fügen lediglich weitere hinzu.
Aufbau eines Moduls
Ein Modul ist einfach ein Ordner mit .tf-Dateien, üblicherweise:
main.tf— die Ressourcen.variables.tf— Eingabevariablen.outputs.tf— bereitgestellte Werte.
Eingaben definieren
Eingaben werden innerhalb des Moduls als Variablen deklariert, sodass Aufrufer das Verhalten anpassen können.
variable "bucket_name" {
type = string
}
variable "versioning" {
type = bool
default = false
}Eingaben verwenden
Die Ressourcen des Moduls verweisen auf dessen Variablen.
resource "aws_s3_bucket" "this" {
bucket = var.bucket_name
}Ausgaben bereitstellen
Ausgaben geben dem Aufrufer nützliche Werte zurück, etwa IDs oder ARNs.
output "bucket_arn" {
value = aws_s3_bucket.this.arn
}Ein Modul aufrufen
Das Root-Modul ruft ein Child-Modul mit einem module-Block auf und übergibt Eingaben.
module "logs" {
source = "./modules/bucket"
bucket_name = "app-logs"
versioning = true
}Modulausgaben referenzieren
Greifen Sie an anderer Stelle in Ihrer Konfiguration mit module.NAME.OUTPUT auf die Ausgaben eines Moduls zu.
resource "aws_s3_bucket_policy" "p" {
bucket = module.logs.bucket_arn
}Modulquellen
source kann ein lokaler Pfad, eine Git-URL oder die öffentliche Terraform Registry sein.
module "vpc" {
source = "terraform-aws-modules/vpc/aws"
version = "5.0.0"
}Module versionieren
Fixieren Sie für Registry-Module immer eine version, damit Upgrades bewusst erfolgen. Führen Sie nach dem Hinzufügen oder Ändern von Modulen terraform init aus, um sie herunterzuladen.
Gute Module entwerfen
Halten Sie Module fokussiert (eine logische Komponente), stellen Sie nur die benötigten Eingaben bereit, dokumentieren Sie Ausgaben und vermeiden Sie umgebungsspezifische hartcodierte Werte. Kleine, kombinierbare Module sind besser als ein einziges riesiges Modul.
Kurze Wissensprüfung
Testen Sie Ihr Wissen zu Modulen.
Zusammenfassung
Module machen Terraform wiederverwendbar und DRY.
- Ein Modul ist ein Ordner mit .tf-Dateien, Variablen (Eingaben) und Ausgaben.
- Rufen Sie es mit einem
module-Block und einersourceauf; greifen Sie übermodule.NAME.OUTPUTauf Ergebnisse zu. - Quellen können lokal, Git oder die Registry sein; fixieren Sie
versionund führen Sieinitaus. - Entwerfen Sie kleine, fokussierte und gut dokumentierte Module.
Häufig gestellte Fragen
Ist die Lektion „Module und Code-Wiederverwendung“ kostenlos?
Ja — der vollständige Text von „Module und Code-Wiederverwendung“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Terraform Infrastructure as Code-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Terraform Infrastructure as Code-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Module und Code-Wiederverwendung“?
Lernen Sie, wie Terraform-Module wiederverwendbare Infrastruktur bündeln, Eingaben annehmen, Ausgaben bereitstellen und Konfigurationen DRY sowie wartbar halten. Du übst Terraform Infrastructure as Code mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Terraform Infrastructure as Code zu starten?
Keine Vorkenntnisse erforderlich. Terraform Infrastructure as Code auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Module und Code-Wiederverwendung“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Terraform Infrastructure as Code-Lektion Code schreiben und ausführen?
Ja. Jede Terraform Infrastructure as Code-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Provider und Ressourcen
- Variablen und Outputs
- Grundlagen der State-Verwaltung
- Module und Code-Wiederverwendung