Agent Skills
返回列表
🔒

AWS CloudFormation 堆栈诊断

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/aws-cloudformation-stack-diagnostics。

技能介绍

要解决的具体问题

当 CloudFormation 堆栈部署失败时,错误信息并不会集中出现在一个地方。工程师通常要在 AWS 控制台里逐层翻看事件,或手动拼接 aws cloudformation describe-stack-events 的原始输出,再对照模板语法和 AWS 文档找原因。资源创建失败、回滚触发、嵌套堆栈依赖链断裂,这些关键线索散落在不同 API 返回和日志条目里,定位一次根因往往耗时数十分钟甚至更久。尤其当堆栈包含多层嵌套时,父栈的 ROLLBACK_COMPLETE 可能掩盖子栈的具体错误,手工排查极易遗漏。

技能如何工作

该技能围绕两条主线展开,最终输出一份结构化诊断结果:

  • 事件追踪:调用 aws cloudformation describe-stack-events 拉取堆栈最近事件,按资源逻辑 ID 和物理状态归类,自动标出 CREATE_FAILED、ROLLBACK、DELETE_FAILED 等关键节点,并保留失败消息原文。
  • 模板校验:通过 cfn-lint 对模板做静态分析,捕捉参数类型不匹配、属性缺失、IAM 策略不合规、资源类型拼写错误等常见问题,减少反复试错。
  • 依赖链还原:结合嵌套堆栈的 Outputs 与 DependsOn 声明,重建资源创建顺序,定位回滚究竟源于父栈还是某个子栈,并给出可读的调用路径。
  • 漂移检测:对照已附加资源与模板声明,识别偏离预期的配置项,帮助区分是运维人员手动修改导致,还是模板本身存在缺陷。

适用边界与注意点

  • 需要本地配置好 AWS CLI 并拥有 cloudformation:DescribeStackEvents 等 IAM 权限;cfn-lint 需单独安装或通过技能内置方式调用。
  • cfn-lint 只覆盖静态规则,无法检测运行时依赖(如外部 API 不可用、密钥未同步)。
  • 漂移检测依赖资源已被正确附加到堆栈;游离资源或通过 ImportValue 引入的资源可能不在结果中。
  • 该技能聚焦于 CloudFormation,不涉及 Terraform、Ansible 或 AWS CDK 等其他编排工具。
  • 诊断结果仅反映诊断时刻的状态,不提供自动修复动作;修复仍需人工决策或配合其他自动化流程。

使用场景

  • 堆栈部署失败时,需要快速定位哪个资源的创建触发了回滚,而非逐个事件翻看。
  • 嵌套堆栈回滚后,要还原父子栈之间的依赖链,判断错误源自哪一层。
  • 模板更新后部署报参数类型错误,需要静态扫描定位不合规的资源定义。
  • 怀疑配置被手动修改导致堆栈与模板不一致,需要比对漂移项。

适合人员

  • 负责 AWS 基础设施部署的运维工程师,常需排查 CloudFormation 堆栈失败原因。
  • 管理 IaC 模板的 DevOps 工程师,要在上线前校验模板语法与资源合规性。
  • 处理生产事故的 SRE,需要在回滚发生后快速还原资源依赖链与失败根因。