部署 AgentCore:顺序、配额、命令、回滚
部署是此插件停止行动并开始建议的地方。Terraform 已经按资源的引用关系排序;但它无法告知你应该规划哪个根模块、哪些原因会导致首次应用因图外因素失败、哪些设置后续无法更改、以及如何回滚。此技能不写入任何内容,也不运行任何内容:它打印出命令,由用户执行。
${CLAUDE_SKILL_DIR} 由技能运行时设置为该技能自身的目录。在以下所有命令中直接使用它;同级技能的脚本位于 ${CLAUDE_SKILL_DIR}/../<skill>/scripts/。
流程
-
首先审查。 在错误之上进行部署规划,就是规划部署错误:
python3 ${CLAUDE_SKILL_DIR}/../agentcore-review/scripts/review.py <project> -
规划部署。
python3 ${CLAUDE_SKILL_DIR}/scripts/deploy_plan.py <project>--root DIR当发现的根模块不是要部署的根模块时使用(提供商约束、锁、区域和阶段则跟随该根模块);--plan-file NAME;--json。命令将插件命名为$AGENTCORE_PLUGIN,由打印的setup行设置。 -
报告 根模块、阶段、
DPL发现结果、命令和回滚方案,按此顺序。声明成本层级:这些命令会在用户账户中创建可计费资源。 -
选项: (1,推荐)用户执行 init → validate → plan to a file →
show -json→ 策略检查,并粘贴策略输出;(2)阅读后,用户应用 该已保存的计划文件。使用AskUserQuestion确认每一步;切勿将它们合并为一个步骤。 -
验证 用户报告成功应用后,交给
/agentcore:agentcore-verify。
DPL0xx 发现码
| ID | 严重级别 | 触发条件 |
|---|---|---|
DPL001 | 警告 | 无远程后端(且无 Terragrunt) |
DPL002 | 错误 | 超过已发布的配额(每个网关的目标数、每个目标的工具数) |
DPL003 | 信息 | 角色和网关在同一应用:IAM 传播可能在首次尝试时失败 |
DPL004 | 信息 | 语义搜索是仅创建时生效的 |
DPL005 | 信息 | Terragrunt 堆栈:命令使用 terragrunt |
DPL006 | 警告 | hashicorp/aws 版本锁定低于 6.55.0 |
DPL007 | 信息 | TRACES 交付需要先启用 Transaction Search |
DPL008 | 信息 | 所选的根模块未声明 hashicorp/aws 版本约束 |
决策规则
- 应用已保存的计划,绝不使用
-auto-approve。 用户阅读的计划才是要运行的计划。 - 策略优先于应用。
policy_check.py在没有显式--allow-replace的情况下拒绝删除记忆、网关、凭据提供者和用户池。 -target仅用于回滚,不用于首次部署。 如果首次应用因 IAM 传播失败,重新运行相同的应用。- 回滚通过回退(revert)而非销毁(destroy)实现。 有状态资源(用户、对话、密钥)绝不参与回滚。
参考
| 问题 | 文件 |
|---|---|
| 阶段顺序、导致首次应用失败的原因、Terragrunt | apply-sequencing.md |
| 部署时重要的 AgentCore 配额 | quotas.md |
| 每种变更类型的回滚;绝不销毁的内容 | rollback.md |
脚本
| 命令 | 功能 | 退出码 |
|---|---|---|
scripts/deploy_plan.py <project> [--root DIR] [--plan-file F] [--json] | 根模块、阶段、DPL 发现结果、命令、回滚 | 0 无错误,1 有错误,2 无 Terraform |
完成检查清单
-
review.py已首先运行,其错误已被解决或用户已接受。 -
deploy_plan.py已运行;根模块已与用户确认。 - 在移交任何命令之前已声明成本层级(
aws)。 - 用户在任何应用之前已运行 plan → show -json → policy check。
- 仅由用户应用已保存的计划文件;助手未运行任何命令。
- 在应用前已声明本次变更的回滚方案。