用途:在 AWS 上创建或管理 TiDB 集群,结合 Terraform 与 TiUP。
主要能力:从内置模板搭建独立的 Terraform 项目;用 Terraform 在 AWS 上创建或销毁虚拟机;从中心 VM 用 TiUP 部署、启动或验证 TiDB。生成的每个项目包含本地 README.md,记录 Terraform 操作命令。默认项目路径为 $HOME/test/tidb-aws-<namespace>,便于后续操作。
使用方式:先解析技能目录,再运行脚手架脚本,例如 python3 <skill-dir>/scripts/scaffold_project.py;--namespace 省略时默认 tidb-cluster-<YYMMDDHHMM>,--target 省略时创建到 $HOME/test/tidb-aws-<namespace>,脚本会打印绝对部署路径。显式数量可在命令中传入,如 --n-pd 1 --n-tidb 3 --n-tikv 3 --n-tiflash 1 --n-ticdc 3,也可传 --ticdc-architecture 和 --extra-service。之后按生成项目中的 references/deployment.md 操作,并以生成的 README.md 作为本地 Terraform 指南。
默认值:未给出数量时 n_pd=1、n_tidb=3、n_tikv=3、n_tiflash=1、n_ticdc=3,可显式覆盖并支持可选角色为 0;n_pd 保持为 1。未指定版本时,在 tiup cluster deploy 前解析最新稳定版,默认不部署 nightly。默认使用新 TiCDC 架构。命名的额外服务节点按独立 EC2 实例处理,仅在明确要求时添加。
限制与安全:运行任何 Terraform 命令前需验证配置的 AWS 身份,失败时先进行 AWS SSO 登录并重试。除非用户明确要求部署、启动或清理,不要运行 terraform apply、terraform destroy 或远程 TiUP 命令;除非用户要求非交互式部署,应先使用保存的 Terraform plan。不要打印私钥材料、Terraform state 内容或 AWS 凭证。模板会公开暴露 SSH、Grafana 和 TiDB Dashboard 端口,应向用户提示。启动集群使用 tiup cluster start <cluster-name> --yes,不要添加 --init。部署或启动后报告绝对部署路径、生成的 README.md 路径以及所有核心和额外服务节点的 IP。