Terraform-Referenzliste – nützliche Befehle und Beispiele
Die Liste aller Terraform-Befehle
Hier ist ein umfassender Terraform-Quick-Reference mit essenziellen Befehlen, Konfigurationselementen, Ressourcenverwaltung, Modulen, Variablen, Statusverwaltung und bewährten Methoden.
Terraform ist ein Open-Source-Tool für Infrastructure-as-Code (IaC), das von HashiCorp entwickelt wurde. Es ermöglicht Benutzern, Infrastruktur über mehrere Cloud-Anbieter hinweg (z. B. AWS, Azure, GCP) mithilfe deklarativer Konfigurationsdateien zu definieren und bereitzustellen. Sein Hauptzweck ist die Automatisierung der Infrastrukturbereitstellung, die Sicherstellung der Konsistenz und die Verringerung manueller Fehler. Terraform unterstützt Multi-Cloud, modulare und statusgesteuerte Workflows, was es zu einem Eckpfeiler moderner DevOps-Praktiken macht.
Für weitere Entwickler-Tools und Workflows sehen Sie Entwickler-Tools: Der vollständige Leitfaden für moderne Entwicklungsworkflows.

Wichtige Vorteile von Terraform:
- Deklarative Syntax: Definieren Sie den gewünschten Infrastrukturstatus im Code.
- Unabhängigkeit von Providern: Funktioniert mit AWS, Azure, GCP, Kubernetes und mehr.
- Statusverwaltung: Verfolgt Änderungen an der Infrastruktur, um Konflikte zu vermeiden.
Installations- und Einrichtungsguide
https://developer.hashicorp.com/terraform/tutorials#get-started
Der Terraform-Installationsprozess ist ziemlich einfach.
-
Linux (Ubuntu/Debian):
wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list sudo apt update && sudo apt install terraform -
Windows (WSL):
wget -O terraform.zip https://releases.hashicorp.com/terraform/1.5.5/terraform_1.5.5_windows_amd64.zip unzip terraform.zip -
macOS (Homebrew):
brew install terraform
Für die Terminalproduktivität bei der Arbeit mit Terraform sehen Sie Ubuntu-Tastenkürzel: Vollständiger Quick-Reference.
Verifizierung
terraform --version
Terraform CLI-Befehle
Hier ist die Liste aller Terraform-Befehle:
| Befehl | Beschreibung |
|---|---|
terraform init |
Initialisieren eines neuen oder bestehenden Terraform-Konfigurationsverzeichnisses |
terraform validate |
Überprüfen, ob die Konfiguration gültig ist |
terraform plan |
Ausführungsplan anzeigen, ohne Änderungen vorzunehmen |
terraform apply |
Änderungen anwenden, die für den gewünschten Status erforderlich sind |
terraform destroy |
Von Terraform verwaltete Infrastruktur zerstören |
terraform fmt |
Konfigurationsdateien im Standardstil neu formatieren |
terraform show |
aktuellen Status oder Plan anzeigen |
terraform refresh |
Status mit der realen Infrastruktur aktualisieren |
terraform providers |
Anzeigen der in der Konfiguration verwendeten Provider |
terraform graph |
Visualisierung der Ressourcenabhängigkeiten als Graph |
terraform workspace list |
Alle verfügbaren Workspaces auflisten |
terraform workspace new |
Einen neuen Workspace erstellen |
terraform workspace select |
Zu einem angegebenen Workspace wechseln |
terraform workspace show |
Den Namen des aktuellen Workspaces anzeigen |
terraform workspace delete |
Einen angegebenen Workspace löschen |
terraform output |
Ausgabe-Werte aus der Statusdatei anzeigen |
terraform import |
Bestehende Ressource in Terraform importieren |
terraform taint |
Eine Ressource für die Neuanlage beim nächsten Apply markieren |
terraform untaint |
Eine Ressource als „befleckt" (tainted) aufheben |
terraform state list |
Ressourcen in der Statusdatei auflisten |
terraform state show |
Attribute einer einzelnen Ressource im Status anzeigen |
Konfigurationselemente
Dateierweiterungen
.tf: Hauptkonfigurationsdateien (HCL-Syntax).tfvars: Variablenwerte
Terraform-Block-Typen
- Beispiel für einen Provider
provider "aws" { region = "us-east-1" } - Beispiel für eine Ressource
resource "aws_instance" "web" { ami = "ami-0abcdef" instance_type = "t2.micro" } - Beispiel für eine Variable
variable "instance_count" { type = number default = 2 } - Beispiel für eine Ausgabe
output "instance_ip" { value = aws_instance.web.public_ip } - Beispiel für ein Modul
module "vpc" { source = "./modules/vpc" cidr_block = var.vpc_cidr }
Arbeiten mit Variablen
- Deklaration von Variablen
variable "region" { description = "AWS-Region" default = "us-east-1" } - Zuweisung von Werten
- CLI:
terraform apply -var="region=us-west-2" - tfvars-Datei:
terraform apply -var-file="prod.tfvars"
- CLI:
- Typen:
string,number,bool,list,map,object
Statusverwaltung
- Statusdatei:
terraform.tfstate - Remote-Status (S3-Beispiel)
backend "s3" { bucket = "my-tf-state" key = "state.tfstate" region = "us-east-1" } - Status anzeigen:
terraform show
terraform state list
Schleifen und Bedingungen
- Count
resource "aws_instance" "web" { count = 3 ... } - For_each
resource "aws_s3_bucket" "b" { for_each = var.bucket_names bucket = each.value } - Bedingungen
instance_type = var.env == "prod" ? "t2.large" : "t2.micro"
Funktionen
- String-Interpolation:
resource "aws_s3_bucket" "example" { bucket = "my-bucket-${var.env}" } - Beispiele für Listen und Maps:
locals { my_map = { a = 1, b = 2 } }
Provisioner
Wird zum Bootstrapping von Ressourcen verwendet. Beispiel:
resource "aws_instance" "web" {
...
provisioner "local-exec" {
command = "echo Instance created"
}
}
Best Practices
- Versionskontrolle für alle
.tf-Dateien - Provider-Versionen sperren, um konsistente Bereitstellungen sicherzustellen
- Remote-Backend für die Statusverwaltung (S3, Azure Blob usw.)
- Statusdateien verschlüsseln in Remote-Backends
- Infrastruktur modularisieren unter Verwendung wiederverwendbarer Module
- Dokumentation Ihrer Konfigurationen
- Testen im Staging-Umfeld vor der Produktion
Zusätzliche Referenzen
- Hilfe:
terraform --helpoder[Befehl] --helpfür spezifische Befehlshilfe - Debugging: Setzen Sie
TF_LOG=INFOoderTF_LOG=DEBUGfür ausführliche Protokollierung - Formatierung:
terraform fmt - Codierung: Für Base64-Codierungs-/Dekodierungsoperationen sehen Sie Codierung - Base64 auf Windows, Linux und Mac decodieren
Dieser Quick-Reference bietet eine schnelle Zugriffsmöglichkeit für die häufigsten und fortgeschrittenen Aspekte der Terraform-Nutzung – von Befehlen bis hin zu Best Practices – und macht ihn sowohl für Anfänger als auch für fortgeschrittene Anwender praxistauglich. Ich wünsche Ihnen einen schönen Tag!
Nützliche Links
- https://developer.hashicorp.com/terraform
- Docker-Quick-Reference
- Docker Compose-Quick-Reference - Die nützlichsten Befehle mit Beispielen
- Kubernetes-Quick-Reference
- Flutter-Projekt mit Backend auf AWS Amplify bereitstellen
- Hugo-generierte Website auf AWS S3 bereitstellen
- AWS Lambda-Leistung: JavaScript vs. Python vs. Golang
- Layered Lambdas mit AWS SAM und Python
- AWS SAM + AWS SQS + Python PowerTools
- Minio als Aws S3-Alternative. Minio-Überblick und Installation