Blog

Umstellung von Terraform auf OpenTofu: Eine Schritt-für-Schritt-Anleitung mit den wichtigsten Vorteilen

Bild von Dimitar Zafirov
Dimitar Zafirov
DevOps- und Cloud-Ingenieur
29.07.2025
Lesezeit: 3 Minuten.
Zuletzt aktualisiert am: 10.10.2025

Inhaltsübersicht

In der sich schnell entwickelnden Welt von Infrastructure as Code (IaC) hat sich OpenTofu als leistungsstarke Open-Source-Alternative zu Terraform herauskristallisiert und bietet eine offenere, von der Community gesteuerte und flexible Zukunft. Angenommen, Sie denken über einen Wechsel nach oder wollen einfach nur auf dem Laufenden bleiben. In diesem Fall führt Sie dieser Leitfaden durch alles, was Sie über die Migration von Terraform zu OpenTofu wissen müssen - von der Vorbereitung bis zur Nutzung der neuesten Funktionen.

Der größte und wichtigste Unterschied zwischen OpenTofu und Terraform ist die Lizenzierung. OpenTofu ist Open-Source unter der MPL 2.0, während Terraform unter der BSL steht. Da OpenTofu Open-Source ist, wird OpenTofu von der Gemeinschaft betrieben, und dies ermöglicht es der Gemeinschaft, die Implementierung bestimmter Funktionen zu beeinflussen, ohne direkt von einem Anbieter beeinflusst zu werden. Terraform hingegen wird bei der Entwicklung neuer Funktionen direkt von seinem Hersteller, HashiCorp, beeinflusst.

OpenTofu bietet auch Statusverschlüsselung, eine Funktion, die die Terraform-Gemeinschaft seit fünf Jahren fordert, aber nie erhalten hat. 

In diesem Artikel wird erklärt, wie Sie Ihren Status verschlüsseln können.

Darüber hinaus können Sie mit OpenTofu 1.8 eine frühe Variablenauswertung nutzen, d.h. Sie können die Vorteile von Variablen und Locals innerhalb Ihres Terraform-Blocks und innerhalb Ihrer Modulquellen und -versionen nutzen.

Während sich OpenTofu und Terraform weiterentwickeln, werden sie sich wahrscheinlich auseinanderentwickeln, was bedeutet, dass in Zukunft noch mehr wesentliche Unterschiede auftreten werden. OpenTofu 1.9.1 begann als eine Abspaltung von Terraform und behält die Kompatibilität bei, fügt aber auch neue Verbesserungen hinzu.

  • Abwärtskompatibel mit Terraform 1.5+, einschließlich der meisten Module und Provider
  • Schnellere Planungs- und Anwendungsleistung
  • Verbesserte Handhabung von Statusdateien
  • CLI-Verbesserungen und Fehlerbehebungen, die noch nicht in Terraform 1.7.1 enthalten sind.
  • Vorteil: Sie erhalten eine vertraute Erfahrung mit einem potenziell leistungsfähigeren Werkzeug

Verpflichtung zur Abwärtskompatibilität

  • OpenTofu zielt darauf ab, mit dem Terraform-Ökosystem (Anbieter, Module) kompatibel zu bleiben und gleichzeitig die Offenheit zu verbessern
  • Vorteil: Einfacher Migrationspfad von Terraform mit geringen Unterbrechungen

Unabhängigkeit des Anbieters

  • Keine Abhängigkeit von einem einzigen Anbieter (wie HashiCorp) für Werkzeuge, Updates oder Support
  • Vorteil: Nachhaltiger für die langfristige Infrastrukturplanung
Tofu öffnen vs. Terraform

*** Problem-Ranking-System

Bevor Sie etwas unternehmen, sollten Sie immer eine Sicherungskopie Ihrer Statusdatei erstellen:

cp terraform.tfstate terraform.tfstate.backup

Oder bei Verwendung eines entfernten Status (z. B. S3):

aws s3 cp s3://your-bucket/path/to/terraform.tfstate ./terraform.tfstate.backup

Installieren Sie OpenTofu über Homebrew (auf macOS):

brew install opentofu/opentofu/opentofu

Wenn Sie OpenTofu in einem bestehenden Terraform-Projekt verwenden:

tofu init

Dadurch wird das Backend neu initialisiert, Anbieter heruntergeladen und das Projekt vorbereitet.

Führen Sie einen Plan aus, um die Kompatibilität sicherzustellen:

tofu plan

Übernehmen Sie dann die Änderungen (falls vorhanden):

tofu apply

Dadurch wird sichergestellt, dass OpenTofu mit Ihrem bestehenden Status und Ihrer Konfiguration arbeitet.

Aktualisieren Sie die gewünschte Version in main.tf:

terraform {

  required_version = ">= 1.9.1"

}

Aktualisieren Sie dann Ihre Anbieter (falls erforderlich):

tofu init -upgrade

Und überprüfen Sie:

tofu validate
tofu plan

Aktivieren Sie in Ihrem Tofu-Block die Statusverschlüsselung mit einem Verschlüsselungsschlüssel (z. B. AWS KMS):

tofu {

  state {

    encryption = {

      provider = "aws"

      key_id   = "arn:aws:kms:us-east-1:123456789012:key/xxxx-xxxx-xxxx"

    }

  }

}

Dann neu initialisieren und den Status verschlüsseln:

Tofu-Init

Tofu-Plan

Sie können sicher zurück zu Terraform wechseln, wenn:

  • Die Versionen der Anbieter sind kompatibel.
  • Sie verwenden keine OpenTofu-eigenen Funktionen wie verschlüsselte Zustände oder frühzeitige Variablenauswertung.

Terraform-Init

Terraformplan

alias terraform='tofu'

Wenn Sie zum Beispiel die Version v1.7.1 von OpenTofu verwenden und Ihre Terraform-Version dieselbe ist:

  1. Eine Aktualisierung der Anbieterversion ist nicht erforderlich.
    1. Wenn Sie z.B. auf 1.9.1 migrieren wollen, müssen Sie die Version des Terraform-Anbieters auf 1.9 aktualisieren. Einige Terraform-Funktionen werden von Tofu nicht unterstützt oder müssen aktualisiert werden.
    1. Wenn Sie den Lebenszyklus in einigen Ihrer Module verwenden, müssen Sie die Module zunächst aktualisieren/vorbereiten


           Wenn Sie direkt v1.9.1 verwenden:

  1. Es gibt keine Probleme, wenn Sie die Terraform-Provider-Version direkt auf 1.9 aktualisieren und "tofu init/plan" mit Tofu-Version 1.9.1 ausführen und dann die Provider-Version auf 1.7 zurücksetzen und "terraform init/plan" ausführen. Die Zustandsdatei wird dabei nicht beschädigt!

Unter ITGixfördern wir nachhaltige, anbieterneutrale und flexible DevOps-Praktiken. OpenTofu verkörpert all diese Prinzipien. Seine Abwärtskompatibilität, die von der Community vorangetriebene Roadmap und die zusätzlichen Sicherheitsfunktionen machen es zu einer klugen Wahl für Teams, die langfristige IaC-Stabilität suchen.

Mehr Beiträge

Die ITGix AWS Landing Zone wird kontinuierlich weiterentwickelt, wobei ein klares Ziel im Vordergrund steht: Unternehmen sollen in die Lage versetzt werden, sichere, konforme und skalierbare AWS-Umgebungen mit geringerem Betriebsaufwand aufzubauen. In den jüngsten Versionen (v1.2.0...
Lesen
In früheren Artikeln haben wir uns mit der Migration von Repositorys aus der Bitbucket Cloud, der sicheren Aktualisierung von Projektabhängigkeiten und der Modernisierung von CI/CD-Workflows durch die Umstellung von Jenkins- und Bash-basierten Pipelines auf GitHub Actions befasst. Auf dieser Grundlage...
Lesen
Kontakt aufnehmen
ITGix bietet Ihnen fachkundige Beratung und maßgeschneiderte DevOps-Services, um Ihr Unternehmenswachstum zu beschleunigen.
Newsletter für
Technik-Experten
Schließen Sie sich 12.000+ Geschäftsführern und Ingenieuren an, die Blogs, e-Books und Fallstudien Fallstudien über neue Technologie erhalten.