演练:创建维护时段来更新 SSM 代理(控制台) - Amazon Web Services Systems Manager
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

演练:创建维护时段来更新 SSM 代理(控制台)

以下演练说明如何使用Amazon Web Services Systems Manager控制台创建维护时段。本演练还介绍了如何将您的托管实例注册为目标,以及如何注册 Systems Manager 运行命令任务来更新 SSM Agent。

开始前的准备工作

您必须具有要配置的实例的管理员权限或必须已获得 AWS Identity and Access Management (IAM) 中的适当权限,才能完成以下过程。此外,请确认您至少有一个适用于 Linux 或的 Amazon 弹性计算云 (Amazon EC2) 实例(Linux 或)正在运行。Windows Server配置为 Systems Manager。有关更多信息,请参阅 Systems Manager 的先决条件

第 1 步:创建维护时段(控制台)

创建维护时段(控制台)

  1. 打开Amazon Web Services Systems Manager控制台位于https://console.aws.amazon.com/systems-manager/

  2. 在导航窗格中,选择维护时段

  3. 选择 Create maintenance window

  4. 对于名称,输入描述性名称,以帮助您将此维护时段标识为测试维护时段。

  5. 对于 Description (说明),输入说明。

  6. 如果要允许维护时段任务在托管实例上执行,那么即使没有将这些实例注册为目标,也应选择 Allow unregistered targets (允许已注销目标)。如果选择了此选项,您在将任务注册到维护时段时就可以选择已注销实例(按实例 ID)。

    如果未选择此选项,您在将任务注册到维护时段时就必须选择之前注册的目标。

  7. 使用三个计划选项之一为维护时段指定计划。

    有关构建 cron/rate 表达式的信息,请参阅参考:适用于 Systems Manager 的 Cron 和 Rate 表达式

  8. 对于持续时间,输入维护时段应该运行的小时数。

  9. 停止启动任务中,输入系统应该在维护时段结束前几小时停止计划要运行的新任务。

  10. (可选)对于开始日期 (可选),以 ISO-8601 扩展格式指定您希望维护时段变为活动状态的日期和时间。这让您可以将维护时段的激活时间推迟到指定的将来日期。

  11. (可选)对于结束日期 (可选),以 ISO-8601 扩展格式指定您希望维护时段变为不活动状态的日期和时间。这样可以设置在某个未来的日期和时间后不再运行维护时段。

  12. (可选)对于时区 (可选),以互联网编号分配机构 (IANA) 格式指定计划的维护时段执行所基于的时区。例如:“America/Los_Angeles”、“etc/UTC” 或 “Asia/Seoul”。

    有关有效格式的更多信息,请参阅 IANA 网站上的 Time Zone Database

  13. 选择 Create maintenance window。系统将返回维护时段页面。您刚创建的维护时段处于已启用状态。

第 2 步:注册维护时段目标(控制台)

使用以下过程向您在步骤 1 中创建的维护时段注册目标。通过注册目标,您将指定要更新的实例。

为维护时段分配目标(控制台)

  1. 在维护时段列表中,选择您刚刚创建的维护时段。

  2. 选择 Actions,然后选择 Register targets

  3. 对于 Target Name (目标名称),输入目标的名称。

  4. 对于 Description (说明),输入说明。

  5. (可选)对于 Owner information (所有者信息),指定您的名称或工作别名。在此维护时段内,对这些目标运行任务时引发的任何 Amazon EventBridge 事件中都包含所有者信息。

    有关使用 EventBridge 监视 Systems Manager 事件的信息,请参阅使用亚马逊 EventBridge 监控 Systems Manager 事件

  6. 选择目标方式部分,选择。指定标签标签将其设为目标实例,方法是使用之前分配给实例的 Amazon EC2 标签。选择 Manually Selecting Instances (手动选择实例) 来根据各个实例的实例 ID 选择这些实例。

    注意

    如果未列出您希望看到的 Amazon EC2 实例,请参阅Amazon EC2 托管实例可用性疑难解答以获取故障排除提示。

  7. 选择注册目标

第 3 步:为维护时段注册 Run Command 任务以更新 SSM Agent(控制台)

使用以下过程为您在步骤 1 中创建的维护时段注册 Run Command 任务。运行命令任务更新已注册目标上的 SSM 代理。

为维护时段分配任务(控制台)

  1. 在维护时段列表中,选择您刚刚创建的维护时段。

  2. 选择操作,然后选择。选择注册 Run command 任务。

  3. 对于 Name (名称),输入任务的名称,如 UpdateSSMAgent。

  4. 对于 Description (说明),输入说明。

  5. 对于 Document (文档),选择 SSM Command 文档 AWS-UpdateSSMAgent

    注意

    如果您在前面的步骤中注册的目标是 Windows Server 2012 R2 或更早版本,则必须使用 AWS-UpdateEC2Config 文档。

  6. 对于 Task priority (任务优先级),指定此任务的优先级。零 (0) 是最高优先级。维护时段中的任务按优先级顺序计划,具有相同优先级的任务则并行计划。

  7. 目标部分,通过指定标签、手动选择实例或指定资源组来标识您要在其中运行此操作的实例。

    注意

    如果未列出您希望看到的 Amazon EC2 实例,请参阅Amazon EC2 托管实例可用性疑难解答以获取故障排除提示。

  8. 适用于速率控制

    • 对于并发,请指定要同时运行该命令的实例数或百分比。

      注意

      如果您通过指定应用于托管实例的标签或指定Amazon资源组,但不确定目标实例的数量,则可以通过指定百分比来限制可同时运行此文档的实例的数量。

    • 对于错误阈值,请指定在一定数量或百分比的实例上失败后何时在其他实例上停止运行该命令。例如,如果您指定三个错误,Systems Manager 将在收到第四个错误时停止发送该命令。仍在处理命令的实例也可能发送错误。

  9. 适用于IAM 服务角色中,选择以下选项之一为提供在您的目标实例上运行任务的权限:

    要帮助您决定是使用自定义服务角色还是 Systems Manager 服务相关角色来运行维护时段任务,请参阅我应该使用服务相关角色还是自定义服务角色来运行维护时段任务?

  10. (可选)对于 Output options (输出选项),要将命令输出保存到文件,请选中 Enable writing to S3 (允许写入 S3) 框。在框中输入存储桶和前缀(文件夹)名称。

    注意

    授予将数据写入 S3 存储桶的能力的 S3 权限是分配给实例的实例配置文件的权限,而不是执行此任务的 IAM 用户的权限。有关更多信息,请参阅 。为 Systems Manager 创建 IAM 实例配置文件。此外,如果指定的 S3 存储桶位于不同的Amazon Web Services 账户,请确保与该实例关联的实例配置文件具有写入该存储桶的必要权限。

    要将输出流式传输到 Amazon CloudWatch Logs 组,请选择CloudWatch 输出。在该框中键入日志组名称。

  11. SNS 通知部分,您可以选择性地启用 Systems Manager 使用 Amazon Simple Notification Service (Amazon SNS) 发送有关命令状态的通知。如果您选择启用此选项,您需要指定以下各项:

    1. 用于触发 Amazon SNS 通知的 IAM 角色。

    2. 要使用的 Amazon SNS 主题。

    3. 您希望接收通知的特定事件类型。

    4. 您希望在命令状态发生更改时接收的通知类型。对于发送到多个实例的命令,选择 Invocation (调用) 来在每个调用的状态发生更改时按调用(每个实例)接收通知。

  12. 输入参数部分,您可以选择性地提供 SSM Agent 的特定版本来安装,或者您可以允许 SSM Agent 服务降级到早期版本。但是,在本演练中,我们不提供版本。因此,SSM 代理将更新到最新版本。

  13. 选择选择注册 Run command 任务。