用途:面向 Terraform 与 OpenTofu 的基础设施即代码工作,涵盖项目搭建、可复用模块设计、状态管理、多环境(dev/staging/prod)部署、远程后端与密钥管理、CI/CD 集成,以及状态漂移和 plan 失败排查。
主要能力:按模块化架构组织项目,提供 workspace 与目录两种环境策略、变量与输出组织、provider 版本约束和远程后端配置;模块开发支持输入校验与类型约束、输出设计、本地与 registry 模块、版本发布;状态管理涵盖 S3、GCS、Azure Blob、Terraform Cloud 等远程后端、状态锁定、迁移与操作、资源导入与漂移处理;多环境支持 workspace、目录、Terragrunt、环境变量与晋升流程;安全方面涉及敏感变量、IAM 角色设计、Sentinel/OPA 策略即代码、Vault 与 AWS Secrets Manager 集成、最小权限;CI/CD 覆盖 GitHub Actions、Atlantis、Terraform Cloud/Enterprise、plan/apply 自动化与成本估算。
使用方式:常见做法包括用 required_version 与 required_providers 固定版本、在 backend 中配置远程状态与 DynamoDB 锁、通过 locals 统一标签、module 引用本地模块,以及用 terraform import、terraform plan -generate-config-out 导入既有资源。GitHub Actions 工作流通常先 init 再 plan 并上传计划产物,主分支推送后下载计划执行 apply。敏感值可用 data 源从密钥管理器读取,output 标记 sensitive = true。
适用场景:新项目与工作区初始化、迁移既有基础设施、多环境基础设施、CI/CD 接入、成本与安全治理。
限制:资料未提供该技能的价格、平台支持范围、安装命令及具体效果数据;示例中的版本号、区域、账户等仅为演示,实际使用需按团队环境调整。避免本地保存状态、启用状态锁定、谨慎使用 -target。