以 IaC 方式创建 AgentCore 资源
新的 AgentCore 资源应当以可审阅的模块形式,出现在团队部署的同一目录树中,而不是一次无人能复现的控制台点击。本技能会编写小型的、扁平的 Terraform 模块——包含单个 main.tf、variables.tf、outputs.tf、versions.tf——由用户从其根模块中引用。这些模块故意保持简单:每个参数都有注释说明,机密信息只写不读,并且网关绝不在没有授权器的情况下创建。
${CLAUDE_SKILL_DIR} 由技能运行时设置为该技能自身的目录。在下面每条命令中直接使用它;同级技能的脚本位于 ${CLAUDE_SKILL_DIR}/../<skill>/scripts/。
流程
-
发现:首先运行发现,使模块与现有模块处于同一位置,并确定区域:
python3 ${CLAUDE_SKILL_DIR}/../agentcore-discover/scripts/discover.py <project> --focus agentcore,region,terraform如果 AgentCore CLI 或 CDK 已经拥有 AgentCore 资源(
DSC004领域),则提供匹配的--iac选项而非 Terraform。 -
规划写入:
python3 ${CLAUDE_SKILL_DIR}/scripts/scaffold.py <project> --component runtime --dry-run--component gateway|identity|memory,--iac terraform|cdk|cli,--name,--out-dir,--protocol HTTP|MCP|A2A|AGUI(运行时)。 -
选择:Terraform 模块(推荐,免费)、CDK 堆栈(免费)或 AgentCore CLI 命令(免费打印;
agentcore deploy本身属于aws)。 -
确认:使用
AskUserQuestion确认后,运行不带--dry-run的相同命令。仅当用户在看到计划后要求替换文件时,才传递--force。 -
验证:对结果运行审阅并展示:
python3 ${CLAUDE_SKILL_DIR}/../agentcore-review/scripts/review.py <project>
决策规则
- 优先 Terraform。这是第一个用户运行的选项,也是本插件的审阅、部署计划和 CI 策略唯一全部适用的选项。
hashicorp/aws提供者覆盖所有核心资源;参见 provider-coverage.md 了解哪些需要awscc或 CLI。 - 模块是被引用,不是被应用。脚本会打印需要添加的
module块;它不会编辑根模块。 - 只写机密需要 Terraform 1.11+。生成的
versions.tf会声明这一点;较旧 Terraform 必须使用敏感变量并接受机密存在于状态中(ACR031)。 - 不再提供入门工具包。其 CLI 已不再受支持;AgentCore CLI 是替代的 CLI 选项。
参考
| 问题 | 文件 |
|---|---|
| 每个生成模块的内容及原因 | terraform-modules.md |
| CDK 和 AgentCore CLI 路径以及选择时机 | cdk-and-cli-alternatives.md |
hashicorp/aws 覆盖的资源;awscc 和 CLI 回退 | provider-coverage.md |
脚本
| 命令 | 作用 | 退出码 |
|---|---|---|
scripts/scaffold.py <project> --component C [--iac terraform|cdk|cli] [--dry-run] [--force] [--json] | 规划并写入一个模块、一个 CDK 堆栈,或打印 CLI 命令 | 0 已写入/规划,1 无内容可写,2 参数错误 |
完成清单
- 已运行发现,且选择的 IaC 与原有拥有 AgentCore 资源的团队一致。
- 写入计划已通过
--dry-run展示,并在写入前确认。 -
module引用块已提供给用户,未写入其根模块。 - 已对结果运行
review.py,并展示了其发现。