0Pricing
Terraform Infrastructure as Code · Lektion

Vorhandene Ressourcen importieren

Lernen Sie, wie Sie bereits vorhandene Cloud-Infrastruktur in Ihren Terraform-State importieren und vorhandene Ressourcen dadurch der IaC-Verwaltung unterstellen.

Vorhandene Ressourcen importieren ist eine kostenlose Terraform Infrastructure as Code-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Terraform Infrastructure as Code-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Terraform Infrastructure as Code-Kurs umfasst insgesamt 4 Lektionen.

Vorhandene Infrastruktur in IaC überführen

Manchmal verfügen Sie über Cloud-Ressourcen, die manuell oder mit anderen Tools erstellt wurden. Mit Terraform import können Sie diese vorhandenen Ressourcen in die Verwaltung durch Terraform übernehmen.

Das bedeutet, dass Terraform anschließend ihren State nachverfolgt und zukünftige Änderungen über Ihre Konfigurationsdateien angewendet werden können. Dies ist ein wichtiger Schritt bei der Einführung von Infrastructure as Code (IaC) in einer „Brownfield“-Umgebung.

Wann Sie importieren sollten

Ein Import ist in mehreren Situationen sinnvoll:

  • Vorhandene Infrastruktur migrieren: Ressourcen, die außerhalb von Terraform erstellt wurden, in Ihren IaC-Workflow übernehmen.
  • Terraform schrittweise einführen: Mit vorhandenen Ressourcen beginnen, statt alles neu zu erstellen.
  • Nach einem State-Verlust wiederherstellen: Terraform wieder mit Ressourcen verknüpfen, wenn Ihre State-Datei verloren gegangen ist (bei einem Remote-State ist dies allerdings selten).

Den Import-Befehl beherrschen

Die grundlegende Struktur des Befehls terraform import ist unkompliziert. Er weist Terraform an, eine vorhandene Ressource bei Ihrem Cloud-Anbieter zu finden und sie in Ihre State-Datei aufzunehmen, wobei sie einem Ressourcenblock in Ihrer Konfiguration zugeordnet wird.

Dafür sind zwei wesentliche Informationen erforderlich: die Terraform-Adresse der Ressource und die ID dieser Ressource beim Cloud-Anbieter.

Was ist eine Ressourcenadresse?

Die Ressourcenadresse bezeichnet die Art und Weise, wie Terraform eine bestimmte Ressource innerhalb Ihrer Konfiguration identifiziert. Sie folgt dem Muster resource_type.resource_name.

  • resource_type: Der Ressourcentyp (z. B. aws_s3_bucket, azurerm_resource_group).
  • resource_name: Der lokale Name, den Sie der Ressource in Ihrer Terraform-Konfiguration geben (z. B. my_bucket, web_app).

Diese Adresse muss bereits in Ihren .tf-Dateien vorhanden sein.

Die Cloud-ID ermitteln

Jede Ressource bei einem Cloud-Anbieter (z. B. AWS, Azure oder GCP) besitzt eine eindeutige Kennung, die häufig als ID bezeichnet wird. Sie benötigen diese ID, um Terraform mitzuteilen, *welche* vorhandene Ressource importiert werden soll.

Sie finden diese ID in der Konsole des Cloud-Anbieters, über dessen CLI oder über dessen API. Die ID eines AWS-S3-Buckets ist beispielsweise sein Name, während eine EC2-Instanz eine Instanz-ID wie i-0abcdef1234567890 besitzt.

HCL vor dem Import definieren

Wichtiger Schritt: Bevor Sie terraform import ausführen, müssen Sie in Ihren Terraform-Konfigurationsdateien (.tf-Dateien) einen entsprechenden Ressourcenblock definiert haben.

Dieser Block teilt Terraform mit, welchen Ressourcentyp es erwarten soll und über welche Attribute dieser verfügen sollte. Terraform verwendet diese Definition, um das Schema der Ressource während des Imports zu verstehen.

HCL für einen S3-Bucket

Angenommen, Sie haben einen vorhandenen AWS-S3-Bucket mit dem Namen my-existing-coddykit-bucket-123. Definieren Sie zunächst in Ihrer main.tf einen Ressourcenblock dafür:

resource "aws_s3_bucket" "my_imported_bucket" {
  bucket = "my-existing-coddykit-bucket-123"
  # Add other expected attributes if known
  # e.g., acl = "private"
}

Den S3-Bucket importieren

Nachdem Sie die HCL-Definition erstellt haben, können Sie den Befehl terraform import ausführen. Ersetzen Sie my-existing-coddykit-bucket-123 durch den tatsächlichen Namen bzw. die tatsächliche ID Ihres vorhandenen Buckets.

Stellen Sie sicher, dass Sie zuvor bereits terraform init in Ihrem Verzeichnis ausgeführt haben!

terraform import aws_s3_bucket.my_imported_bucket my-existing-coddykit-bucket-123

Terraform-State prüfen

Nach einem erfolgreichen Import hat Terraform die Ressource zu Ihrer State-Datei hinzugefügt. Sie können dies mit terraform state show überprüfen. Der Befehl zeigt die Attribute der importierten Ressource so an, wie Terraform sie erkennt.

Anschließend müssen Sie unbedingt terraform plan ausführen, um sicherzustellen, dass keine unerwarteten Unterschiede zwischen Ihrer HCL und dem tatsächlichen State der importierten Ressource bestehen.

terraform state show aws_s3_bucket.my_imported_bucket

Kurztest: Importreihenfolge

Sie möchten eine vorhandene AWS-EC2-Instanz in Terraform importieren. Welcher der folgenden Schritte MUSS *vor* der Ausführung des Befehls terraform import abgeschlossen sein?

Zusammenfassung: Infrastruktur übernehmen

Sie haben gelernt, wie Sie vorhandene Cloud-Ressourcen mithilfe von terraform import in die Verwaltung durch Terraform übernehmen.

  • Definieren Sie zunächst den Ressourcenblock in Ihrer HCL.
  • Ermitteln Sie anschließend die Ressourcen-ID des Cloud-Anbieters.
  • Führen Sie abschließend terraform import ADDRESS ID aus.
  • Führen Sie anschließend immer terraform plan aus, um etwaige Unterschiede abzugleichen.

Dieser leistungsstarke Befehl hilft dabei, die Lücke zwischen manuell verwalteter Infrastruktur und einer vollständig IaC-gesteuerten Umgebung zu schließen.

Häufig gestellte Fragen

Ist die Lektion „Vorhandene Ressourcen importieren“ kostenlos?

Ja — der vollständige Text von „Vorhandene Ressourcen importieren“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Terraform Infrastructure as Code-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Terraform Infrastructure as Code-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Vorhandene Ressourcen importieren“?

Lernen Sie, wie Sie bereits vorhandene Cloud-Infrastruktur in Ihren Terraform-State importieren und vorhandene Ressourcen dadurch der IaC-Verwaltung unterstellen. Du übst Terraform Infrastructure as Code mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Terraform Infrastructure as Code zu starten?

Keine Vorkenntnisse erforderlich. Terraform Infrastructure as Code auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Vorhandene Ressourcen importieren“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Terraform Infrastructure as Code-Lektion Code schreiben und ausführen?

Ja. Jede Terraform Infrastructure as Code-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Remote-State-Backends
  2. State-Sperren und Konsistenz
  3. Vorhandene Ressourcen importieren
  4. State mit moved und removed umstrukturieren
← Zurück zu Terraform Infrastructure as Code