Terraform 重新定义了基础设施的管理方式:把「点鼠标」变成「写代码」,把「不可复制的手工环境」变成「可版本化的声明」。理解 state 的本质与模块抽象,是掌控 Terraform 的关键。
本专题共收录 36 篇深度文章。既有十二篇从 HCL 语法出发,依次展开资源与状态管理、模块化设计、Provider 生态、CI/CD 集成、AWS 基础设施实战、多环境管理、Kubernetes 编排、数据源与远程数据、资源重构与迁移、漂移检测与收敛,最终落到最佳实践与安全加固,形成「语法 → 状态 → 模块 → 生态 → 流水线 → 云实战 → 治理」的完整 IaC 工程链路;随后六篇进一步深入 Azure 与 GCP 基础设施实战、AWS 网络进阶、策略与合规门禁、密钥与 Vault 管理,以及大规模基础设施性能,把专题从「生产级落地」延展到「多云编排、安全合规与规模化治理」;最新六篇则把视角从「如何写」转向「如何长期运营」——测试框架与 Terratest、存量资源纳管与 import、Provider 开发实战、远程状态与团队协作、成本估算与优化,以及可观测性与运维自动化,补齐 IaC 工程从开发、测试到运营的完整闭环。本批六篇继续向「工具选型」与「规模化编排」延伸:CDKTF/Pulumi 与原生 HCL 的选型对比、OpenTofu 分支迁移与状态兼容、state mv/rm 与损坏状态修复的状态手术进阶、Terragrunt 的 DRY 与依赖图编排、跨云网络互联,以及 AI/ML 基础设施(GPU 节点池与推理服务)编排,把 IaC 能力从「单栈管得好」推进到「选得对、迁得动、编得大、连得通」。本批六篇补上最常用的几类云资源与分发链路:Serverless 函数与触发器编排、托管数据库的参数组与升级策略、IAM 策略建模与条件键、DNS 与 ACM 证书的自动验证、模块注册表与语义化版本分发,以及用 Helm Provider 管理应用发布与回滚。
📌 相关专题:DevOps 专题(CI/CD 与流水线)、基础设施专题(云原生基础设施)、Kubernetes 专题(K8s 资源编排)、Docker 专题(容器化)
一、语法与状态
- HCL 语法与基础 — block/表达式/内置函数、for_each 与 dynamic、三目表达式、变量与输出
- 资源与状态管理 — state 结构、远程 backend 与锁、import、state mv 与 moved block
- 数据源与远程数据 — data source 用法、remote state 跨栈共享、external/HTTP 外部数据源、依赖顺序
- 资源重构与迁移 — moved block、state mv、import 导入、循环引用消除、大变更拆分
- 存量资源纳管与 Import — import 块与 CLI import、状态对齐与 refresh、-generate-config-out 生成配置、渐进式接管、防误删护栏
- 远程状态与团队协作 — S3+DynamoDB 与 Terraform Cloud 后端选型、状态锁与并发、工作区与变量集、状态拆分、敏感信息加密
- 状态手术进阶 — state mv 与 rm 的精确语义、replace-provider 迁移、手工修复损坏状态与 lineage、导入后重建与资源对齐、备份纪律与演练
二、模块与生态
- 模块化设计模式 — input/output/locals、validation、版本约束、组合与抽象层
- Provider 生态与自定义 — Registry、required_providers、alias 多区域、Plugin Framework
- Kubernetes Provider 编排 — kubectl/helm 资源、ingress 与证书、operator 与 CRD、与 k8s 控制器配合
- AWS 基础设施实战 — VPC/EC2/SG 组合、S3 与 CloudFront、RDS 与备份、IAM 最小权限
- Azure 基础设施实战 — 资源组/VNet/VM/存储/AKS 组合、RBAC 与成本治理
- GCP 基础设施实战 — GCE/GKE/CloudSQL、服务账户与权限、网络与负载均衡
- AWS 网络进阶 — VPC 互联与 TGW、跨区域与全球加速、多账户网络隔离
- Provider 开发实战 — 插件协议与 gRPC、Schema 与 CRUD 生命周期、资源与数据源实现、导入与状态升级、TF_ACC 验收测试与发布
- IaC 选型:CDKTF 与 Pulumi — 声明式 HCL 与编程式 IaC 的取舍、CDKTF 合成机制、Pulumi 状态与语言生态、既有栈迁移路径、团队协作与可审查性
- 多云网络与互联 — 跨云 VPC/VNet 对等与专线/VPN、统一网络模块抽象、DNS 与出口网关、跨云路由与安全组对齐、混合云连通性验证
- AI/ML 基础设施编排 — GPU 节点池与驱动/设备插件、Kubernetes 与推理服务编排、模型与数据集存储、弹性伸缩与 Spot 策略、成本与配额护栏
- Serverless 编排 — 函数资源建模与制品打包、source_code_hash 与版本发布、层与依赖管理、执行角色与触发器、并发与冷启动配置
- 托管数据库编排 — RDS/Aurora 与 Cloud SQL 实例建模、参数组 family 绑定、子网组与安全组定位、备份窗口与保留策略、只读副本与升级路径
- DNS 与证书编排 — 托管区域与记录建模、ACM 证书与 DNS 验证的循环依赖处理、下游引用 validation 资源、通配符与多域名证书、区域与迁移注意事项
- 模块注册表与分发 — 模块来源类型与版本锁定、仓库结构约定、语义化版本与发布流水线、私有 Registry 与凭据、文档生成与消费端测试
- Helm Provider 与应用发布 — Provider 配置与集群认证、Chart 来源与版本锁定、values 注入与类型陷阱、Release 生命周期与依赖顺序、回滚与敏感值处理
三、流水线与安全
- CI/CD 流水线集成 — plan-apply 分离、-out 产物传递、PR 评论、GitOps/Atlantis
- 最佳实践与安全加固 — sensitive 边界、Vault/KMS、权限最小化、Conftest/OPA 策略
- 多环境管理与 Workspace — workspace 与目录布局、backend 隔离、tfvars、promotion 策略
- 漂移检测与收敛 — drift 成因、plan 差异审计、driftctl、自动化收敛与合规
- 策略与合规门禁 — Sentinel/OPA、terrascan 扫描、合规策略编写、CI 门禁与审批流
- 密钥与敏感信息管理 — Vault 集成、KMS 加密、后端与状态加密、密钥轮换
- 大规模基础设施性能 — 并发与并行度、refresh 优化、state 分区与拆分
- 测试框架与 Terratest — terraform test 原生测试、Terratest 与 Go、单元与集成测试边界、plan 断言、资源清理与 CI 测试策略
- 成本估算与优化 — Infracost 与 plan 成本预估、实例规格与存储权衡、闲置资源清理、成本护栏与预算告警、变更成本评审
- 可观测性与运维自动化 — 变更审计与审批、Slack/Webhook 通知、定时 plan 漂移巡检、带边界的自动修复、运行手册与运维度量
- OpenTofu 与分支迁移 — 许可证变更背景与分支由来、版本与特性差异、状态与 provider 兼容性、渐进迁移步骤与并行验证、回滚预案
- Terragrunt 与大规模编排 — DRY 配置与 include、依赖图与 dependencies、多环境多账号目录布局、run-all 与并发控制、状态与缓存隔离
- IAM 策略建模 — 策略文档的 Effect/Action/Resource 语义、aws_iam_policy_document 与资源 ARN 引用、条件键与强制加密、权限边界与 SCP 的裁剪关系、跨账号角色与 ExternalId、策略验证与最小权限审计
延伸阅读
- DevOps 专题 — CI/CD 流水线中的 Terraform 实践
- 基础设施专题 — 云原生基础设施架构
- Kubernetes 专题 — Kubernetes Provider 与集群编排
- Docker 专题 — 容器基础设施的 Terraform 管理
专题统计
- 文章数量: 36 篇核心教程
- 覆盖领域: HCL、状态管理、模块化、Provider 生态与开发、CI/CD、安全、AWS/Azure/GCP 实战、AWS 网络进阶、多环境、Kubernetes、数据源、重构、漂移、策略合规、Vault 密钥、性能优化、测试框架与 Terratest、存量资源纳管与 import、远程状态与团队协作、成本估算与优化、可观测性与运维自动化、CDKTF、Pulumi、IaC 选型、多云网络、跨云互联、VNet 对等、专线与 VPN、AI/ML 基础设施、GPU 节点池、推理服务编排、OpenTofu、分支迁移、Terragrunt、DRY 编排、依赖图、run-all、状态手术、state mv、lineage 修复、Serverless、Lambda、函数打包、层管理、触发器、托管数据库、RDS、Aurora、参数组、只读副本、IAM 策略、策略文档、条件键、权限边界、SCP、跨账号角色、DNS、Route53、ACM、证书验证、模块注册表、语义化版本、私有 Registry、Helm Provider、Chart、values 注入、Release 回滚
- 难度分布: 入门 27% → 中级 50% → 进阶 23%
- 先修要求: 云计算与 Linux 基础、任一云平台账号
- 总预估阅读时间: 约 1425 分钟