Amazon SOA-C02: 部署、预置与自动化 — 学习指南
属于 AWS SysOps Administrator Associate SOA-C02 — 学习指南. 使用经过验证的答案练习: Amazon 考试中心, 或参加限时模拟考试: ExamRoll.io.
AWS Systems Manager 自动化、Run Command 和修补
Systems Manager (SSM) 集中管理运维任务:使用 Run Command 执行临时命令,使用 State Manager 维护期望状态,使用 Patch Manager 进行计划性的操作系统修补,以及使用 Automation 执行复杂的工作流。常用 CLI 模式:
- 发送临时命令:
undefined
- 启动预定义自动化:
undefined
- 使用 State Manager 关联来强制执行配置(例如 SSM Agent 配置、cron 作业),并使用 Patch Manager 基准来定义批准规则和执行合规性扫描。
配置细节与决策点:
- 使用 Patch Manager 及其基准(Baselines)和维护时段(Maintenance Windows)来实现可预测、合规的修补;如果采用不可变策略,请选择自动批准天数并拒绝未经批准的 AMI 镜像。
- 对于没有安装 SSM Agent 或网络受限的实例,考虑使用带 VPC 端点的 Session Manager,以避免开放 SSH 端口。
- 始终要求实例具备带有 AmazonSSMManagedInstanceCore 策略的实例配置文件(instance profile)以获取 SSM 访问权限;根据需要限定额外的权限范围。
变更管理、漂移检测与回滚
实施集成管道运行、标签和审批的变更控制。使用 CloudFormation 变更集(change sets)预览差异,并使用堆栈策略(stack policies)拒绝破坏性更新。CLI 模式:
- 检测漂移:
undefined
和
undefined
- 在更新期间使用堆栈策略保护关键资源,并设置带有回滚触发器(rollback triggers)的 RollbackConfiguration,以便在更新失败时收到通知。
回滚策略:
- 对于 CloudFormation:失败时自动回滚是默认行为;在需要时使用回滚触发器并保留资源。
- 对于应用程序:首选蓝/绿或金丝雀部署,通过流量切换(traffic shift)实现即时回滚,具体方法是重新调整 ALB/Route53 的权重或恢复之前的任务集。
- 维护不可变构件(AMI ID、容器镜像),并在注册表/SSM 中保留先前版本,以确保回滚是确定性的。
决策标准:
- 如果涉及有状态数据迁移,应包含可逆的迁移脚本,或使用功能标志(feature flags)将代码发布与数据库模式(schema)迁移分离开来。
- 使用部署健康检查和自动化冒烟测试作为管道的门禁(gating),以便尽早触发回滚。
常见陷阱与决策标准
- 进行手动的、带外的(out-of-band)控制台变更,导致 IaC 状态漂移:强制执行漂移检测(aws cloudformation detect-stack-drift),并要求所有修复必须通过 IaC 模板应用;使用 IAM 控制来限制控制台编辑。
- 发布没有安全的回滚计划:采用蓝/绿或金丝雀部署,并保留之前的构件/AMI,以便能够即时恢复。
- 为管道和角色配置过于宽松的 IAM 权限:应用最小权限原则;拆分角色(管道服务角色、构建角色、实例配置文件),并且只授予必要的 ssm:GetParameter、secretsmanager:GetSecretValue、kms:Decrypt 和 s3 访问权限。
- 直接在模板或明文中存储密钥:将密钥迁移到 Secrets Manager 或 SSM Parameter Store 的 SecureString 类型中,并在部署时通过适当的解密权限引用它们。
- 未经测试就对生产环境进行原地(in-place)修补:在 CI 流程中用更新的软件包烘焙(bake)AMI 并进行冒烟测试,然后通过 ASG 或蓝/绿管道推出不可变镜像。
- 忽略漂移和对有状态资源的保护:使用堆栈策略并定期检测漂移;对于有状态资源,在进行破坏性变更前,要求手动批准并创建快照。
实践问题:用例场景
Acme Payments 公司必须部署一个符合 PCI 标准的 API 服务,每月应用操作系统补丁,并能够在部署于营业时间内引发错误时快速回滚。
- 实施不可变管道:使用 CodePipeline/CodeBuild 配合 EC2 Image Builder(或 Packer)来烘焙 AMI,为 AMI 打上标签,并将 AMI ID 发布到 SSM Parameter Store。
- 通过 CloudFormation 模板进行部署,模板中引用 SSM 参数以获取 AMI,并为每个版本创建一个新的 ASG + Launch Template 版本;使用变更集进行预检审查。
- 使用 CodeDeploy 或 ALB 目标组的蓝/绿流量切换功能,并配合健康检查和自动化冒烟测试;配置在健康检查失败时自动回滚。
- 通过 Systems Manager 的维护时段(Maintenance Windows)来调度 Patch Manager,在非高峰时段应用补丁;对已修补的镜像执行“烘焙-部署”流程,以避免对生产环境进行原地修补。
- 为管道角色强制执行最小权限 IAM 策略,将密钥存储在 Secrets Manager 中,并为关键资源启用 CloudFormation 漂移检测和堆栈策略。
基本原理:烘焙镜像和不可变部署分离了构建和运行的关注点,提供了可复现的构件和安全的回滚路径;通过 SSM 进行自动化修补并结合不可变部署,可在保持可恢复性的同时,最大限度地降低风险并支持合规性。
← 高可用性、容错与灾难恢复 · 所有领域 · 安全、身份与合规性 →
练习这些题目 → · 在 ExamRoll.io 上限时练习 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通过考试 →