Terraform
Terraformは、HashiCorpによって作成されたInfrastructure as Codeソフトウェアツールである。利用者はHashiCorp Configuration Language(HCL)として知られている宣言型構成言語か、任意で利用できるJSONを使用してデータセンターインフラストラクチャーを定義及び提供する[1]。
Terraformは2014年7月に公開された[2]。「プロバイダー」と呼ばれるプラグインを介して各基盤のAPIを呼び出し、クラウドサービスやSaaSなど種類の異なる基盤の資源を同じ構成言語で記述できる[3]。
当初はMozilla Public License 2.0(MPL 2.0)の下で公開されていたが、HashiCorpは2023年8月にライセンスをBusiness Source License 1.1(BSL 1.1)へ変更し、同年9月にはMPL 2.0を維持するフォークのOpenTofuがLinux Foundation傘下で発足した[4][5]。2025年2月にはIBMによるHashiCorpの買収が完了し、Terraformの開発元はIBMの一部門となった[6][7]。
歴史[編集]
Terraformは2014年7月28日にHashiCorpのミッチェル・ハシモトによって発表された[2]。2017年9月にはモジュールを共有する公開レジストリのTerraform Module Registryが発表され[8]、同年12月には企業向けのTerraform Enterpriseが正式版となった[9]。
2019年5月にはTerraformをサービスとして提供するTerraform Cloudが発表された[10]。2021年6月8日にはバージョン1.0が正式版として公開された[11][12]。HashiCorpは1.0について、0.14以降の版と状態ファイルの互換性を保ち、1.x系の間はアップグレードにワークフローの変更を要しないこと、各版を18か月以上保守することを約束したとしている[12]。2023年8月10日、HashiCorpは自社製品のライセンスをMPL 2.0からBSL 1.1へ変更すると発表し、同年9月20日にはLinux FoundationがフォークであるOpenTofuの発足を発表した(#ライセンスの変更を参照)[4][5]。
2024年1月の1.7ではテストのモックなどが追加された[13]。同年4月にTerraform CloudはHCP Terraformに改称され[14]、同月にはIBMによるHashiCorpの買収が発表され[15]、2025年2月27日に買収が完了した[7][6]。2026年9月時点の最新版は1.16.2(2026年9月9日)である[16]。
設計[編集]
構成言語[編集]
Terraformの構成はHCLで記述され、その主な目的はインフラの対象物を表すリソースを宣言することにある[17]。構文の基本要素はブロック(型とラベル、引数や入れ子のブロックを含む本体からなる)、引数、式の3つである[17]。手順ではなく到達すべき状態を記述する宣言型であるため、ブロックの並び順は原則として意味を持たず、リソース間の依存関係から実行順が決まる[17]。次は公式ドキュメントにあるAWSの仮想ネットワークとサブネットを定義する例で、サブネットがaws_vpc.mainを参照するため両者の作成順が決まる[17]。
resource "aws_vpc" "main" {
cidr_block = var.base_cidr_block
}
resource "aws_subnet" "az" {
count = length(var.availability_zones)
availability_zone = var.availability_zones[count.index]
vpc_id = aws_vpc.main.id
cidr_block = cidrsubnet(aws_vpc.main.cidr_block, 4, count.index + 1)
}
プロバイダーとレジストリ[編集]
プロバイダーは、各クラウドやサービスのAPIを呼び出してリソースを作成・管理するプラグインであり、HashiCorpとコミュニティが公開するプロバイダーを通じてAPIを持つ基盤を扱う[3]。プロバイダーはGo言語のSDKで自作でき、GitHubアカウントでTerraform Registryに公開して共有できる[18][19]。Terraform Registryは2017年に導入されたモジュールとプロバイダーの公開レジストリで、2022年10月にHashiCorpはプロバイダーが2400以上、モジュールが1万以上あると説明した[20]。レジストリ上のプロバイダーは、HashiCorpが所有・保守するofficial、第三者企業が自社APIに対して作成・保守・検証し、HashiCorpのパートナープログラムを通じて公開するpartner、個人やコミュニティが公開するcommunityなどの階層に分類される[18]。2026年9月時点の累計ダウンロード数は、AWSプロバイダーが約76億回、Google Cloudプロバイダーが約24.7億回である[21][22]。
プロバイダーはクラウド事業者に限らず、DatadogやNew Relicなどのオブザーバビリティ事業者、Cloudflareなどのサービス事業者も自社サービス向けのプロバイダーを公開しており、ダッシュボードやモニターなどの設定をTerraformの構成として管理できる[23][24]。2026年9月時点の累計ダウンロード数はDatadogが約5.5億回、New Relicが約1.5億回で、いずれもpartner階層である[25][26]。
ワークフローと状態管理[編集]
基本のワークフローは、構成を記述し、terraform planで既存のインフラと構成の差分から作成・更新・破棄の実行計画を作り、承認後にterraform applyで依存関係の順に適用する3段階からなる[3]。Terraformは実際のリソースと構成の対応を状態(state)として記録し、既定ではterraform.tfstateというJSONファイルに保存する[27]。状態には機密情報が含まれ得るため、HashiCorpのドキュメントは、チームで共有する場合は状態のロックとアクセス制御に対応したリモートバックエンドかHCP Terraformに保存し、バージョン管理システムには置かないことを推奨している[27]。保存先はbackendブロックで指定し、変更後はterraform initを再実行する[28]。
状態の操作は構成ファイルの中でも宣言できる。既存のリソースを管理下に取り込むimportブロック(1.5)、リソースのアドレスを変更するmovedブロック(1.3)、リソースを破棄せずに管理対象から外すremovedブロック(1.7)がそれにあたる[29][20][13]。2023年10月の1.6以降はモジュールの単体テストを実行するterraform testコマンドが使え、1.7ではプロバイダーが返すデータをモックに置き換えたテストが可能になった[30][13][31]。
商用版とマネージドサービス[編集]
HashiCorpはチーム利用向けの商用の版とサービスも提供している。Terraform Enterpriseは2017年12月に正式版となった企業向けの版で、構成ごとにWorkspaceと呼ばれる単位で管理し、ポリシー管理機能のSentinelを統合し、SAMLによるシングルサインオンに対応した[9]。Terraform Cloudは2019年5月に発表されたサービス版で、同年9月には状態の保存とロック、計画と適用のリモート実行などを備え、1チーム5人まで無料で利用できるようになった[10]。2022年10月には、あらかじめ用意したモジュールに変数を入力するだけで構成を書かずにプロビジョニングするノーコードプロビジョニングがベータ公開された[32]。2023年5月には無料枠のユーザー数制限が撤廃され、課金単位がManaged Resource(無料枠は500まで)に変わった[33]。2024年4月22日にTerraform CloudはHCP Terraformに改称され、Terraform Enterpriseはそのセルフホスト版という位置付けになっている[14]。複数のモジュールや環境をまとめて管理するStacksは2023年10月にプライベートプレビューとして発表され、2026年時点ではHCP TerraformとTerraform Enterprise 2.0以降で提供されている[30][34]。
ライセンスの変更[編集]
OpenTofuは、MPL 2.0が適用されたTerraformの最終版である1.5.6を基に開発され、2024年1月10日に最初の正式版となる1.6を公開した[35]。その後もLinux Foundation傘下でMPL 2.0のまま開発が続けられ、2026年9月時点では1.12系が提供されている[36]。一方、HashiCorpのTerraformはBSL 1.1の下で1.x系として開発が続けられている[16]。
利用と普及[編集]
普及の指標[編集]
GitHubの年次調査「Octoverse 2022」では、この1年で利用が急増した言語の1位にTerraformなどで使われるHCLが入った[37]。2023年10月にはAWSがTerraform AWS Providerの累計ダウンロード数が20億回に達したと発表した[38]。Stack Overflowの2024年開発者調査では、開発ツール(Other tools)の設問で過去1年にTerraformを使ったと答えた割合は全回答者の10.6%、専業開発者の11.9%であった[39]。
利用事例[編集]
2019年のWIREDの記事は、バークレイズ、キャピタル・ワン、GM Cruiseなどの企業がTerraformを利用していると報じた[40]。日本では、イオングループのイオンスマートテクノロジーがSREのツールとしてTerraform、New Relic、PagerDutyを採用しており、同社CTOはこれらを「三種の神器」と呼んでいる[41]。
日本での展開[編集]
日本では2015年4月にクリエーションラインがTerraformを含むHashiCorp製品の導入支援とトレーニングを開始し[42]、HashiCorpは2017年に日本法人を設立した[43]。国内では日立ソリューションズなどがHashiCorp製品を取り扱っており、同社は2021年1月20日にTerraformやVaultなどの販売を開始した[44]。日本語の解説書として『詳解 Terraform 第3版』(原書『Terraform: Up & Running』第3版の翻訳)が2023年11月にオライリー・ジャパンから刊行されている[45]。
エコシステム[編集]
2020年7月にはAWSとHashiCorpが、インフラの定義をTypeScriptやPythonで書いてTerraformの構成に変換するCDK for Terraformの開発者プレビューを公開した[46]。同ツールは2025年12月10日に非推奨となり、HashiCorpによる保守は終了した[47]。2025年に公開されたTerraform MCP Serverは、Model Context Protocolを通じてTerraform Registryのモジュールやプロバイダーの情報を大規模言語モデルに提供するオープンソースの実装である[48]。2025年12月には、IaCツールのPulumiがHCLとTerraformプロバイダーへの対応を発表した[49]。
関連項目[編集]
脚注[編集]
注釈[編集]
出典[編集]
- ↑ “Syntax - Configuration Language”. HashiCorp. 2023年9月23日確認。
- ↑ a b “Terraform” (英語). HashiCorp Blog. HashiCorp (2014年7月28日). 2026年9月11日確認。
- ↑ a b c “What is Terraform” (英語). HashiCorp Developer. HashiCorp. 2026年9月11日確認。
- ↑ a b “HashiCorpがTerraformなど自社製品のライセンスをオープンソースから変更、決断の理由と影響は?:BSLを採用”. @IT. アイティメディア (2023年8月14日). 2026年9月11日確認。
- ↑ a b “Linux Foundation、「Terraform」の代替を目指すオープンソースプロジェクト「OpenTofu」を発表:アクセスしやすく信頼性の高いオープンソースIaCツールを開発”. @IT. アイティメディア (2023年9月25日). 2026年9月11日確認。
- ↑ a b “IBM、HashiCorpの買収を完了したと発表”. Publickey (2025年3月3日). 2026年9月11日確認。
- ↑ a b “IBM closes $6.4B HashiCorp acquisition” (英語). TechCrunch (2025年2月27日). 2026年9月11日確認。
- ↑ “[速報]HashiCorp、「Terraform Module Registry」発表。インフラ構成自動化テンプレートのパブリックレジストリ。HashiConf'17”. Publickey (2017年9月20日). 2026年9月11日確認。
- ↑ a b 引用エラー: 無効な
<ref>タグです。「pk-tfe2017」という名前の注釈に対するテキストが指定されていません - ↑ a b “[速報]HashiCorpが「Terraform Cloud」機能強化、5人まで無料。チームでのクラウドインフラの管理を容易に。HashiConf '19”. Publickey (2019年9月11日). 2026年9月11日確認。
- ↑ “Terraformがバージョン1.0に到達、正式版に。AWSやAzure、VMwareなどマルチクラウド対応のプロビジョニングツール”. Publickey (2021年6月9日). 2026年9月11日確認。
- ↑ a b “Announcing HashiCorp Terraform 1.0 General Availability” (英語). HashiCorp Blog. HashiCorp (2021年6月8日). 2026年9月11日確認。
- ↑ a b c “Terraform 1.7正式リリース。モックによるインフラテストコードの高速実行が可能に、リソースを削除せずTerraformの管理から外す「config-driven remove」機能も”. Publickey (2024年1月26日). 2026年9月11日確認。
- ↑ a b “What is HCP Terraform?” (英語). HashiCorp Developer. HashiCorp. 2026年9月11日確認。
- ↑ “[速報]IBMによるHashiCorpの買収が正式発表、マルチクラウドの自動化を加速させると”. Publickey (2024年4月25日). 2026年9月11日確認。
- ↑ a b 引用エラー: 無効な
<ref>タグです。「github-releases」という名前の注釈に対するテキストが指定されていません - ↑ a b c d “Overview - Configuration Language” (英語). HashiCorp Developer. HashiCorp. 2026年9月11日確認。
- ↑ a b “Providers overview for the Terraform registry” (英語). HashiCorp Developer. HashiCorp. 2026年9月11日確認。
- ↑ “Publish providers to the Terraform registry” (英語). HashiCorp Developer. HashiCorp. 2026年9月11日確認。
- ↑ a b “HashiCorp、「Terraform」に継続的バリデーションやノーコードプロビジョニング--HashiConf Global 2022”. ZDNET Japan (2022年10月7日). 2026年9月11日確認。
- ↑ “hashicorp/aws – Terraform Registry” (英語). Terraform Registry. HashiCorp. 2026年9月11日確認。
- ↑ “hashicorp/google – Terraform Registry” (英語). Terraform Registry. HashiCorp. 2026年9月11日確認。
- ↑ “Terraform” (英語). Datadog Docs. Datadog. 2026年9月11日確認。
- ↑ “Getting started with New Relic and Terraform” (英語). New Relic Documentation. New Relic. 2026年9月11日確認。
- ↑ “DataDog/datadog – Terraform Registry” (英語). Terraform Registry. HashiCorp. 2026年9月11日確認。
- ↑ “newrelic/newrelic – Terraform Registry” (英語). Terraform Registry. HashiCorp. 2026年9月11日確認。
- ↑ a b “State” (英語). HashiCorp Developer. HashiCorp. 2026年9月11日確認。
- ↑ “Backend block configuration overview” (英語). HashiCorp Developer. HashiCorp. 2026年9月11日確認。
- ↑ “HashiCorp、Terraform 1.5をリリース”. gihyo.jp. 技術評論社 (2023年6月13日). 2026年9月11日確認。
- ↑ a b “Terraform、生成AIによるモジュールテストの自動生成を搭載、VSCodeでインフラコードの自動エラー検出機能も。HashiConf 2023”. Publickey (2023年10月16日). 2026年9月11日確認。
- ↑ “Tests - Configuration Language” (英語). HashiCorp Developer. HashiCorp. 2026年9月11日確認。
- ↑ “ノーコードでTerraformによるプロビジョニングを実現「No-Code Provisioning for Terraform Cloud」、HashiCorpがベータ公開。HashiConf Global 2022”. Publickey (2022年10月11日). 2026年9月11日確認。
- ↑ “Terraform Cloudの無料枠が強化、ユーザー数制限なし、シングルサインオン可能など”. Publickey (2023年6月1日). 2026年9月11日確認。
- ↑ “HashiCorp、Terraform Stacksを用いたインフラ構築を紹介”. CodeZine. 翔泳社 (2026年7月28日). 2026年9月11日確認。
- ↑ “Terraformをフォークした「OpenTofu 1.6」、早くも正式版が登場”. Publickey (2024年1月12日). 2026年9月11日確認。
- ↑ “OpenTofu” (英語). opentofu.org. 2026年9月11日確認。
- ↑ “GitHubで最も人気の言語はJavaScriptで変わらず、急成長した言語はHashiCorpのHCL。GitHubが年次調査「Octoverse 2022」発表”. Publickey (2022年11月14日). 2026年9月11日確認。
- ↑ “Two billion downloads of Terraform AWS Provider shows value of IaC for infrastructure management” (英語). AWS Insights. Amazon Web Services (2023年10月11日). 2026年9月11日確認。
- ↑ “2024 Stack Overflow Developer Survey — Technology” (英語). Stack Overflow (2024年). 2026年9月11日確認。
- ↑ “This Company Takes the Grunt Work Out of Using the Cloud” (英語). WIRED (2019年2月17日). 2026年9月11日確認。
- ↑ “SREで進化するイオン、Terraform・New Relic・PagerDutyを「三種の神器」に”. EnterpriseZine. 翔泳社 (2024年10月4日). 2026年9月11日確認。
- ↑ “Vagrant、Terraform、Packer、Serf、ConsulなどHashiCorp製品の導入支援とトレーニングをクリエーションラインが開始”. Publickey (2015年4月15日). 2026年9月11日確認。
- ↑ “HashiCorp創業者、ミッチェル・ハシモト氏に聞く(後編)~ハシモト氏と日本の関係、そしてファウンダーとしての役割とは”. Publickey (2017年10月16日). 2026年9月11日確認。
- ↑ “日立ソリューションズ、Terraformなど米HashiCorp製品を販売、マルチクラウドの運用管理を効率化”. IT Leaders. インプレス (2021年1月19日). 2026年9月11日確認。
- ↑ Yevgeniy Brikman 『詳解 Terraform 第3版 ―Infrastructure as Codeを実現する』 オライリー・ジャパン、2023年11月21日。ISBN 978-4-8144-0052-2。
- ↑ “Introducing the Cloud Development Kit for Terraform (Preview)” (英語). AWS Developer Tools Blog. Amazon Web Services (2020年7月16日). 2026年9月11日確認。
- ↑ “CDK for Terraform” (英語). HashiCorp Developer. HashiCorp. 2026年9月11日確認。
- ↑ “HashiCorp、AI統合に向けてTerraform MCP Serverをリリース”. InfoQ (2025年8月25日). 2026年9月11日確認。
- ↑ “インフラ構成ツールのPulumiがTerraformのHCLに対応。Terraformからの移行を容易に”. Publickey (2026年1月20日). 2026年9月11日確認。
外部リンク[編集]
- [{{{1}}} 公式ウェブサイト]
- テンプレート:Github