- Startseite
- Skills
- Bereitstellung
- Infrastructure as Code
Infrastructure as Code
IaC-Muster mit Terraform und Pulumi beherrschen — Ihre gesamte Infrastruktur aus Code definieren, versionieren und reproduzieren.
Das Problem
Ihre Infrastruktur lebt in einem Dutzend Browser-Tabs — AWS-Konsole, Cloudflare-Dashboard, Datenbank-Admin-Panels. Niemand kennt die exakte Konfiguration der Produktion, Staging wurde anders eingerichtet “weil halt so,” und die Wiederherstellung der Umgebung nach einem Desaster wuerde Tage des Klickens durch UIs erfordern. Manuelle Infrastrukturverwaltung ist nicht reproduzierbar, nicht auditierbar und nur einen menschlichen Fehler von einer Katastrophe entfernt.
Der Prompt
Du bist ein Infrastructure-as-Code-Architekt. Hilf mir meine Infrastruktur zu kodifizieren.
AKTUELLES SETUP:
- Cloud-Anbieter: [z.B. AWS, GCP, Azure, Multi-Cloud]
- Genutzte Services: [z.B. EC2/ECS, RDS PostgreSQL, S3, CloudFront, Route53]
- Umgebungen: [z.B. Dev, Staging, Produktion]
- IaC-Tool-Praeferenz: [Terraform / Pulumi / OpenTofu / keine Praeferenz]
- Teamgroesse: [z.B. allein, 3-5 Devs, 10+ Devs]
Entwirf eine IaC-Architektur mit:
1. **Projektstruktur**: Verzeichnislayout, Modul-Organisation, Umgebungstrennung.
2. **State-Management**: Wo State gespeichert wird (S3 + DynamoDB-Lock, Terraform Cloud, Pulumi Cloud), Backup-Strategie.
3. **Modul-Design**: Wiederverwendbare Module fuer gaengige Muster (VPC, Datenbank, Compute, CDN) mit Input-Variablen und Outputs.
4. **Umgebungs-Strategie**: Wie Modul-Code geteilt und Konfiguration pro Umgebung variiert wird (Workspaces, tfvars, Verzeichnisstruktur).
5. **Secret-Management**: Wie sensible Werte behandelt werden (AWS Secrets Manager, Vault, SOPS) ohne sie zu committen.
6. **CI/CD-Integration**: Wie Plan bei PR, Apply bei Merge, mit Drift-Detection.
7. **Starter-Code**: Generiere die initiale IaC-Konfiguration fuer meine kritischsten Services.
Beispielausgabe
Projektstruktur:
infra/
modules/
vpc/ — Wiederverwendbare VPC mit oeffentlichen/privaten Subnetzen
database/ — RDS mit automatisierten Backups, Verschluesselung
compute/ — ECS Fargate Service mit ALB
environments/
dev/ — terraform.tfvars (kleinere Instanzen, einzelne AZ)
staging/ — terraform.tfvars (produktionsaehnlich, einzelne AZ)
production/ — terraform.tfvars (Multi-AZ, erweitertes Monitoring)
backend.tf — S3 State + DynamoDB Lock
CI/CD: PR → terraform plan (Diff als Kommentar im PR) → Merge nach Main → terraform apply (mit manueller Freigabe fuer Produktion)
Wann einsetzen
Verwenden Sie diesen Skill bei der Verwaltung von mehr als 3 Cloud-Ressourcen, wenn Sie Umgebungen replizieren muessen oder nachdem Configuration-Drift einen Incident verursacht hat. Unverzichtbar beim Onboarding von Teammitgliedern, die die Infrastruktur verstehen muessen, oder wenn Compliance einen Audit-Trail fuer Infrastruktur-Aenderungen erfordert.
Profi-Tipps
- Beginnen Sie mit dem was am meisten schmerzt — versuchen Sie nicht alles auf einmal zu kodifizieren. Starten Sie mit den Ressourcen, die sich am haeufigsten aendern oder am schwersten wiederherzustellen sind (Datenbanken, Netzwerk, DNS).
- Importieren Sie bestehende Ressourcen —
terraform importundpulumi importerlauben es, manuell erstellte Ressourcen unter IaC-Verwaltung zu bringen, ohne sie neu zu erstellen. - Speichern Sie nie Secrets in State-Dateien — Terraform-State enthaelt alle Ressourcen-Attribute im Klartext. Verschluesseln Sie Ihr State-Backend und beschraenken Sie den Zugriff.
- Nutzen Sie
terraform planals Code-Review-Tool — verlangen Sie Plan-Output bei jedem PR. Reviewer sollten pruefen, dass der Diff nur beabsichtigte Aenderungen zeigt, bevor sie genehmigen.