在 State Manager 和 Maintenance Windows 之间选择 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

在 State Manager 和 Maintenance Windows 之间选择

State Manager 和 Maintenance Windows 都是 Amazon Systems Manager 的功能,可对托管式节点执行一些相似类型的更新。您选择哪一项取决于您是需要自动执行系统合规性,还是在指定的时间段内执行高优先级、时效性强的任务。

State Manager 和 Maintenance Windows:关键使用案例

Amazon Systems Manager 的功能 State Manager 可为 Amazon Web Services 账户 中的托管式节点和 Amazon 资源设置所需的状态配置,并加以保持。您可以将配置和目标的组合定义为关联对象。如果您希望使账户中的所有托管式节点保持一致状态,使用 Amazon EC2 Auto Scaling 生成新节点,或者对账户中的托管式节点具有严格的合规性报告要求,则建议使用 State Manager 功能。

State Manager 的主要使用案例如下:

  • Auto Scaling 方案:State Manager 可以手动或通过 Auto Scaling 组监控账户内启动的所有新节点。如果账户中存在以该新节点为目标(通过标签或所有节点设为目标)的任何关联,则该特定关联将自动应用于该新节点。

  • 合规性报告:State Manager 可为账户中的资源推动所需状态的合规性报告。

  • 支持所有节点:State Manager 可将给定账户内的所有节点设为目标。

维护时段可在给定时段内对 Amazon 资源执行一项或多项操作。您可以定义具有开始时间和结束时间的单个维护时段。您可以指定多个任务在此维护时段内运行。如果您的高优先级操作包括修补托管式节点、在更新期间对节点运行多种类型的任务,或者控制何时可在节点上运行更新操作,则使用 Amazon Systems Manager 的功能 Maintenance Windows。

Maintenance Windows 的主要使用案例如下:

  • 运行多个文档:维护时段可以运行多个任务。每个任务均可使用不同的文档类型。因此,您可以在一个维护时段内使用不同的任务构建复杂的工作流。

  • 修补:维护时段可为用特定标签或资源组标记的账户内的所有托管式节点提供修补支持。由于修补通常涉及关闭节点(例如,从负载均衡器中删除节点)、修补和后期处理(将节点重新投入生产),因此可在给定补丁时段内以一系列任务的形式实现修补。

  • 时段操作:维护时段可使一组或多组操作在特定时段内开始。维护时段不会在该时段之外开始。已开始的操作将一直持续到完成,即便其完成时间超出该时段。

下表对 State Manager 和 Maintenance Windows 的主要功能进行了比较。

功能 State Manager Maintenance Windows

Amazon CloudFormation 集成

Amazon CloudFormation 模板支持 State Manager 关联。

Amazon CloudFormation 模板支持维护时段、时段目标和时段任务。

Compliance

每个 State Manager 关联都会报告与目标资源的所需状态相关的合规性。您可以使用 Compliance Dashboard (合规性控制面板) 聚合和查看报告的合规性。

不适用。

配置管理集成

State Manager 支持外部所需状态解决方案,如 Microsoft PowerShell Desired State Configuration (DSC)、Ansible Playbook 和 Chef Recipe。您可以使用 State Manager 关联来测试配置管理解决方案是否有效,并在准备就绪时将其配置更改应用于您的节点。

不适用。

文档

对于 Amazon 资源,例如 Amazon Simple Storage Service (Amazon S3) 存储桶,State Manager 配置可定义为策略文档(用于收集库存信息)、自动化运行手册;而对于托管式节点,则可定义为 Systems Manager 命令文档(SSM 文档)。

Maintenance Windows 配置可定义为自动化文档(带有可选批准工作流的多步操作)或 SSM 文档(托管式节点的所需状态)。

监控

State Manager 可以监控节点的配置、关联或状态的更改(例如,新节点联机)。当 State Manager 检测到这些更改时,给定关联将重新应用于最初通过该关联设为目标的节点。

不适用。

任务中的优先级

不适用。

可以为维护时段内的任务分配优先级。优先级相同的所有任务都将并行运行。优先级较低的任务将在优先级较高的任务达到最终状态后运行。无法有条件地运行任务。优先级较高的任务达到其最终状态后,下一优先级的任务开始运行,而不考虑上一个任务的状态。

安全控制

在大型机群中部署配置时,State Manager 支持两种安全控制。您可以使用最大并发数来定义应用的配置应该包含的并发节点或资源的数量。您可以定义一个最大错误率,如果在整个机群中发生一定数量或百分比的错误,该错误率可用于暂停 State Manager 关联。

在大型机群中部署配置时,维护时段支持两种安全控制。您可以使用最大并发数来定义应用的配置应该包含的并发节点或资源的数量。您可以定义一个最大错误率,如果在整个机群中发生一定数量或百分比的错误,该错误率可用于暂停维护时段中的操作。

计划编制

您可以按需、以特定 Cron 间隔、以给定速率或在创建后立即运行 State Manager 关联。如果您希望以一致和及时的方式保持资源的所需状态,这将非常有用。

维护时段支持多种计划编制选项,包括 at 表达式(例如 "at(2021-07-07T13:15:30)")、Cron 和速率表达式、带偏移的 Cron、指定维护时段何时应该运行的开始时间和结束时间,以及指定何时在给定时段内停止计划编制的截止时间。

设置目标

State Manager 关联可以使用节点 ID、标签或资源组将一个或多个节点设为目标。State Manager 可将给定账户内的所有托管式节点设为目标。

维护时段可以使用节点 ID、标签或资源组将一个或多个节点设为目标。

维护时段内的任务

不适用。

维护时段可以支持一个或多个任务,其中每个任务都将特定的 自动化运行手册或 Command 文档操设为目标。除非为不同任务设置了不同的优先级,否则一个维护时段内的所有任务都将并行运行。

总的来说,维护时段支持四种类型的任务:

  • Amazon Systems Manager Run Command 命令

  • Amazon Systems Manager 自动化工作流

  • Amazon Lambda 函数

  • Amazon Step Functions 任务