Amazon DOP-C02: Systems Manager、补丁管理和运维自动化 — 学习指南
属于 AWS DevOps Engineer Professional DOP-C02 — 学习指南. 使用经过验证的答案练习: Amazon 考试中心, 或参加限时模拟考试: ExamRoll.io.
概述
AWS 上的运维自动化以 AWS Systems Manager 为核心,它统一管理 EC2、本地服务器和边缘设备的访问控制、配置、补丁和修复。周边的服务提供了黄金镜像管道 (EC2 Image Builder)、许可证治理 (AWS License Manager)、持续优化 (AWS Trusted Advisor 和 AWS Compute Optimizer) 以及成本控制 (Savings Plans)。其目标是实现标准化的、可审计的、事件驱动的操作,并且这些操作可以跨账户和区域强制执行。
Systems Manager 访问、参数、清单和合规性
Systems Manager Session Manager 为托管实例提供交互式、可审计的 shell 访问,无需开放入站端口或管理 SSH 密钥。您通过 AWS 控制平面进行连接,也可以选择通过 VPC 接口端点实现私有连接。端口转发功能可以安全地访问实例后端的本地或远程服务:
- 本地端口转发会话将本地工作站的端口路由到目标实例上的一个端口(例如,将 localhost:8080 转发到 instance:8080)。
- 远程主机端口转发通过该实例将本地端口路由到可从该实例访问的另一个私有主机。
Session Manager 支持将会话脚本和 I/O 的审计日志集中记录到 Amazon S3 和 Amazon CloudWatch Logs,并提供可选的 KMS 加密。API 活动(
StartSession、TerminateSession)会被记录在 AWS CloudTrail 中。通过 Session Manager 首选项强制执行控制:要求加密、限制端口转发或剪贴板,以及同时记录到两个目的地。
Systems Manager Parameter Store 集中管理配置和密钥。对于应用程序密钥,请使用通过客户管理的 KMS 密钥加密的 SecureString 参数。将值组织成分层路径(例如,/prod/payments/db/password),以便于环境和应用程序范围界定、策略范围界定和批量操作。参数版本控制维护着不可变的历史记录;标签(例如 current)让您可以在不更改代码的情况下将应用程序指向一个移动的目标。CloudFormation、CodeBuild 和其他服务中的动态引用可在部署或运行时解析参数,从而防止密钥蔓延。标准层提供基本的吞吐量和最大 4 KB 的值大小;高级层支持参数策略(过期、轮换通知)、更大的值(8 KB)和更高的吞吐量。EventBridge 规则可以在参数更改时发送通知,而资源策略则可以在需要时实现跨账户参数共享。
Systems Manager Inventory 和 Compliance 提供机群级别的可见性。Inventory(通过 State Manager 关联启用)收集元数据,例如已安装的软件包、Windows 角色、网络适配器和自定义清单项。使用 Resource Data Sync 将数据导出到 S3 以便进行 Athena/Glue 分析,并在 Systems Manager Explorer 中呈现整个机群的状态。Compliance 汇总了补丁和关联状态:您可以看到哪些实例缺少补丁或配置基线失败。这为自动修复、审计和许可证发现创建了所需的运维数据基础。
Patch Manager 和运维编排
Patch Manager 使用补丁基线、补丁组和维护时窗来标准化操作系统和应用程序的补丁管理。
补丁基线定义了批准哪些补丁以及何时批准。对于每个操作系统系列,您可以从 AWS 提供的默认基线开始,或构建一个包含以下内容的自定义基线:
- 按产品/版本、分类(例如,Security、Bugfix)、严重性和架构的自动批准规则
- 批准延迟(例如,在安全补丁发布七天后自动批准)
- 显式允许列表和阻止列表
- 补丁源/存储库(例如,为内部软件添加自定义的 yum 或 apt 仓库)
将基线与补丁组关联。补丁组是一组通过具有特定值的
Patch Group标签(例如,Patch Group=linux-prod)标识的实例;这种关联确保了正确的基线能定位到正确的服务器。每个实例应只属于一个补丁组,以避免歧义。补丁操作使用AWS-RunPatchBaseline文档,通过Operation=Scan计算合规性,通过Operation=Install应用已批准的补丁。控制并发性、错误阈值和重启行为。使用InstallOverrideList来紧急固定特定的软件包。合规性结果会流入 Systems Manager Compliance,您可以在其中进行告警和修复。
维护时窗将中断性操作限制在安全的时间范围内。定义一个计划(rate/cron)、持续时间和截止时间,以防止新任务在时窗即将结束时启动。通过标签或资源组注册目标,然后按优先级注册任务。Patch Manager 是原生集成的:为您的补丁组和基线注册一个 AWS-RunPatchBaseline 任务。任务上的并发性和错误阈值设置可以防止故障期间的爆炸半径扩大。
Systems Manager Automation 将可重复、可审计的修复操作化。使用内置和自定义的 runbook 来编排补丁前后的活动(例如,从负载均衡器中排除、停止应用服务、打补丁、运行冒烟测试、重新注册),并通过 AWS Config 修复来强制执行控制。Automation 支持审批 (Change Manager)、变更日历(以防止在停机期间执行)以及通过 assume-role 实现的跨账户/区域执行。使用 Amazon EventBridge 规则将所有内容联系在一起,通过响应健康事件、配置漂移或告警来触发有针对性的 Automation 执行,以实现自愈。
使用 EC2 Image Builder 创建黄金镜像
不可变镜像可以减少配置漂移并缩短补丁窗口。EC2 Image Builder 使用管道、配方和分发设置,将 AMI 的创建和分发过程代码化。
- 镜像配方指定基础镜像(例如,最新的 Amazon Linux 2023)、组件(由 YAML 定义的构建/测试步骤,例如安装 SSM Agent、语言运行时和安全加固)以及语义化版本控制。组件可以在不同配方之间重用,以强制执行基线控制。
- 管道定义端到端的工作流:基础设施配置(VPC/子网/实例配置文件/安全组)、构建步骤、测试步骤和计划(例如,每周)。Image Builder 在构建时自动应用操作系统补丁,运行测试,并使未通过测试的构建失败。
- 分发设置用于复制和共享镜像:将 AMI 发布到选定的区域,为账户或 AWS Organizations OU 添加启动权限,强制执行 EBS 加密(使用 KMS 密钥),并为输出添加标签。Image Builder 可以将最新的 AMI ARN 发布到 Systems Manager Parameter Store 中(例如,/prod/images/web/latest),以便 Auto Scaling 组、CodePipeline 和 CloudFormation 能够使用当前受信任的镜像,而无需手动更新。
这种管道方法可与 Patch Manager 结合使用:频繁地为 AMI 打补丁以最小化实例的补丁增量,然后使用维护窗口为长期运行的服务器应用较小的增量补丁。
治理、许可和成本优化
AWS License Manager 用于管理自带许可 (BYOL) 和 Marketplace 权利。您可以定义许可配置来模拟供应商规则(如内核、插槽、vCPU、主机亲和性以及虚拟化限制),选择硬性或软性强制执行,并将配置与 AMI、启动模板或实例关联。License Manager 通过 Systems Manager Inventory 发现软件,以跟踪消耗并防止不合规的启动。对于使用 License Manager 权利的 Marketplace 产品,您可以跨账户共享授权,并使用委托管理员集中跟踪权利使用情况。
AWS Trusted Advisor 持续根据最佳实践评估您的环境。其类别包括成本优化、安全性、容错能力、服务限制、性能和卓越运营。拥有商业或企业级支持计划,您可以访问全套检查项和 AWS Support API,以编程方式刷新和检索结果。利用 EventBridge 集成,可将检查状态变更路由到修复工作流(例如,触发 Automation 运行手册以启用 S3 默认加密或移除存储桶的公共访问权限),并启用组织视图(Organizational View)以通过范围限定的 IAM 访问和向正确团队发送通知来跨账户聚合信息。
成本优化是一个持续且数据驱动的过程:
- 适当调整规模:结合 Cost Explorer 的规模优化建议与 AWS Compute Optimizer 的见解。Compute Optimizer 分析实例、Auto Scaling 组、EBS 卷、Lambda 函数和 ECS on Fargate 的指标,以推荐最佳配置,并提供预计的节省额和性能风险。它还可以标记那些应迁移到 gp3 并调整吞吐量/IOPS 的 gp2 卷。将建议与维护时段和 Automation 运行手册相结合,以执行安全的变更。
- Savings Plans:使用 Compute Savings Plans 广泛覆盖 EC2、Fargate 和 Lambda,或使用 EC2 Instance Savings Plans 在特定实例族/区域获得最高折扣。承诺每小时消费金额,为期一或三年,并提供多种付款选项(无预付/部分预付/全额预付),通过整合账单跨账户聚合,并使用历史按需支出来确定承诺规模。监控利用率和覆盖率,并随着工作负载的演变进行调整。对于 Savings Plans 未覆盖的服务(例如,RDS、OpenSearch、Redshift、DynamoDB),继续使用预留实例。
- 运营推动因素:使用 Systems Manager Automation 和 Change Manager 安排非生产环境的启停、强制执行实例计划,并在审批和护栏机制下,推出规模优化和 gp2→gp3 的转换。通过 Trusted Advisor 成本检查和预算/警报来加强。
实践问题场景
公司:Airbnb
挑战:Airbnb 运营着用于数据处理和 Web 服务的跨账户、跨区域的 EC2 工作负载。安全部门要求可审计、无 SSH 访问;合规部门要求及时从默认和自定义存储库进行安全补丁更新;平台团队必须标准化 AMI 并在不影响性能风险的情况下降低成本。软件供应商对某些分析节点强制实施基于内核的许可。运维部门希望实现事件驱动的修复以及跨账户的高管级可见性。
分步方法:
- 使用 Systems Manager Session Manager 强制执行安全访问
- 为 SSM/EC2Messages 配置 VPC 端点,并启用 Session Manager 日志记录到 CloudWatch Logs 和 S3,同时使用 KMS 加密。禁用 SSH 并要求使用 Session Manager 进行 shell 访问。启用端口转发,允许工程师在故障排查期间安全地访问内部服务。
- 为什么:消除入站攻击面,集中审计跟踪,并允许在没有 VPN 或堡垒机的情况下进行受控的端口转发。
- 使用 Inventory 和 Compliance 标准化配置和可见性
- 创建一个 State Manager 关联以在所有实例上启用 Inventory。配置 Resource Data Sync 到 S3 并使用 Athena 进行查询。启用 Compliance 以获取补丁和关联状态,并在 Systems Manager Explorer 中展示机群健康状况。
- 为什么:Inventory 能够提供准确的软件/补丁状况,并为下游的许可证发现和审计提供支持。
- 使用自定义存储库定义补丁基线和补丁组
- 为每个操作系统创建自定义 Patch Manager 基线,在七天后自动批准安全更新,并为内部代理添加自定义 yum/apt 仓库。为实例打上 Patch Group=linux-web、linux-data 和 windows-app 的标签。将基线与每个补丁组关联。
- 为什么:确保在不同工作负载中,通过分阶段审批,对默认和自定义软件包进行一致的补丁更新。
- 通过带有 Automation 前/后步骤的维护时段安排补丁更新
- 为每个补丁组,注册一个与非工作时间对齐的维护时段。注册一个高优先级的 Automation 任务,该任务将实例从目标组中排出,以受控的并发度和错误阈值运行 AWS-RunPatchBaseline (Install),如果需要则重启,运行冒烟测试,并重新注册到负载均衡器。
- 为什么:最大限度地减少对客户的影响,强制执行安全的编排,并产生可审计的执行历史记录。
- 使用 EC2 Image Builder 构建黄金镜像并发布到 Parameter Store
- 创建包含 SSM Agent、安全加固组件和应用程序先决条件的配方。流水线每周构建、运行测试,并将 AMI 发布到 us-east-1 和 eu-west-1,通过 Organizations 与选定账户共享。将最新的 AMI ARN 输出到 Parameter Store 中的 /prod/images/web/latest 和 /prod/images/data/latest。
- 为什么:减少实例上的配置漂移和补丁修复时间;开发人员和部署流水线通过参数拉取受信任的镜像,无需手动分发 ID。
- 使用 AWS License Manager 管理供应商许可证
- 为分析软件定义使用 vCPU 计数和硬性强制执行的许可配置。将它们与相应的 AMI 和启动模板关联。启用委托管理员,使用 Inventory 发现的数据来跨账户跟踪消耗情况。
- 为什么:防止不合规的启动,并向供应商和财务部门提供可证明的许可证使用情况。
- 实施事件驱动的修复和护栏机制
- 使用 AWS Config 托管规则(例如,必需的标签、S3 加密),并通过自动修复操作调用 Systems Manager Automation 运行手册。为 AWS Health 维护事件添加 EventBridge 规则,以通过运行手册触发安全重启。
- 为什么:无需人工操作即可完成从检测到纠正的闭环,使资源始终符合策略。
- 通过变更控制来管理,使用 Compute Optimizer 和 Savings Plans 优化成本
- 在所有账户中启用 Compute Optimizer;每周导出规模优化和 gp2→gp3 的建议。使用 Change Manager 审批和维护时段来应用实例族变更和 EBS 卷修改。在付款人账户中购买混合型 Compute Savings Plan,以覆盖各区域的稳态计算需求;监控利用率并每季度进行调整。使用 Session Manager Automation 在开发/测试环境中强制执行启停计划。
- 为什么:通过受控的发布进行数据驱动的优化,在节省成本的同时保护性能和可用性。
- 在组织层面使用 Trusted Advisor 进行监控
- 启用 Trusted Advisor 组织视图和 EventBridge 集成,以便在高风险发现(例如,服务限制、空闲资源、开放的安全组)时通知平台和安全团队。对于选定的检查,触发 Systems Manager Automation 运行手册进行修复或创建工单。
- 为什么:集中监督和自动化响应可保持卓越运营,并防止成本或风险失控。
这种集成设计在 Airbnb 的整个 AWS 环境中提供了安全访问、标准化补丁、不可变 AMI、许可证合规性、自动化修复和可衡量的成本优化,所有这些都带有可审计的控制措施。
练习这些题目 → · 在 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.
通过考试 →