CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
AWS CloudFormation 入门/课时/失败回滚
RawBlame
课时目录12 节

AWS CloudFormation 入门

  1. 01CloudFormation 是什么
  2. 02模板结构
  3. 03资源声明
  4. 04参数与映射
  5. 05Stack 生命周期
  6. 06嵌套 Stack
  7. 07Drift 检测
  8. 08CloudFormation vs Terraform
  9. 09SAM 与 Lambda
  10. 10与 AWS CDK 关系
  11. 11失败回滚
  12. 12综合练习

失败回滚

Rollback 策略、部分成功处理。

25 分钟

失败回滚

Stack create/update 失败 时,CloudFormation 默认 自动回滚 到上一个稳定状态,避免半套资源悬空。理解 Rollback 策略与 部分成功 场景,是安全实验与生产变更的前置知识。

学习目标

  • 读懂 CREATE_FAILED、UPDATE_ROLLBACK_COMPLETE 等状态
  • 配置 DisableRollback 与更新失败时的行为
  • 对照 Terraform apply 失败与 state 一致性(tf-state)

Stack 失败与回滚

CREATE_IN_PROGRESS → 某 Resource CREATE_FAILED
    →(默认)ROLLBACK_IN_PROGRESS → DELETE 已创建资源 → ROLLBACK_COMPLETE

UPDATE_IN_PROGRESS → 某 Resource UPDATE_FAILED
    → UPDATE_ROLLBACK_IN_PROGRESS → 恢复旧配置 → UPDATE_ROLLBACK_COMPLETE

控制台 Events 页签按时间倒序列出 哪条 Resource、什么 Reason——排障第一步。

创建时的 Rollback 选项

aws cloudformation create-stack \
  --stack-name coderoadmap-lab \
  --template-body file://template.yaml \
  --disable-rollback    # 失败时不自动删资源,便于调试
选项场景
默认自动回滚实验/生产常规部署
--disable-rollback教学:保留失败现场查 Events
DeletionPolicy: Retain删 Stack 时保留 RDS 等(见 cf-resources)

DisableRollback 不等于安全:失败 Stack 可能占配额、产生费用,调试完应 delete 或 fix 后 update。

更新失败处理

  1. 读 Events → 修正 template(如 IAM 权限、配额、无效 Property)
  2. 若 Stack 处于 UPDATE_ROLLBACK_COMPLETE:可再次 update(已回到旧模板状态)
  3. 若资源卡在 DELETE_FAILED:Console 手工删资源或 continue-update-rollback(高级)

Terraform 失败时 state 可能 partial apply;需 terraform plan 对齐。CFN 由 Stack 引擎 事务式 回滚,但 Replace 类变更 仍可能短暂中断服务。

CodeRoadMap 建议

生产 infra 变更走 TF + PR plan + approval;CFN 实验用 小 Stack、t3.micro,失败允许 rollback。勿在 prod 开 DisableRollback。

练习

  • 故意在模板写无效 InstanceType,观察 create 失败与 rollback Events
  • 对比一次 TF apply 失败后的 terraform plan 输出
  • 列出 prod RDS 应设的 DeletionPolicy 与 rollback 的关系
  • 小结

    失败默认回滚;Events 查根因;实验可 DisableRollback 调试。 下一课综合练习。

    加载本节练习…
    ← 上一课与 AWS CDK 关系下一课 →综合练习