Terraform 极简入门:从 AWS-CLI 到基础设施即代码(IaC)
在云原生开发中,基础设施管理常陷入两难困境:AWS控制台操作直观但难以复现且缺乏审计,SAM等专用工具对复杂资源支持有限。作者通过实际Serverless项目经历,对比了三种主流方案:控制台手动配置导致多环境部署耗时且配置来源不清;SAM在管理VPC、高级IAM策略时力不从心,形成“混合打法”增加复杂度;而Terraform通过基础设施即代码,实现了资源状态的版本化与声明式管理。 关键转折点在于Terraform的“配置漂移”检测能力。当有人通过控制台修改路由表后,`terraform plan`能立即发现实际状态与代码定义的偏差,从而有效锁定基础设施的“期望状态”,这是手动操作无法实现的可靠性保障。实践中,作者最终采用分层架构:Terraform负责核心云资源(如VPC、S3、IAM策略)的拓扑定义与状态管理,确保基础设施的确定性;Lambda等应用代码的频繁迭代则通过GitHub Actions与AWS CLI在CI/CD流水线中处理。这种组合既发挥了Terraform在基础设施状态管理上的优势,又兼顾了应用部署的敏捷性,体现了工具选型中“各司其职”的实用主义思路。