Erste Schritte mit Terraform: Anleitung für AWS CDK- und AWS-Experten CloudFormation - AWS Präskriptive Leitlinien

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erste Schritte mit Terraform: Anleitung für AWS CDK- und AWS-Experten CloudFormation

Steven Guggenheimer, Amazon Web Services ()AWS

März 2024 (Geschichte der Dokumente)

Wenn Ihre Erfahrung mit der Bereitstellung von Cloud-Ressourcen ausschließlich im Bereich von liegt AWS, verfügen Sie möglicherweise nur über begrenzte Erfahrung mit Infrastructure-as-Code-Tools (IaC) jenseits der AWS Cloud Development Kit (AWS CDK)Grenzen. AWS CloudFormation Tatsächlich sind Ihnen ähnliche Tools wie Hashicorp Terraform möglicherweise völlig unbekannt. Je tiefer Sie jedoch in Ihre Cloud-Reise eintauchen, desto unausweichlicher wird es, dass Sie auf Terraform stoßen. Es wird definitiv zu Ihrem Vorteil sein, mit den Kernkonzepten vertraut zu sein.

Terraform, The AWS CDK und, verfolgen zwar ähnliche CloudFormation Ziele und teilen viele Kernkonzepte, es gibt jedoch einige Unterschiede. Sie sind möglicherweise nicht auf diese Unterschiede vorbereitet, wenn Sie sich Terraform zum ersten Mal nähern. Schließlich basieren alle CloudFormation Stapel darin AWS-Konten, sodass sie auf diese Weise eine direkte Beziehung zu den meisten Ressourcen haben, die sie verwalten. AWS CDK Terraform basiert nicht auf der Umgebung eines einzelnen Cloud-Anbieters. Dies gibt dem Unternehmen die Flexibilität, verschiedene Anbieter zu unterstützen, muss jedoch Ressourcen von einem entfernten Standort aus verwalten.

Dieser Leitfaden hilft Ihnen dabei, die Kernkonzepte hinter Terraform zu entmystifizieren, damit Sie alle IaC-Herausforderungen bewältigen können, die Ihnen in den Weg kommen. Es konzentriert sich darauf, wie Terraform Konzepte wie Anbieter, Module und Statusdateien zur Bereitstellung von Ressourcen verwendet. Es stellt auch die Terraform-Konzepte der Art und Weise gegenüber, wie sie ähnliche Operationen ausführen. AWS CDK CloudFormation

Anmerkung

Das AWS CDK hilft Entwicklern bei der Bereitstellung von CloudFormation Stacks mithilfe programmatischer Programmiersprachen. Nach der Ausführung cdk synth wird Ihr Code in CloudFormation Vorlagen konvertiert. Ab diesem Zeitpunkt ist der Prozess zwischen AWS CDK und identisch CloudFormation. Der Kürze halber bezieht sich dieser Leitfaden in der Regel auf den AWS IaC-Prozess, CloudFormation aber die Vergleiche eignen sich genauso gut für den. AWS CDK

CloudFormation und Terraform-Terminologie

Beim Vergleich von Terraform mit AWS CDK und kann es aufgrund der CloudFormation inkonsistenten Terminologie, die zu ihrer Beschreibung verwendet wird, schwierig sein, die IaC-Kernkonzepte in Einklang zu bringen. Im Folgenden sind diese Begriffe aufgeführt und wie sich dieser Leitfaden auf sie bezieht:

  • Stack Ein Stack ist IaC, der in einer CI/CD-Pipeline bereitgestellt wird und als einzelne Einheit nachverfolgbar ist.Obwohl dieser Begriff in Terraform üblich ist CloudFormation, verwendet Terraform diesen Begriff nicht wirklich. Ein Terraform-Stack ist ein bereitgestelltes Root-Modul mit all seinen untergeordneten Modulen. Um jedoch Verwechslungen mit dem Begriff Modul zu vermeiden, verwendet dieser Leitfaden den Begriff Stack, um eine einzelne Bereitstellung für beide Tools zu beschreiben.

  • Status — Der Status umfasst alle derzeit verfolgten Ressourcen und ihre aktuellen Konfigurationen innerhalb eines IaC-Bereitstellungsstapels. Wie im Terraform-Status und Backends verstehen Abschnitt beschrieben, verwendet Terraform den Begriff State häufiger als. CloudFormation Dies liegt daran, dass die Beibehaltung des Status in Terraform sichtbarer ist, für die Verfolgung und Aktualisierung des Status jedoch genauso wichtig ist. CloudFormation

  • IaC-Datei — Eine IaC-Datei ist eine einzelne Datei, die die Sprache Infrastructure as Code (IaC) enthält. CloudFormation bezieht sich auf eine einzelne CloudFormation Datei als Vorlage. Vorlagen und Vorlagendateien in Terraform sind jedoch etwas völlig anderes. Das Äquivalent zu einer CloudFormation Vorlage in Terraform wird als Konfigurationsdatei bezeichnet. Um Verwirrung in diesem Handbuch zu vermeiden, wird der Begriff Datei oder IaC-Datei sowohl für CloudFormation Vorlagen als auch für Terraform-Konfigurationsdateien verwendet.

In der folgenden Tabelle werden die für CloudFormation Terraform und Terraform verwendeten Begriffe verglichen. Diese Tabelle soll Ähnlichkeiten aufzeigen. Dies sind keine one-to-one Vergleiche. Jedes Konzept unterscheidet sich zumindest geringfügig zwischen Terraform CloudFormation und Terraform. Die Konzepte werden in den entsprechenden Abschnitten dieses Handbuchs ausführlich erläutert.

CloudFormation Begriff Terraform-Begriff Abschnitt dieses Handbuchs
CDK-Schnittstellen (wie iBucket) Datenquelle Terraform-Datenquellen verstehen
Set ändern Plan Terraform-Module verstehen
Bedingungsfunktionen Bedingte Ausdrücke Terraform-Funktionen, Ausdrücke und Metaargumente verstehen
DependsOn Attribut depends_onMetaargument Terraform-Funktionen, Ausdrücke und Metaargumente verstehen
Intrinsische Funktionen Funktionen Terraform-Funktionen, Ausdrücke und Metaargumente verstehen
Module Module Terraform-Module verstehen
Outputs Ausgabewerte Grundlegendes zu Terraform-Variablen, lokalen Werten und Ausgaben
Parameter Variablen Grundlegendes zu Terraform-Variablen, lokalen Werten und Ausgaben
Registrierung Anbieter Terraform-Anbieter verstehen
Vorlage Konfigurationsdatei Alle