Terraform
構成ファイルを使用してデータセンターインフラストラクチャーを定義及びプロビジョニングするためのソフトウェア
From Wikipedia, the free encyclopedia
Terraformは、HashiCorpによって作成されたInfrastructure as Codeソフトウェアツールである。利用者はHashiCorp Configuration Language(HCL)として知られている宣言型構成言語か、任意で利用できるJSONを使用してデータセンターインフラストラクチャーを定義及び提供する[3]。
設計
Terraformは「プロバイダー」を使用して外部リソース[注釈 1]を管理する。HashiCorpは公式プロバイダーの広大な一覧を管理しており、コミュニティの開発したプロバイダーと統合することもできる[4]。利用者はリソースを宣言する[5]かデータソースを呼び出すことによってTerraformプロバイダーと対話することができる[6]。Terraformは命令型コマンドを使用してリソースを準備するのではなく、宣言型の構成を使用して望まれる最終状態を記述する。利用者が与えられたリソースに対してTerraformを呼び出すと、Terraformは利用者の代わりにCRUDアクションを実行し、望まれた状態にする[7]。Infrastructure as Codeはモジュールとして記述することができるので、再利用性と保守性が向上する[8]。
TerraformはAmazon Web Services、Cloudflare[9]、Microsoft Azure、IBM Cloud、Serverspace、Selectel[10]、Google Cloud Platform[11]、DigitalOcean[12]、Oracle Cloud Infrastructure、Yandex Cloud[13]、VMware vSphere、OpenStackなどの多くのクラウドインフラストラクチャープロバイダーに対応している[14][15][16][17][18]。
HashiCorpは2017年に設立されたTerraformモジュールレジストリを管理している[19]。2019年、Terraformは大規模組織向けにTerraform Enterpriseと呼ばれる有料版を導入した[20]。
ライセンスの変更
Terraformは以前はFOSSとして公開されており、Mozilla Public License 2.0(MPL 2.0)に基づいて利用することができた。2023年8月10日、HashiCorpはTerraformを含む多くの自社製品のライセンスをBusiness Source License v1.1に変更した[21]。Business Source LicenseはMPLとは異なりオープンソースライセンスではなく、HashiCorp社と競合する事業には用いることができないなど明確なプロプラエタリライセンスである[独自研究?]が[22]、ソースコードの入手は可能である。この変更に対して、利用者グループは同年8月15日にOpenTFマニフェストを公開し、HashiCorpに対してTerraformを引き続きオープンソースライセンスの下で公開することを求めた[23]。その後、利用者グループはHashiCorpから好意的な反応を得られなかったことから、同年8月25日にMPL 2.0で利用可能な最後のバージョン(v1.5.5)に基づいてTerraformをOpenTofuとしてフォークすることを発表し、Linux Foundation傘下のプロジェクトとなることを目指すとした[24]。同年9月20日、Linux FoundationはOpenTofuの立ち上げを発表した[25]。