Skip to main content

Unveränderliche Infrastruktur & Cloud-Init

FÜR AI-AGENTENChatGPTClaude

Ein Paradigma des Server-Managements, bei dem Server nach der Bereitstellung niemals manuell modifiziert werden: Jede Aktualisierung oder Konfigurationsänderung erfolgt durch die Erstellung einer neuen, standardisierten Instanz.

1. Konzeptüberblick und das systemische Problem

Traditionelle manuelle Administration über SSH-Fernzugriff führt unweigerlich zu Chaos:

  • Ein Ingenieur meldet sich am Freitag um 22:00 Uhr auf dem Server an, korrigiert dringend eine Zeile in der Nginx-Konfiguration, vergisst die Dokumentation und geht nach Hause.
  • Sechs Monate später muss der Server auf ein anderes Hosting umgezogen oder skaliert werden.
  • Der neue Server wird anhand eines alten Leitfadens bereitgestellt – und nichts funktioniert! Niemand erinnert sich daran, welche Pakete manuell installiert wurden und welche Berechtigungen in /etc gesetzt sind.

Immutable Infrastructure (Unveränderliche Infrastruktur) verbietet die Mutation lebender Server endgültig: Wenn auch nur eine einzige Einstellung geändert werden muss, ändern Sie nicht den alten Server – Sie stellen eine neue, fertige Instanz bereit, leiten den Traffic um und zerstören die alte.

2. Architektonische Taxonomie und mentales Modell

┌─────────────────────────────────────────────────────────────┐
│                 IMMUTABLE PROVISIONING CYCLE                │
├─────────────────────────────────────────────────────────────┤
│ 1. INFRASTRUCTURE AS CODE (Git Repository):                 │
│    • `cloud-init.yaml`: Security hardening, UFW, Docker      │
│    • `docker-compose.prod.yml`: Application stack           │
├─────────────────────────────────────────────────────────────┤
│                          │                                  │
│                          ▼ Trigger: Provision New VPS (API) │
├─────────────────────────────────────────────────────────────┤
│ 2. CLOUD-INIT BOOTSTRAP (< 90 seconds on Hetzner):          │
│    • Disable root login & password authentication           │
│    • Provision non-root user `deployer` with SSH keys       │
│    • Lock down UFW (allow ONLY ports 80, 443, WireGuard)    │
│    • Install Docker Engine & Tailscale daemon               │
├─────────────────────────────────────────────────────────────┤
│ 3. TRAFFIC SWAP & ZERO DOWNTIME CUTOVER:                    │
│    • Healthcheck PASS ➔ Point DNS / Floating IP to NEW VPS  │
│    • Terminate OLD VPS ➔ Zero leftovers, zero drift!        │
└─────────────────────────────────────────────────────────────┘

3. Praktische Engineering-Szenarien im Produktionsumfeld

01. Referenz-Cloud-Init-Skript für die Bestellung eines geschützten VPS

Wird beim Erstellen des Servers im Feld User Data übergeben:

#cloud-config
users:
  - name: orlov
    groups: sudo
    shell: /bin/bash
    sudo: ['ALL=(ALL) NOPASSWD:ALL']
    ssh_authorized_keys:
      - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5...
package_update: true
packages:
  - ufw
  - fail2ban
  - docker.io
runcmd:
  - ufw default deny incoming
  - ufw default allow outgoing
  - ufw allow 22/tcp
  - ufw allow 80/tcp
  - ufw allow 443/tcp
  - ufw --force enable
  - systemctl enable --now docker

4. Fallstricke, häufige Fehler und Sicherheit

  • Versuch, lokalen Zustand auf einem unveränderlichen Server zu speichern: Wenn die Anwendung hochgeladene Benutzerdateien direkt auf der lokalen Festplatte des Servers speichert, gehen diese Dateien bei einem Instanz-Austausch verloren. Sämtlicher Benutzerzustand muss in dedizierten Speichern (S3, Cloudflare R2) oder Datenbanken abgelegt werden.
  • Fehler im Initialisierungsskript: Enthält die Datei cloud-init.yaml einen Syntaxfehler im SSH-Key, startet der Server ohne Zugriffsmöglichkeit. Testen Sie Initialisierungskonfigurationen immer auf günstigen Testmaschinen.

5. Strategisches Fazit für Ingenieure im Jahr 2026

Unveränderliche Infrastruktur befreit Ingenieure von der Angst vor Serverausfällen. Wenn jeder Knoten Ihres Systems innerhalb von anderthalb Minuten mit einem einzigen Tastendruck entfernt und neu bereitgestellt werden kann, wird die Infrastruktur vorhersehbar, leicht skalierbar und immun gegen menschliches Versagen.

/ Häufig gestellte FragenSchema.org FAQPage

FAQ: Unveränderliche Infrastruktur & Cloud-Init

Der alte Ansatz (Pets): Jeder Server hat einen eigenen, eindeutigen Namen; Administratoren patchen ihn jahrelang manuell, fürchten sich vor Neustarts und sind verzweifelt, wenn er ausfällt. Unveränderliche Infrastruktur (Cattle): Alle Server sind nummerierte, identische Kopien. Wenn ein Server Fehler aufweist, wird er einfach zerstört und innerhalb von 60 Sekunden automatisch über ein Skript neu erstellt.
/ Interne Links
Alle Begriffe