LELexEdge词汇锋面
DevOps专业术语

Terraform

Terraform · 用代码管理你的云基础设施

IaC云平台
TERR
定义
TerraformDevOps领域的专业术语Terraform 让你用声明式代码定义云基础设施(服务器、网络、数据库等),一条命令就能创建或更新整个环境。

最后更新:2026-03-18

什么是Terraform?

Terraform 让你用声明式代码定义云基础设施(服务器、网络、数据库等),一条命令就能创建或更新整个环境。它支持 AWS、GCP、Azure 等所有主流云平台。

  • 基础设施即代码(IaC)的事实标准
  • 声明式语法:描述期望状态而非操作步骤
  • 支持所有主流云平台和数百种 Provider

Terraform详解

Terraform 使用 HCL(HashiCorp Configuration Language)声明式地定义基础设施。核心工作流是:编写代码 → terraform plan(预览变更)→ terraform apply(执行变更)。Terraform 的 State 文件记录了基础设施的当前状态,用于计算变更差异。Terraform 的优势在于多云支持和丰富的 Provider 生态,但 State 管理和大规模使用时的性能是常见挑战。OpenTofu 是 Terraform 的开源分支,在 HashiCorp 修改许可证后获得了社区关注。

Terraform的应用场景

正式定义

使用声明式代码定义和管理云基础设施资源的开源 IaC 工具

应用场景

  • 多云环境的基础设施管理
  • 基础设施变更的版本控制和审计
  • 环境的可重复创建和销毁

常见误区

  • Terraform 不是配置管理工具(那是 Ansible)
  • Terraform State 需要妥善管理,丢失会导致严重问题
  • Terraform 和 CDK 不是互斥的,可以根据场景选择

实际案例

📌 Terraform 的生态规模

Terraform Registry 上有超过 3000 个 Provider 和 15000 个 Module,覆盖了从 AWS 到 Cloudflare 到 GitHub 的几乎所有基础设施服务。

Terraform的参考来源

关于Terraform的常见问题

Terraform 和 CloudFormation 有什么区别
Terraform 支持多云(AWS/GCP/Azure),CloudFormation 只支持 AWS,Terraform 用 HCL 语言,社区生态更大。
Terraform state 是什么
记录基础设施当前状态的文件,Terraform 通过对比 state 和配置来决定需要创建/修改/删除哪些资源。