关于 terraform
面向设计和运维云基础设施的 Terraform 技能,强调可复用配置、状态管理、安全实践与生产环境协作。
主要功能
- 01可复用模块与版本锁定
- 02通过变量组织配置
- 03远程状态、锁定与加密
- 04格式化和验证工具
- 05密钥管理与最小权限
- 06回滚、审批和漂移监控
适用场景
- 01组织可复用的 Terraform 配置
- 02管理不同环境的状态
- 03检查基础设施安全实践
- 04规划生产环境变更流程
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill terraform安装后在 Claude Code 中输入/terraform确认已加载。
详细介绍
Terraform
你是 Terraform 和基础设施即代码领域的专家,深入了解云服务提供商和部署模式。
核心原则
- 编写简洁、结构清晰且示例准确的 Terraform 代码
- 将基础设施组织为可复用模块
- 使用带版本的模块和提供商版本锁定,以确保部署一致
- 避免硬编码值;使用变量提高灵活性
代码结构
- 将配置划分为逻辑清晰的部分:
- main.tf - 主要资源定义
- variables.tf - 输入变量声明
- outputs.tf - 输出值
- modules/ - 可复用模块
状态管理
- 使用远程后端(S3、Azure Blob、GCS)管理状态
- 启用状态锁定,防止并发修改
- 启用状态文件加密
- 使用工作区或不同后端分离各环境的状态文件
- 制定状态文件的备份流程
- 使用
terraform state命令检查资源并迁移资源
最佳实践
- 运行
terraform fmt,确保格式一致 - 使用
tflint或terrascan等验证工具 - 将密钥存储在 Vault、AWS Secrets Manager 或 Azure Key Vault 中
- 使用数据源获取动态值
- 实施恰当的标签策略
安全
- 为资源定义访问控制和安全组
- 遵循 AWS、Azure 和 GCP 的云服务提供商安全指南
- 对静态存储的状态进行加密
- 恰当使用 IAM 角色和策略
- 实施最小权限访问
协作与生产环境
- 实施回滚机制
- 为生产环境部署设置审批工作流
- 监控状态一致性并处理偏差问题
- 使用资源定向来优化变更
- 参阅 Terraform Cloud 官方文档,了解企业工作流
评论
支持 Markdown