SuperAPI AI 工具集

terraform-best-practices

部署与运维

查看项目

更新于 10-16 01:37

技能介绍

用途:为生产级 Terraform 基础设施提供专家级指导,覆盖模块设计、状态管理、安全、测试与多环境部署,适合团队编写可复用模块、搭建安全远程状态、设计 dev/staging/prod 多环境、构建基础设施 CI/CD,以及从手工运维迁移到基础设施即代码。

主要能力:模块设计强调组合优于单体,采用 main.tf、variables.tf、outputs.tf、versions.tf、README.md 标准结构,使用 validation 块与复杂类型,配合 dynamic 块减少重复。状态管理推荐 S3+DynamoDB 或 Terraform Cloud 远程后端、KMS 加密、DynamoDB 锁,生产环境用目录隔离、相似环境用 workspace。安全方面要求密钥管理(如 AWS Secrets Manager、Vault)、按环境分离 IAM 角色、CI/CD 中集成 tfsec、Checkov、Terrascan 扫描,并统一资源标签便于成本与合规追踪。测试与验证覆盖 pre-commit 钩子、计划评审、Terratest 自动化测试及 OPA/Sentinel 策略即代码。

使用方式:先建立 modules 与 environments 目录并配置远程后端;按标准结构创建模块;加固安全并启用状态加密与扫描;安装 pre-commit 钩子,运行 terraform init、terraform validate、terraform fmt -check,以及 tfsec .、checkov -d .;关键模块运行 go test -v;部署时执行 terraform plan -out=tfplan、terraform show tfplan,审批后 terraform apply tfplan;多环境可进入对应目录或使用 Terragrunt。

限制:具体价格、平台支持范围及详细效果暂未提供;示例以 AWS 与 HashiCorp 生态为主,其他云厂商需自行适配。