部署 AgentCore:順序、配額、指令、回滾
部署是此插件從「行動」轉為「建議」的階段。Terraform 本身會依據資源間的參照排序,但它無法告訴你:該從哪個根模組開始規劃、哪些原因(非依賴圖層面)會導致首次 apply 失敗、哪些設定後續無法變更、以及如何復原。此技能不寫入任何內容,也不執行任何指令:它只印出指令,由使用者自行執行。
${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用於當發現的根模組並非實際要部署的根模組(provider 限制、鎖定、區域與階段則屬於該根模組);--plan-file NAME;--json。指令中會將插件命名為$AGENTCORE_PLUGIN,由印出的setup行設定。 -
回報 根模組、階段、
DPL發現結果、指令及回滾,按此順序。說明成本等級:這些指令會在使用者的帳戶中建立計費資源。 -
選項: (1,建議) 使用者執行 init → validate → plan 輸出至檔案 →
show -json→ 策略檢查,然後貼上策略輸出;(2) 閱讀後,使用者 apply 該已儲存的 plan 檔案。每個步驟都使用AskUserQuestion確認;切勿合併成一步。 -
驗證 在使用者回報成功 apply 後,轉交給
/agentcore:agentcore-verify。
DPL0xx 代碼系列
| 代碼 | 嚴重程度 | 觸發條件 |
|---|---|---|
DPL001 | 警告 | 無遠端後端(且無 Terragrunt) |
DPL002 | 錯誤 | 超過已發布配額(每個閘道的目標數、每個目標的工具數) |
DPL003 | 資訊 | 角色與閘道在同一次 apply:IAM 傳播可能導致首次嘗試失敗 |
DPL004 | 資訊 | 語義檢索僅可建立 |
DPL005 | 資訊 | 使用 Terragrunt 堆疊:指令使用 terragrunt |
DPL006 | 警告 | hashicorp/aws 鎖定低於 6.55.0 |
DPL007 | 資訊 | TRACES 日誌傳遞需先啟用 Transaction Search |
DPL008 | 資訊 | 所選根模組未宣告 hashicorp/aws 版本限制 |
決策規則
- Apply 已儲存的 plan,絕不使用
-auto-approve。 使用者讀過的 plan 才是實際執行的 plan。 - 先做策略檢查再 apply。
policy_check.py拒絕刪除記憶體、閘道、憑證提供者和使用者集區,除非加上明確的--allow-replace。 -target僅用於回滾,不可用於首次部署。 若首次 apply 因 IAM 傳播失敗,重新執行同一個 apply。- 回滾採用還原方式,而非銷毀。 有狀態資源(使用者、對話、機密)絕不納入回滾。
參考資料
| 問題 | 檔案 |
|---|---|
| 階段順序、首次 apply 失敗原因、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)。 - 使用者已在使用者執行 apply 前完成 plan → show -json → 策略檢查。
- 僅由使用者 apply 已儲存的 plan 檔案;助理未執行任何指令。
- 在 apply 前已說明此次變更的回滾方式。