Skip to content
Latchkey

Terraform vs OpenTofu - CIにはどちらのIaCツールか?

OpenTofuは、ライセンス変更を受けて作られたTerraformのオープンソースforkです - おおむね互換性がありつつ、機能は分岐しています。

TerraformはHashiCorpのIaCツールで、現在はBSLライセンスの下にあります。OpenTofuは、コミュニティ主導でLinux Foundation傘下のfrokであり、オープンソースライセンス(MPL)の下、ドロップイン互換の代替として作られ、その後独自の機能を追加してきました。

TerraformOpenTofu
ライセンスBSL(ソース利用可能)MPL 2.0(オープンソース)
ガバナンスHashiCorp/IBMLinux Foundation / コミュニティ
互換性n/a高い(Terraformからのfork)
設定言語HCLHCL
機能のドリフトベンダーのロードマップ独立したロードマップ

CIにおいて

ほとんどのpipelineにおいて両者は置き換え可能です - 同じHCL、同じplan/applyフロー、同様のproviderエコシステム。決め手は主にライセンスとガバナンスです - OpenTofuのオープンソースライセンスは一部の組織やベンダーにとって重要です。時間とともに機能は分岐するため、切り替えの選択肢を残しておきたいなら、バージョンを固定し、一方のツールの独自機能に依存しないようにしましょう。

移行の労力

既存のTerraformプロジェクトをOpenTofuに移行するのは、互換性のあるバージョンであれば通常はほとんど摩擦がありませんが、stateやprovider/バージョンの互換性はまずCIでテストすべきです。いずれにせよpipeline内でツールのバージョンをロックしましょう。

結論

完全なオープンソースライセンスとコミュニティガバナンスが欲しいなら - OpenTofu。HashiCorpの公式ツールとロードマップを好むなら - Terraform。今日では両者はおおむね置き換え可能です - バージョンを固定し、切り替え前にテストしましょう。

関連ガイド