Terraform

Terraformは、HashiCorpによって作成されたInfrastructure as Codeソフトウェアツールである。利用者はHashiCorp Configuration Language（HCL）として知られている宣言型構成言語か、任意で利用できるJSONを使用してデータセンターインフラストラクチャーを定義及び提供する。 Terraformは「プロバイダー」を使用して外部リソースを管理する。HashiCorpは公式プロバイダーの広大な一覧を管理しており、コミュニティの開発したプロバイダーと統合することもできる。利用者はリソースを宣言するかデータソースを呼び出すことによってTerraformプロバイダーと対話することができる。Terraformは命令型コマンドを使用してリソースを準備するのではなく、宣言型の構成を使用して望まれる最終状態を記述する。利用者が与えられたリソースに対してTerraformを呼び出すと、Terraformは利用者の代わりにCRUDアクションを実行し、望まれた状態にする。Infrastructure as Codeはモジュールとして記述することができるので、再利用性と保守性が向上する。 TerraformはAmazon Web Services、Cloudflare、Microsoft Azure、IBM Cloud、Serverspace、Selectel（英語版）、Google Cloud Platform、DigitalOcean（英語版）、Oracle Cloud Infrastructure、Yandex Cloud（英語版）、VMware vSphere（英語版）、OpenStackなどの多くのクラウドインフラストラクチャープロバイダーに対応している。 HashiCorpは2017年に設立されたTerraformモジュールレジストリを管理している。2019年、Terraformは大規模組織向けにTerraform Enterpriseと呼ばれる有料版を導入した。 Terraformは以前はFLOSSとして公開されており、Mozilla Public License 2.0（MPL 2.0）に基づいて利用することができた。2023年8月10日、HashiCorpはTerraformを含む多くの自社製品のライセンスをBusiness Source License v1.1に変更した。Business Source LicenseはMPLとは異なりオープンソースライセンスではないが、ソースコードの入手は可能である。この変更に対して、利用者グループは同年8月15日にOpenTFマニフェストを公開し、HashiCorpに対してTerraformを引き続きオープンソースライセンスの下で公開することを求めた。その後、利用者グループはHashiCorpから好意的な反応を得られなかったことから、同年8月25日にMPL 2.0で利用可能な最後のバージョン（v1.5.5）に基づいてTerraformをOpenTofuとしてフォークすることを発表し、Linux Foundation傘下のプロジェクトとなることを目指すとした。同年9月20日、Linux FoundationはOpenTofuの立ち上げを発表した。 [脚注の使い方] ^ パブリッククラウドインフラストラクチャー、プライベートクラウドインフラストラクチャー、ネットワーク・アプライアンス、SaaS、PaaSなど。 ^ “Releases - hashicorp/terraform”. 11 August 2023閲覧。 ^ “LICENSE”. 2023年9月23日閲覧。 ^ “Syntax - Configuration Language”. HashiCorp. 2023年9月23日閲覧。 ^ “Providers”. HashiCorp. 2023年9月23日閲覧。 ^ “Resources”. HashiCorp. 2023年9月23日閲覧。 ^ “Data Sources”. HashiCorp. 2023年9月23日閲覧。 ^ “Configuration”. HashiCorp. 2023年9月23日閲覧。 ^ “Modules”. HashiCorp. 2023年9月23日閲覧。 ^ “Cloudflare Provider”. HashiCorp. 2022年11月23日閲覧。 ^ “Selectel Provider” (英語). HashiCorp (2023年4月12日). 2023年9月23日閲覧。 ^ “Google Cloud Platform Provider for Terraform”. HashiCorp. 2017年2月5日閲覧。 ^ Starr-Bochicchio, Andrew (2018年10月22日). “Introducing the DigitalOcean Terraform Provider” (英語). DigitalOcean Blog. https://blog.digitalocean.com/introducing-the-digitalocean-terraform-provider/ 2020年12月17日閲覧。  ^ “Yandex Cloud Provider” (英語). HashiCorp (2021年5月31日). 2023年6月7日時点のオリジナルよりアーカイブ。2023年9月23日閲覧。 ^ “Terraform vs. Chef, Puppet, etc. - Terraform by HashiCorp” (英語). Terraform by HashiCorp. 2018年3月14日閲覧。 ^ Bryant, Daniel (2017年3月26日). “HashiCorp Terraform 0.9. Released with State Locking, State Environments, and Destroy Provisioners”. InfoQ. 2017年5月23日閲覧。 ^ Yevgeniy., Brikman (2017). Terraform Writing Infrastructure as Configuration.. O'Reilly Media. ISBN 9781491977057. OCLC 978667796  ^ Somwanshi, Sneha (2015年3月1日). “Choosing the Right Tool to Provision AWS Infrastructure” (英語). ThoughtWorks Blog. https://www.thoughtworks.com/insights/blog/choosing-right-tool-provision-aws-infrastructure  ^ Turnbull, James (2016). The Terraform Book. ISBN 9780988820258  ^ Atkins, Martin (2017年11月16日). “HashiCorp Terraform 0.11”. HashiCorp Blog. 2020年12月17日閲覧。 ^ HashiCorp. “HashiCorp Terraform - Provision & Manage any Infrastructure” (英語). HashiCorp: Infrastructure enables innovation. 2020年4月15日閲覧。 ^ “HashiCorp adopts Business Source License”. HashiCorp Blog. HashiCorp. 26 August 2023閲覧。 ^ “Business Source License 1.1”. MariaDB. 2023年9月23日閲覧。 ^ “The OpenTofu Manifesto” (英語). opentofu.org (2023年8月15日). 2023年9月23日閲覧。 ^ “OpenTofu Announces Fork of Terraform” (英語). opentofu.org (2023年8月25日). 2023年9月23日閲覧。 ^ "Linux Foundation Launches OpenTofu: A New Open Source Alternative to Terraform" (Press release) (英語). The Linux Foundation. 20 September 2023. 2023年9月21日時点のオリジナルよりアーカイブ。2023年9月23日閲覧。 公式ウェブサイト Terraform - GitHub