0Pricing
DevOps Bootcamp · Lektion

Wiederverwendbare Module erstellen

Lernen Sie, eigene Terraform-Module zu erstellen und darin Eingaben, Ausgaben und Ressourcen für modulare und flexible Konfigurationen zu definieren.

Wiederverwendbare Module erstellen ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 2 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 DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Erstellen Sie Ihre eigenen Terraform-Module

In der vorherigen Lektion haben wir gelernt, vorhandene Terraform-Module zu verwenden. Nun beschäftigen wir uns mit der Erstellung Ihrer eigenen wiederverwendbaren Module.

Das Entwickeln von Modulen hilft Ihnen, gängige Infrastrukturmuster zu kapseln. Dadurch werden Ihre Konfigurationen übersichtlicher, konsistenter und leichter zu warten.

Ihre Moduldateien organisieren

Ein Terraform-Modul ist im Wesentlichen eine Sammlung von .tf-Dateien, die in einem eigenen Verzeichnis gespeichert werden.

In seiner einfachsten Form enthält ein Modulverzeichnis:

  • variables.tf: Definiert die Eingabevariablen für das Modul.
  • main.tf: Enthält die eigentlichen Ressourcendeklarationen.
  • outputs.tf: Definiert die Ausgabewerte des Moduls.

Zusätzlich können Sie versions.tf für Provider-Anforderungen und README.md für die Dokumentation einbinden.

Moduleingaben: Variablen

Damit Ihr Modul flexibel ist, definieren Sie Eingabevariablen. Benutzer Ihres Moduls können damit dessen Verhalten anpassen, ohne den Kerncode des Moduls zu ändern.

Variablen werden mithilfe eines variable-Blocks definiert. Dabei werden eine description, ein type und optional ein default-Wert angegeben.

Beispiel: Eine Modulvariable definieren

So könnten Sie in der Datei variables.tf Ihres Moduls eine Variable für einen Instanztyp definieren:

# variables.tf
variable "instance_type" {
  description = "The EC2 instance type to use."
  type        = string
  default     = "t2.micro"
}

Modulressourcen: Die Kernlogik

Das Herzstück Ihres Moduls sind seine Ressourcendeklarationen. Dabei handelt es sich um die eigentlichen Cloud-Ressourcen, die das Modul bereitstellt.

Sie platzieren diese Ressourcenblöcke, etwa für eine AWS-EC2-Instanz oder einen S3-Bucket, in der Datei main.tf Ihres Moduls.

Wichtig ist, dass Ressourcen innerhalb des Moduls häufig die von Ihnen definierten Eingabevariablen verwenden.

Ressourcendeklaration mit Eingaben

Deklarieren wir in main.tf eine EC2-Instanz und verwenden dabei unsere Variable instance_type:

# main.tf
resource "aws_instance" "web_server" {
  ami           = "ami-0abcdef1234567890" # Example AMI ID
  instance_type = var.instance_type
  tags = {
    Name = "MyWebServer"
  }
}

Modulausgaben: Informationen teilen

So wie Module Eingaben entgegennehmen, können sie auch Ausgabewerte bereitstellen. Diese eignen sich dazu, Informationen über die vom Modul erstellten Ressourcen nach außen zu geben.

Beispielsweise möchten Sie vielleicht die öffentliche IP-Adresse einer EC2-Instanz oder die ARN eines S3-Buckets ausgeben.

Ausgaben werden in outputs.tf mithilfe eines output-Blocks definiert.

Definieren eines Modul-Ausgabewerts

So definieren Sie in outputs.tf eine Ausgabe für die öffentliche IP-Adresse unserer EC2-Instance:

# outputs.tf
output "instance_public_ip" {
  description = "The public IP address of the EC2 instance."
  value       = aws_instance.web_server.public_ip
}

Ihr neues Modul aufrufen

Sobald Ihr Modul definiert ist, können Sie es in einer Root-Konfiguration (oder einem anderen Modul) wie jedes andere Modul verwenden.

Sie geben die source (den Pfad zu Ihrem Modulverzeichnis) an und übergeben Werte an die Eingabevariablen.

# root_config/main.tf
module "my_web_server_module" {
  source        = "../my-ec2-module" # Path to your module
  instance_type = "t3.small"         # Override default
}

output "web_server_ip" {
  value = module.my_web_server_module.instance_public_ip
}

Überprüfung der Modulkomponenten

Sie haben die wichtigsten Dateien eines Terraform-Moduls kennengelernt. In welcher Datei werden hauptsächlich Werte definiert, die an das Modul übergeben werden können?

Zusammenfassung: Wiederverwendbare Module erstellen

Gute Arbeit! Sie wissen nun, wie Sie eigene Terraform-Module erstellen.

  • Module sind Verzeichnisse, die .tf-Dateien enthalten.
  • Verwenden Sie variables.tf für Eingaben.
  • Platzieren Sie Ressourcendefinitionen in main.tf.
  • Definieren Sie Ausgaben in outputs.tf, um Daten bereitzustellen.

Diese Fähigkeit ist entscheidend für den Aufbau skalierbarer, wartbarer und konsistenter Infrastruktur als Code.

Häufig gestellte Fragen

Ist die Lektion „Wiederverwendbare Module erstellen“ kostenlos?

Ja — der vollständige Text von „Wiederverwendbare Module erstellen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Wiederverwendbare Module erstellen“?

Lernen Sie, eigene Terraform-Module zu erstellen und darin Eingaben, Ausgaben und Ressourcen für modulare und flexible Konfigurationen zu definieren. Du übst DevOps Bootcamp 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 DevOps Bootcamp zu starten?

Keine Vorkenntnisse erforderlich. DevOps Bootcamp 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 2 von 4.

Wie lange dauert die Lektion „Wiederverwendbare Module erstellen“?

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 DevOps Bootcamp-Lektion Code schreiben und ausführen?

Ja. Jede DevOps Bootcamp-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

  1. Einführung in Terraform-Module
  2. Wiederverwendbare Module erstellen
  3. Workspaces für Umgebungen verwenden
  4. Module in einer Registry veröffentlichen
← Zurück zu DevOps Bootcamp