Direkt zum Inhalt

Top 20 Terraform Interview Fragen und Antworten für 2025

Entdecke 20 Terraform-Interviewfragen und -Antworten für die Beherrschung von Infrastructure as Code in 2025, von grundlegenden Konzepten bis zu fortgeschrittenen Praktiken.
Aktualisierte 3. Feb. 2025  · 12 Min. Lesezeit

Als ich Terraform zum ersten Mal verwendete, war ich skeptisch. Es fühlte sich wirklich seltsam an, die Infrastruktur in meinem Code-Editor zu aktualisieren, anstatt sich durch die Cloud-Konsole zu klicken, und ich habe die Vorteile damals nicht verstanden. Aber da es Firmenpolitik war, habe ich mich damit abgefunden. Dann wurde ich eines Tages gebeten, eine ganz neue Entwicklungsumgebung zu erstellen. Ich erinnere mich noch genau, wie ich zu dem Senior-Entwickler in meinem Team ging und ihn fragte, was ich verpasst hatte, weil ich nur 10 Minuten dafür brauchte. Er überprüfte meine Arbeit, lachte und bestätigte, dass es tatsächlich so einfach war. 

Es ist kein Wunder, dass sich Terraform in der Branche so weit durchgesetzt hat. Mit der rasanten Entwicklung des Cloud Computing verlagern sich Teams auf der ganzen Welt auf Infrastructure as Code (IaC), um immer komplexere Infrastrukturen zu verwalten. Die Fähigkeit von Terraform, einen konsistenten, wiederholbaren und skalierbaren Ansatz für das Infrastrukturmanagement zu bieten, hat es zur ersten Wahl für Unternehmen in verschiedenen Branchen gemacht.

In einem Terraform-Interview wird nicht nur bewertet, wie viele Befehle du kennst, sondern auch deine Fähigkeit, Terraform effektiv zu nutzen, um in moderne DevOps-Workflows zu passen und reale Probleme zu lösen. In diesem Artikel gehe ich mit dir einige der häufigsten Terraform-Interview-Fragen durch. Ich habe sie in Kategorien eingeteilt - Grundlagen, Mittelstufe und Fortgeschrittene -, damit du, egal wo du in deiner Karriere stehst, etwas für dich findest!

Und bevor du anfängst: Wenn du ganz neu im Cloud Computing bist, empfehle ich dir, zuerst unseren Kurs Einführung in das Cloud Computing zu besuchen. In diesem Kurs werden die Grundlagen der Cloud erläutert, Schlüsselbegriffe wie Skalierbarkeit und Latenz erklärt und die Vorteile der Cloud-Tools von Anbietern wie AWS vorgestellt. Bei Terraform dreht sich alles um den Umgang mit der Cloud-Infrastruktur. Stelle also sicher, dass du mit diesen Konzepten vertraut bist, sowohl in der Theorie als auch in der Praxis!

Grundlegende Terraform Interview Fragen

Diese Fragen konzentrieren sich darauf, was Terraform ist und wie es funktioniert. Diese Fragen werden dir höchstwahrscheinlich gestellt, wenn du noch nie mit Terraform gearbeitet hast oder wenn der Interviewer nicht sicher ist, wie gut du bist und mit den Grundlagen beginnen möchte.

1. Was ist Terraform und was ist sein Hauptzweck?

Terraform ist ein Open-Source-Tool für Infrastructure as Code (IaC), das von HashiCorp entwickelt wurde. Mit der deklarativen Konfigurationssprache HCL (HashiCorp Configuration Language) kannst du Cloud- und On-Premises-Infrastrukturen definieren und verwalten. Terraform automatisiert die Bereitstellung, Aktualisierung und Versionierung der Infrastruktur, um Konsistenz zu gewährleisten und den manuellen Aufwand zu reduzieren.

2. Wie unterscheidet sich Terraform von anderen IaC-Tools wie CloudFormation oder Ansible?

Terraform versus CloudFormation: Terraform ist Cloud-agnostisch, d.h. es kann Infrastrukturen bei verschiedenen Anbietern (AWS, Azure, GCP usw.) verwalten, während AWS CloudFormation nur für AWS geeignet ist. Terraform hat außerdem eine flexiblere Syntax und Zustandsverwaltung.

Terraform versus Ansible: Ansible ist in erster Linie ein Konfigurationsmanagement-Tool (Verwaltung von Software, Paketen und Betriebssystemkonfigurationen), während Terraform sich auf die deklarative Bereitstellung und Verwaltung von Infrastrukturressourcen konzentriert.

3. Was sind die wichtigsten Terraform-Befehle und was bewirken sie?

  • terraform init - Initialisiert ein Terraform-Projekt und lädt die notwendigen Provider-Plugins herunter.

  • terraform plan - Erstellt einen Ausführungsplan, der zeigt, welche Änderungen Terraform durchführen wird.

  • terraform apply - Wendet die geplanten Änderungen an und stellt Ressourcen bereit.

  • terraform destroy - Löscht alle verwalteten Ressourcen.

  • terraform validate - Prüft auf Syntaxfehler in den Terraform-Konfigurationsdateien.

4. Was ist eine Terraform-Statusdatei?

Terraform unterhält einen Lernpfad (terraform.tfstate), um die reale Infrastruktur, die es verwaltet, zu verfolgen. Die Zustandsdatei hilft Terraform, den aktuellen Zustand der Ressourcen zu verstehen, Drift zu erkennen und Änderungen effizient anzuwenden. Sie ist wichtig für die Zusammenarbeit, aber da sie sensible Daten enthält, sollte sie sicher aufbewahrt werden.

5. Was sind Terraform Provider und warum sind sie wichtig?

Provider in Terraform sind Plugins, die es ermöglichen, mit Cloud-Plattformen, SaaS-Diensten und anderen APIs zu interagieren. Jeder Anbieter (z.B. AWS, Azure, Kubernetes) definiert die Ressourcen, die Terraform verwalten kann. Ohne Anbieter wüsste Terraform nicht, wie man Infrastrukturressourcen erstellt oder konfiguriert.

Wenn du mehr über Terraform und seine Funktionsweise wissen willst, wirf einen Blick auf diesen Leitfaden für Einsteiger. In diesem Artikel gehe ich näher auf die wichtigsten Komponenten von Terraform ein und erläutere die Vor- und Nachteile des Tools. Es gibt sogar ein Mini-Tutorial, das dir den Einstieg in die Bereitstellung von Infrastruktur auf AWS erleichtert.

Intermediate Terraform Interview Fragen

In diesem Abschnitt werden die Arbeitsabläufe, Konfigurationspraktiken und Strategien von Terraform für die Verwaltung von Status und Ressourcen in realen Projekten näher erläutert. Um diese Fragen zu beantworten, brauchst du eine gute Portion praktischer Erfahrung mit Terraform, vor allem, wenn du gebeten wirst, über konkrete Beispiele zu sprechen. 

6. Was sind Terraform-Module?

Terraform-Module sind wiederverwendbare Komponenten, die dabei helfen, den Infrastrukturcode zu organisieren, indem sie verwandte Ressourcen zusammenfassen. Sie verbessern die Wartbarkeit, ermöglichen es deinem Team, Code projektübergreifend wiederzuverwenden, und vereinfachen die Bereitstellung. 

Ein Modul kann so einfach sein wie ein Verzeichnis mit .tf Dateien und eine optionale variables.tf Datei!

7. Wie verwaltet Terraform den Remote-Status?

Standardmäßig speichert Terraform den Status lokal, aber für die Zusammenarbeit unterstützt es Remote-Backends (S3 mit DynamoDB für AWS, GCS für Google Cloud oder Terraform Cloud). Fernzustand aktiviert:

  • Gemeinsamer Zugang für mehrere Teammitglieder.
  • Staatliche Sperren, um Konflikte zu vermeiden.
  • Mehr Sicherheit durch Verschlüsselung und kontrollierten Zugang.

8. Was sind Terraform Arbeitsbereiche und wann solltest du sie nutzen?

Terraform Workspaces ermöglichen es dir, verschiedene Statusdateien innerhalb derselben Konfiguration zu verwalten. Sie sind nützlich, wenn du mehrere Umgebungen (z.B. Dev, Staging, Prod) verwalten willst, ohne Code zu duplizieren.

Arbeitsbereiche eignen sich am besten für die einfache Trennung von Umgebungen, können aber für komplexe Multi-Account-Setups zu schwierig zu pflegen sein.

Terraform Arbeitsbereiche

Quelle: DevOps Mojo

9. Wie geht Terraform mit dem Import bestehender Infrastrukturen um, und wo liegen die Grenzen?

Terraform kann bestehende Ressourcen mit dem Befehlterraform import in seinen Zustand importieren . Allerdings generiert es nicht automatisch Konfigurationsdateien (die .tf Dateien) für diese Ressourcen, du musst sie also manuell erstellen.

Es gibt einige Einschränkungen bei dieser Importfunktion:

  • Komplexe Setups erfordern einen manuellen Abgleich der Konfiguration.
  • Einige Ressourcentypen werden für den Import nicht unterstützt.
  • Es besteht ein Driftrisiko, wenn die importierte Ressourcenkonfiguration nicht mit der tatsächlichen Infrastruktur übereinstimmt.

10. Was sind Terraform-Provisioner und wann solltest du sie verwenden?

Provisioner führen Skripte oder Befehle für eine Ressource aus, nachdem sie erstellt wurde. Sie werden oft für Aufgaben wie die Konfiguration von VMs oder die Installation von Software verwendet. 

Es gibt zwei Arten von Providern:

  • Lokale Bereitstellerdie auf dem Rechner laufen, der Terraform ausführt).
  • Remote-Providerdie auf der Zielressource über SSH oder WinRM laufen.

Da Provisioner Abhängigkeiten schaffen und den deklarativen Charakter von Terraform einschränken, sollten sie sparsam eingesetzt werden. Eine Alternative ist die Verwendung von Konfigurationsmanagement-Tools wie Ansible oder cloud-init.

Terraform Plugins

Quelle: Opcito

11. Was ist die Drift-Erkennung in Terraform und wie kann sie angegangen werden?

Die Drift-Erkennung bezieht sich auf die Situation, wenn der tatsächliche Zustand der Infrastruktur von dem in der Terraform-Konfiguration definierten Zustand abweicht. Das kann passieren, wenn manuelle Änderungen außerhalb von Terraform vorgenommen werden, z.B. Aktualisierungen in der Konsole des Cloud-Anbieters oder anderen Automatisierungstools. 

Terraform kann Drift erkennen, indem es terraform plan, der den aktuellen Zustand aus der Zustandsdatei mit der realen Infrastruktur vergleicht.

Wenn eine Abweichung festgestellt wird, solltest du die manuellen Änderungen rückgängig machen, damit sie mit der Terraform-Konfiguration übereinstimmen, die Konfiguration aktualisieren, damit sie den neuen gewünschten Zustand widerspiegelt und Folgendes ausführen terraform apply ausführen, um die Infrastruktur wieder mit der Konfiguration in Einklang zu bringen.

12. Wie würdest du ein rollendes Update mit Terraform für eine Anwendung implementieren, die in mehreren Instanzen eingesetzt wird?

Ein Rolling Update ermöglicht es dir, deine Infrastruktur schrittweise zu aktualisieren, um Ausfallzeiten zu reduzieren und sicherzustellen, dass eine Teilmenge deiner Anwendungsinstanzen während der Aktualisierung verfügbar bleibt. In einem Rolling-Update-Szenario erstellt Terraform eine neue Instanz der Ressource, wartet, bis sie gesund ist (mithilfe von Health Checks), und ersetzt dann nach und nach die alten Instanzen.

In der Praxis kannst du ein Rolling Update implementieren, indem du eine unveränderliche Infrastruktur in Terraform definierst und mit zählen oder for_each in deinen Ressourcendefinitionen verwendest (z. B. EC2-Instanzen, Load Balancer).

13. Wie handhabt ihr Ressourcenabhängigkeiten in Terraform und welche Rolle spielen implizite und explizite Abhängigkeiten?

In Terraform werden Abhängigkeiten von Ressourcen automatisch durch den Mechanismus zur Erstellung von Graphen gehandhabt. Implizite Abhängigkeiten entstehen, wenn eine Ressource eine andere in ihrer Konfiguration referenziert (z.B. eine aws_security_group in einer aws_instance) und Terraform automatisch die Reihenfolge der Abhängigkeiten herleitet .

Explizite Abhängigkeiten sind nützlich, wenn Terraform die Reihenfolge der Abhängigkeiten nicht automatisch ableiten kann. Sie werden erstellt, wenn das depends_on Argument verwendet wird, das Terraform dazu zwingt, eine bestimmte Ausführungsreihenfolge anzuwenden, auch wenn die Ressourcen nicht direkt referenziert werden .

Ausgabe des Terraform Grafikbefehls

Quelle: HashiCorp

Erweiterte Terraform Interview Fragen

Auf der fortgeschrittenen Ebene wollen die Interviewer sehen, wie du große Infrastrukturen mit Terraform verwalten kannst. Die Fragen können Themen wie Multi-Cloud-Bereitstellungen, Zusammenarbeit in Teams und Automatisierungsherausforderungen umfassen. Hier kannst du deine Erfahrung und deine Fähigkeiten unter Beweis stellen. Zögere also nicht, über Projekte zu sprechen, an denen du gearbeitet hast, und gib praktische Beispiele!

14. Wie verwaltest du komplexe Multi-Cloud-Einsätze mit Terraform?

Die Verwaltung von Multi-Cloud-Umgebungen erfordert den Umgang mit mehreren Anbietern in einer Konfiguration. Terraform ermöglicht es dir, Ressourcen von verschiedenen Cloud-Anbietern (z.B. AWS, Azure, Google Cloud) in derselben main. tf-Datei zu konfigurieren, indem du verschiedene Anbieter angibst und anbieterspezifische Ressourcen verwendest.

Du kannst Anbieter-Aliase verwenden, um mehrere Instanzen desselben Anbieters zu verwalten (z. B. AWS in verschiedenen Regionen), und Module nutzen, um gemeinsame Konfigurationen zu abstrahieren und Doppelarbeit zu vermeiden. Achte jedoch darauf, dass du die Cloud-übergreifenden Abhängigkeiten sorgfältig verwaltest, da die Ressourcen in den verschiedenen Clouds möglicherweise keine direkten Beziehungen haben.

15. Was sind die Befehle taint und untaint in Terraform? Wie würdest du sie in einem realen Szenario einsetzen?

terraform taint markiert eine Ressource zur Wiederherstellung, wenn terraform apply das nächste Mal ausgeführt wird, auch wenn es keine Änderungen an der Konfiguration gibt. Dies ist nützlich, wenn eine Ressource problematisch geworden ist oder sich in einem unerwünschten Zustand befindet.

Wenn zum Beispiel eine EC2-Instanz ausfällt und neu erstellt werden muss, kannst du sie mit einem Taint versehen, um ihre Zerstörung und Wiederherstellung während der nächsten apply.terraform untaint wird verwendet, um die taint Befehl rückgängig zu machen und zu verhindern, dass die Ressource neu erstellt wird.

16. Was sind Terraform Cloud und Terraform Enterprise und was sind ihre Hauptunterschiede?

Terraform Cloud ist ein SaaS-Angebot von HashiCorp, das Funktionen für die Zusammenarbeit bietet, wie z.B. Remote-Statusmanagement, Workspace-Management, Integration von Versionskontrolle und Durchsetzung von Richtlinien. Es ist ideal für kleine bis mittlere Teams.

Terraform Enterprise ist eine selbst gehostete Version, die erweiterte Funktionen wie private Modulregistrierungen, genauere Zugriffskontrollen und erweiterte Sicherheitsfunktionen bietet, einschließlich der Bereitstellung vor Ort.

Kurz gesagt: Terraform Cloud wird von HashiCorp gehostet und gewartet, während Terraform Enterprise selbst gehostet wird und Unternehmen die volle Kontrolle über ihre Infrastruktur gibt.

Terraform Cloud vs Entreprise

Quelle: Google Cloud

17. Wie verwaltet ihr in Terraform State Locking und Gleichzeitigkeitsprobleme, wenn ihr mit großen Teams arbeitet?

Das Sperren von Zuständen in Terraform soll verhindern, dass zwei Benutzer gleichzeitig denselben Zustand ändern, da dies zu beschädigten Zustandsdateien führen kann.

Terraform Cloud und Enterprise verwaltet das State Locking automatisch über ein Backend.

Für Remote-Backends wie S3 mit DynamoDB verwendet Terraform DynamoDB für State Locking und um Gleichzeitigkeitsprobleme zu verhindern.

18. Was sind Zero-Downtime-Deployments, und wie kann Terraform sie erreichen?

Zero-Downtime-Implementierungen finden statt, wenn Änderungen an der Infrastruktur vorgenommen werden, ohne dass die Verfügbarkeit der Dienste unterbrochen wird. Terraform kann dies durch Strategien wie:

  • Blaugrüner Einsatz: Mit zwei identischen Umgebungen (Blau und Grün), zwischen denen du den Datenverkehr umschaltest, um Änderungen ohne Ausfallzeiten umzusetzen.
  • Laufende Updates: Schrittweise Anwendung von Änderungen auf eine kleine Untergruppe von Instanzen, so dass der Rest während der Aktualisierungen aktiv bleibt.

Dies sind gängige Strategien in der Cloud-Architektur und Terraform bietet Funktionen, die bei der Umsetzung helfen können. Für die vollständige Umsetzung dieser Zero-Downtime-Strategien sind jedoch oft zusätzliche Tools wie Load Balancer erforderlich.

19. Wie handhabt ihr die Verwaltung von Geheimnissen in Terraform und was sind die besten Methoden?

Terraform selbst verwaltet keine Geheimnisse, kann aber mit externen Tools zur Verwaltung von Geheimnissen integriert werden. Du kannst zum Beispiel verwenden:

  • HashiCorp Vault: Terraform hat eine eingebaute Unterstützung für Vault, um Geheimnisse wie API-Schlüssel oder Passwörter zur Laufzeit abzurufen und sicherzustellen, dass sie nicht fest in Konfigurationsdateien kodiert sind.
  • Umgebungsvariablen: Für sensible Werte kannst du sie als Umgebungsvariablen festlegen.
  • Remote Backends mit Verschlüsselung: Speichere Statusdateien in Remote-Backends mit aktivierter Verschlüsselung, um unbefugten Zugriff auf sensible Daten zu verhindern.
  • Verwendung von sensiblen Argument: Markiere Ausgaben und Variablen als sensitiv, um zu verhindern, dass sie in Terraform Plan/Apply Logs erscheinen.

20. Wie implementiert man benutzerdefinierte Terraform-Anbieter und wann braucht man sie?

Benutzerdefinierte Terraform-Anbieter werden verwendet, wenn du Ressourcen oder Dienste verwalten musst, die Terraform nicht von Haus aus unterstützt. Sie sind in Go implementiert und beinhalten die Erstellung von benutzerdefinierten Funktionen, die mit APIs oder Diensten interagieren, die nicht von bestehenden Anbietern abgedeckt werden, wie z.B. eine interne API, ein Nischen-Cloud-Dienst oder eine proprietäre Technologie.

Terraform stellt das Terraform Plugin SDK zur Verfügung, um dir bei der Erstellung von Providern zu helfen, aber du musst dich um die Authentifizierung, die CRUD-Operationen (Erstellen, Lesen, Aktualisieren, Löschen) und alle speziellen Konfigurationen für die API, mit der du interagierst, kümmern.

Fazit

Ich hoffe, dieser Artikel hat dir das nötige Wissen und Selbstvertrauen gegeben, um dein Terraform-Vorstellungsgespräch zu bestehen!

Wenn du mehr Übung brauchst, schau dir die Terraform-Tutorials von HashiCorp an, um zu lernen, wie du Terraform für gängige Aufgaben und Anwendungsfälle nutzen kannst, oder sieh dir unseren Blogbeitrag 14 Essential Data Engineering Tools to Use in 2024 an, um zu verstehen, wie Terraform in den Werkzeugkasten eines Data Engineers passt.


Marie Fayard's photo
Author
Marie Fayard

Senior Software Engineer, Technical Writer und Berater mit einem Hintergrund in Physik. Wir helfen Start-ups in der Anfangsphase, ihr Potenzial auszuschöpfen und machen komplexe Konzepte für alle zugänglich.

Terraform FAQs

Wie tief sollte mein Terraform-Wissen für ein Vorstellungsgespräch sein?

Das hängt von der Rolle ab. Für eine Junior-Position reicht es aus, wenn du grundlegende Konzepte wie Provider, Zustandsverwaltung und Ressourcen verstehst. Aufgaben auf mittlerer Ebene erfordern Kenntnisse über Module, Arbeitsbereiche und Remote-Status. In leitenden Positionen wird Fachwissen über State Locking, CI/CD-Integrationen und die Behebung komplexer Probleme erwartet.

Sollte ich Terraform-Befehle für das Vorstellungsgespräch auswendig lernen?

Die Kenntnis von Schlüsselbefehlen wie terraform init, plan und apply ist zwar nützlich, aber die Interviewer interessieren sich mehr dafür, wie du Terraform-Konzepte anwendest. Sie könnten dich bitten zu beschreiben, wie du Terraform für ein reales Szenario strukturieren würdest, anstatt einfach nur Befehle aufzulisten.

Wie wichtig ist die Terraform-Zertifizierung, um einen Job zu bekommen?

Eine Terraform-Zertifizierung (wie HashiCorp Certified: Terraform Associate) kann helfen, dein Wissen zu überprüfen, ist aber für die meisten Stellen nicht zwingend erforderlich. Praktische Erfahrung mit Terraform in realen Projekten hat mehr Gewicht als eine Zertifizierung allein. Wenn du jedoch neu in Terraform bist, kann eine Zertifizierung ein guter Weg sein, um zu lernen.

Themen

Cloud lernen mit DataCamp

Kurs

Understanding Cloud Computing

2 hr
125K
A non-coding introduction to cloud computing, covering key concepts, terminology, and tools.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Die 32 besten AWS-Interview-Fragen und Antworten für 2024

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interview-Fragen, zusammen mit Fragen, die auf realen Situationen basieren. Es deckt alle Bereiche ab und sorgt so für eine abgerundete Vorbereitungsstrategie.
Zoumana Keita 's photo

Zoumana Keita

30 Min.

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

20 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Mehr anzeigenMehr anzeigen