1. 课程导论:什么是事件驱动Runbook、为什么需要IaC变更审批、课程目标与适用场景
1.1 什么是事件驱动Runbook
事件驱动Runbook是一种自动化响应机制,它监听特定事件(如Git提交、工单创建、监控告警),并自动触发预定义的运维操作流程。与传统手动执行Runbook不同,事件驱动Runbook实现了“事件发生 → 自动触发 → 流程执行 → 结果反馈”的闭环。
核心特征:
- 被动触发:由外部事件(Webhook、消息队列、定时器)唤醒,而非人工点击执行
- 上下文感知:自动携带事件元数据(变更内容、提交者、环境标签)作为流程输入
- 状态持久化:执行过程记录为不可变审计日志,支持追溯与回滚
- 联动编排:可跨系统调用(GitHub、Jira、Terraform、PagerDuty)完成复杂审批链
1.2 为什么需要IaC变更审批
基础设施即代码(IaC)将云资源声明为代码文件,但“代码即权力”也带来了风险:一次未审批的 terraform apply 可能导致生产环境配置漂移、安全组暴露、甚至数据丢失。传统手动审批存在以下痛点:
| 痛点 | 描述 | 后果 |
|---|---|---|
| 审批滞后 | 审批人手动查看PR,等待CI完成才评审 | 部署周期延长,阻塞开发效率 |
| 上下文缺失 | 审批者看不到Plan输出、资源影响范围 | 误判风险,批准了有破坏性的变更 |
| 合规盲区 | 无强制策略检查,依赖人工经验 | 违反安全基线,审计困难 |
| 回滚困难 | 审批通过后无自动回滚预案 | 故障时恢复时间长 |
关键洞察: IaC变更审批不是“要不要审批”的问题,而是“如何在不牺牲速度的前提下,让审批具备可审计、可自动化、可策略化的能力”。事件驱动Runbook正是解决这一矛盾的桥梁。
1.3 课程目标
本课程旨在帮助DevOps工程师、云架构师和平台工程师掌握以下能力:
- 设计事件驱动审批流程:基于Git事件(PR创建、代码推送)自动触发IaC变更审批Runbook
- 集成审批工具链:打通GitHub、Terraform Cloud、Jira、Slack/Teams等系统
- 实现策略即代码:将安全基线、成本控制、标签规范嵌入审批流程
- 构建可观测审批链路:记录每次审批的决策、Plan输出、执行结果
- 自动化回滚与补救:当审批失败或部署异常时,自动执行回滚Runbook
1.4 适用场景
本课程适用于以下典型场景:
| 场景 | 说明 | 优先级 |
|---|---|---|
| 多云基础设施变更 | AWS/Azure/GCP资源通过Terraform管理,需要跨环境审批 | 高 |
| Kubernetes资源配置 | Helm Chart / Kustomize 变更需合规检查 | 高 |
| 安全组与网络策略 | 防火墙规则、VPC对等连接等高危操作 | 高 |
| 成本敏感型资源 | 大规格实例、预留实例、数据库集群变更 | 中 |
| 合规审计要求 | 金融、医疗等行业的变更必须留痕 | 高 |
学习前提: 建议学员具备基础的Git工作流、Terraform/OpenTofu使用经验,以及至少一种CI/CD工具(GitHub Actions / GitLab CI / Jenkins)的基本操作能力。
1.5 课程路线图
本课程共30章,从事件驱动Runbook的基础概念出发,逐步深入到审批流程设计、工具集成、策略注入、可观测性建设,最终交付一套生产就绪的IaC变更审批自动化方案。每章均包含可复用的代码模板和架构图,帮助学员快速落地。