# Terraform
HashiCorp の宣言的 [[Infrastructure as Code|IaC]] フレームワークで、市場を牽引する存在([[@2024__SOSP__Unearthing Semantic Checks for Cloud Infrastructure-as-Code Programs]])。利用者はリソースブロック(VM・NIC・サブネット等)を宣言的に記述し、Terraform がクラウド API を呼んで実インフラを構築する。([[@2024__SOSP__Unearthing Semantic Checks for Cloud Infrastructure-as-Code Programs]])
- **アーキテクチャ上の特徴**: core compiler は cloud-agnostic な shim 層で、provider 固有のチェックは「プラグイン」経由でしか追加できない。プラグインは個々の属性に対する制約しか許さず、inter-resource なセマンティックチェックを組み込めない——これが [[Zodiac]] が問題視する semantic gap の構造的要因。
- **コンパイル時チェック**: 構文的正しさ(存在しないリソース型の宣言の拒否等)のみ。`terraform validate` は provider スキーマ JSON に対する基本的な検査にとどまる。
- **エコシステム**: OpenTofu・Pulumi・CDKTF 等の類縁フレームワークがある。CDKTF は Terraform と同じ JSON プランフォーマットを共有。関連の静的チェッカに TFLint・TFSec・Checkov・Regula 等。
- [[Zodiac]] は Terraform プログラムを 26,000 リポジトリからクロールして対象にし、デプロイプランへコンパイルしてマイニング・検証に用いた。
- 2025 年の IaC × LLM エージェント研究は Terraform を共通の対象とする: [[NSync]] は drift した Terraform 構成へのパッチ生成(`terraform plan` を read-only な drift_report に再構成、`import`/`moved` ブロックを活用)、[[Lilac]] はクラウド状態から Terraform リソースブロックへの lifting(`import`/equivalence/redeployment を検証に活用)。Terraform の market share 62%(2025 年)が研究対象としての標準化を後押し。([[@2025__arXiv__Automated Cloud Infrastructure-as-Code Reconciliation with AI Agents]], [[@2025__AIOps__Automated Lifting for Cloud Infrastructure-as-Code Programs]])
- **エージェントのツールとしての向き不向き**: [[@2025__OSR__Cloud Infrastructure Management in the Age of AI Agents]] の予備実験では、IaC エージェントが Terraform プログラムを生成する。state-centric な設計ゆえ standard→spot のような**再作成を要する更新**で優位(属性 1 つの変更で teardown/recreate を Terraform が自動処理。SDK/CLI/ClickOps は image 保存→破棄→再作成を手順で辿り失敗しやすい)。一方 monitoring には不向き(成功率 0.40、disk 情報取得に 8 step、非 IaC 言語を吐く hallucination や deprecated メソッド呼び出し)で、コンテキストウィンドウ制約で全状態をモデルに渡せず更新の成功率も 0.33 にとどまった([[クラウド管理モダリティ]])。(Source: [[@2025__OSR__Cloud Infrastructure Management in the Age of AI Agents]])
## 関連
- ソース: [[@2024__SOSP__Unearthing Semantic Checks for Cloud Infrastructure-as-Code Programs]] / [[@2025__arXiv__Automated Cloud Infrastructure-as-Code Reconciliation with AI Agents]] / [[@2025__AIOps__Automated Lifting for Cloud Infrastructure-as-Code Programs]]
- 関連概念: [[Infrastructure as Code]] / [[設定マイニング]] / [[クラウド管理モダリティ]]
- 関連プロダクト: [[Zodiac]] / [[Microsoft Azure]] / [[NSync]] / [[Lilac]] / [[aztfexport]] / [[AWS CloudTrail]]
- 関連 MOC: [[Software Engineering - MOC]] / [[Network - MOC]]