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は以前はFLOSS として公開されており、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] 。
脚注
注釈
出典
^ “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日閲覧 。
外部リンク