Terraform verstehen: Infrastruktur schreiben statt klicken

Inhaltsverzeichnis

Du willst eigene Server in der Cloud erstellen, Netzwerke anlegen oder Datenbanken provisionieren – und das alles ohne dich durch klicklastige Web-Oberflächen zu hangeln? Dann solltest du dir Terraform anschauen.

Terraform ist das Werkzeug für sogenannte „Infrastructure as Code“. Damit beschreibst du deine komplette Infrastruktur als Textdatei – und kannst sie versionieren, automatisch aufbauen und bei Bedarf wieder löschen. Klingt nach Magie? Ist es auch – fast.

Was genau ist Terraform?

Terraform ist ein Open-Source-Tool von HashiCorp, das es dir ermöglicht, Infrastruktur deklarativ zu beschreiben. Das heißt: Du sagst nicht, wie etwas gemacht wird, sondern was du brauchst – z. B. „Ich will einen Server mit 2 vCPUs und 4 GB RAM in Frankfurt.“ Terraform erledigt den Rest.

Du schreibst diese Beschreibung in der sogenannten HCL (HashiCorp Configuration Language) – die sieht aus wie eine Mischung aus JSON und Ini-Dateien, ist aber gut lesbar.

Was wäre ohne Terraform?

Ohne Terraform würdest du dich bei AWS, Azure oder Hetzner Cloud einloggen und:

  • Server manuell per Webinterface anlegen
  • Netzwerke konfigurieren, IPs vergeben
  • Fehler per Hand korrigieren
  • …und das bei jedem neuen Projekt oder Setup erneut

All das ist nicht nur fehleranfällig, sondern auch schwer zu dokumentieren oder nachzuvollziehen.

Beispiel: Ein einfacher Cloud-Server mit Terraform

provider "hcloud" {
  token = var.hcloud_token
}

resource "hcloud_server" "web" {
  name        = "webserver"
  image       = "ubuntu-22.04"
  server_type = "cx21"
  location    = "fsn1"
  ssh_keys    = [hcloud_ssh_key.me.id]
}

Mit terraform apply wird der Server automatisch erstellt – immer gleich, jederzeit reproduzierbar.

Warum nicht einfach ein Bash-Skript?

Du kannst natürlich auch Bash-Skripte schreiben, um API-Aufrufe an Cloud-Anbieter zu senden. Aber das ist:

  • komplizierter (du musst API-Calls selbst bauen)
  • weniger lesbar
  • nicht deklarativ, sondern prozedural

Terraform ist wie eine Bauanleitung – ein Bash-Skript ist eher wie „Koch freestyle mit offenen Augen zu“.

Wann ist Bash trotzdem sinnvoll?

Bash bleibt wichtig – z. B. für:

  • einmalige lokale Setups
  • Systemkonfigurationen innerhalb eines Servers (z. B. bei Cloud-Init)
  • Kleinigkeiten oder Tools, die kein Terraform-Plugin haben

Profi-Tipp: Terraform und Bash sind kein Widerspruch – du kannst Skripte aus Terraform heraus starten, etwa für Custom-Provisioning oder Initialisierung.

Was bringt dir Terraform konkret?

  • Du dokumentierst automatisch deine komplette Infrastruktur
  • Du kannst alles versionieren (z. B. via Git)
  • Du baust Setups beliebig oft exakt gleich neu auf – ideal für Testing, Teams oder Skalierung
  • Du sparst massig Zeit, sobald du mehr als 1x klickst

Fazit: Der LEGO-Baukasten für deine Cloud

Mit Terraform schreibst du deine Cloud – wie Code. Statt stundenlang in Oberflächen herumzuklicken, baust du dir Templates, Versionen und kannst deine Infrastruktur jederzeit reproduzieren. Das ist nicht nur effizient – das ist professionell.

Wenn du Linux-Grundlagen beherrschst, YAML und Bash verstehst, ist Terraform der nächste große Sprung in Richtung Cloud Engineering und DevOps.

Nächster Schritt? Installiere Terraform, verbinde es mit einem Anbieter wie Hetzner oder AWS – und baue deinen ersten Server mit einem .tf-File!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Andreas Moor
Andreas Moor
@blog@andreas-moor.de

Hallo Fediverse, ich bin Andy!

Hier und auf meiner Website findest du mein akkumuliertes Linux-Sysadmin-Wissen, meine kleinen und größeren Projekte und die Tools, die ich nutze.

Viel Spaß beim stöbern, lesen und lernen! 🧑‍💻

236 Beiträge
16 Folgende