Mit Terraform errichten Sie komplexe Infrastrukturen automatisiert in der Cloud und orchestrieren Deployments, die genau Ihren Anforderungen entsprechen. Tim Beermann, Johannes Kastl, Christian Rost, Thorsten Schifferdecker und Eike Waldt zeigen Ihnen, wie Sie Deployments verwalten, Ressourcen mit HCL skripten und den State Ihres Setups verwalten. So gerüstet entwerfen Sie wiederverwendbaren Code, vermeiden Fallstricke und schaffen einen komfortablen Arbeitsweg zur Verwaltung Ihrer Cloud-Landschaften. Aus dem Inhalt: Infrastructure as Code Was ist Terraform? Installation und alle Grundlagen Provider: Konfiguration und Beispiel-Setups State Der Zustand der Umgebung Variablen und Datenquellen HCL: Terraform programmieren Updates und Day-2-Operations Terragrunt und weitere Tools Best Practices: Terraform richtig nutzen Multi-Cloud-Deployments

Konfigurationsverwaltung und State, Sicherheit, Updates und Day-2-Management

Inhalt
Materialien zum Buch ... 12 1. Einleitung ... 13 1.1 ... Gliederung ... 13 1.2 ... Voraussetzungen für das Arbeiten mit Terraform ... 16 1.3 ... Zu den Autoren dieses Werks ... 17 2. Was ist Terraform? ... 21 2.1 ... Cloud Computing und seine Auswirkungen ... 21 2.2 ... Das Prinzip Infrastructure as Code ... 22 2.3 ... Terraform, seine Geschichte und seine Funktionsweise ... 23 2.4 ... Wie funktioniert die Cloud? ... 24 2.5 ... Ansible, Chef, Salt, Puppet, Terraform -- welches Werkzeug für welche Aufgabe? ... 26 3. Erste Schritte mit Terraform ... 29 3.1 ... Installation von Terraform ... 29 3.2 ... Schnelleinstieg: Ein typischer Terraform-Workflow ... 40 3.3 ... Konventionen für Dateinamen und Unterordner ... 53 3.4 ... Ordnerstruktur ... 56 4. Provider ... 57 4.1 ... Provider finden und installieren ... 57 4.2 ... Konfiguration und Authentifizierung ... 66 4.3 ... Szenarien: So deployen Sie Terraform ... 68 5. State -- der Zustand der Umgebung ... 185 5.1 ... Interaktion mit dem State ... 187 5.2 ... Format ... 189 5.3 ... Speicherort des State ... 190 5.4 ... State durch Locking verriegeln ... 208 5.5 ... Sicherheit ... 210 6. Variablen und Datenquellen ... 213 6.1 ... Was sind Variablen? ... 214 6.2 ... Eingabevariablen setzen und verwenden ... 214 6.3 ... Ausgabewerte (Outputs) ... 238 6.4 ... Lokale Variablen oder Werte ... 241 6.5 ... Datenquellen (Data Sources) ... 243 6.6 ... Interne Werte und Block-lokale Werte ... 247 7. Terraform programmieren -- die Sprache HCL ... 255 7.1 ... Logikfunktionen ... 255 7.2 ... Provisioner als Schnittstellen zum Konfigurationsmanagement ... 268 7.3 ... Abhängigkeiten verwalten ... 290 7.4 ... Arbeiten mit Terraform-Modulen ... 295 7.5 ... Deployments versionieren ... 304 7.6 ... Code modularisieren und strukturieren: Best Practices für Terraform ... 309 7.7 ... Funktionen ... 315 7.8 ... Ausdrücke und Expressions ... 332 7.9 ... Nützliche Funktionen und Beispiele ... 338 8. Updates und Day 2 Operations ... 353 8.1 ... Backup, Backup, Backup ... 353 8.2 ... Überprüfung und automatische Qualitätskontrollen für Terraform-Code ... 354 8.3 ... Mit Terraform arbeiten ... 355 8.4 ... Überwachung (Monitoring) der Umgebung ... 355 8.5 ... Updates und Änderungen einspielen ... 359 8.6 ... Lifecycle-Management mit Terraform ... 369 8.7 ... Day 2 Operations für Terraform ... 379 9. Erfahrungswerte, Tipps und Tricks ... 387 9.1 ... Versionsverwaltung nutzen ... 387 9.2 ... Remote Backends nutzen ... 390 9.3 ... Terraform-Code strukturieren durch Nutzung von Modulen ... 390 9.4 ... Terraform-Code und Repository logisch strukturieren ... 398 9.5 ... Terraform-Code prüfen, kontrollieren und testen ... 404 9.6 ... Variablen mit Standardwert null ... 411 9.7 ... Zugriff auf geschachtelte Listen ... 412 10. Vorgefertigtes Beispiel ... 415 10.1 ... Szenario ... 415 10.2 ... Vorbereitung ... 416 10.3 ... Das Deployment ... 419 11. Ausblick ... 423 11.1 ... Automate the Automation ... 423 11.2 ... Terraform Cloud und Enterprise ... 425 11.3 ... Terragrunt, Timon und weitere Tools ... 437 11.4 ... Cloud Development Kit Terraform (CDKTF) ... 442 12. Kommandoreferenz ... 445 12.1 ... Allgemeine Parameter ... 445 12.2 ... Wichtige Befehle ... 446 12.3 ... Weniger häufig verwendete Befehle ... 458 12.4 ... Konfigurationsoptionen für die Terraform-CLI (alias Terraform Settings) ... 485 Index ... 491
Titel
Terraform
Untertitel
Das Praxisbuch für DevOps-Teams und Administratoren
EAN
9783836289153
Format
E-Book (epub)
Hersteller
Veröffentlichung
05.04.2023
Digitaler Kopierschutz
frei
Dateigrösse
7 MB
Anzahl Seiten
495
Lesemotiv