Infrastructure as Code richtig umgesetzt

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 Dieses Buch ist das erste deutschsprachige Werk zu Terraform.

Inkl. umfassender Kommandoreferenz und Best Practices für den alltäglichen Betrieb.

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
4 MB
Anzahl Seiten
495
Lesemotiv