SuperAPI AI 工具集

setting-up-terraform

部署与运维

查看项目

更新于 10-15 12:39

技能介绍

用途:当用户提出搭建 Terraform、基础设施即代码、云资源供给或 IaC 相关需求时使用本技能,帮助从零建立规范、可维护的 Terraform 工程。

主要能力:

  1. 初始化项目结构:创建 infra/ 目录,包含 main.tf、variables.tf、outputs.tf、providers.tf、terraform.tfvars(应被 gitignore)以及 modules/ 子目录。
  2. 配置 provider:在 providers.tf 中声明 terraform 块(required_version、required_providers、backend)与 provider 块,示例使用 hashicorp/aws ~> 5.0 与 S3 后端(bucket、key、region)。可按用户所用云平台(AWS、GCP、Azure)调整。
  3. 定义变量:在 variables.tf 中为输入项指定类型、描述与默认值,示例包括 aws_region 与 environment。
  4. 创建资源:在 main.tf 中定义所需基础设施(VPC、RDS、ECS、S3、Lambda 等),并把可复用模式抽取到 modules/ 下。
  5. 配置远程状态:使用 S3(AWS)、GCS(GCP)或 Azure Storage 保存状态,AWS 下用 DynamoDB 启用状态锁定。
  6. 添加 .gitignore:忽略 .tfstate、.tfstate.、.terraform/、terraform.tfvars、.tfvars。
  7. 添加 CI 流水线:创建 GitHub Actions 工作流,在 PR 上运行 terraform fmt -check、terraform validate、terraform plan,合并到 main 时经批准门执行 terraform apply。

使用方式:技能以步骤说明配合代码片段呈现,用户可按目录结构、provider、变量、资源、远程状态、gitignore、CI 的顺序逐步落地,并针对自身云平台替换 provider 与后端配置。

适用场景:需要为云资源建立 IaC 工程、统一多环境状态管理,或在 PR 阶段加入格式检查、校验与计划评审、在合并后受控应用变更的团队。

限制与注意事项:资料未提供具体收费、价格或平台支持范围的额外信息;技能本身只给出模板与步骤,未给出各云资源的具体完整示例清单。注意事项包括:切勿提交状态文件或含密钥的 .tfvars;使用 workspaces 或独立状态文件区分 dev/staging/prod;固定 provider 版本以避免破坏性变更;提交前运行 terraform fmt。