AWS Systems Manager
用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

以下演练说明如何使用 AWS Systems Manager 控制台创建 AWS Systems Manager 维护时段。本演练还介绍了如何将您的托管实例注册为目标,以及如何注册 Run Command 任务来更新 SSM 代理。

开始前的准备工作

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

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

创建维护时段(控制台)

  1. https://console.www.amazonaws.cn/systems-manager/ 上打开 AWS Systems Manager 控制台。

    -或者-

    打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

    注意

    如果您使用的是 Amazon EC2 控制台,则某些字段名称和位置可能稍有不同。

  2. 在导航窗格中,选择Maintenance Window

  3. 选择 Create maintenance window

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

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

  6. 如果要允许维护时段任务在托管实例上执行,那么即使没有将这些实例注册为目标,也应选择允许已注销目标。如果选择了此选项,您在将任务注册到维护时段时就可以选择已注销实例(按实例 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 CloudWatch Events 中都包含所有者信息。

    有关使用 CloudWatch Events 监控 Systems Manager 事件的信息,请参阅通过 Amazon CloudWatch Events 监控 Systems Manager 事件

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

    注意

    如果您没有看到想要设为目标的实例,请验证是否为 Systems Manager 配置了这些实例。有关更多信息,请参阅设置 AWS Systems Manager

  7. 选择注册目标

步骤 4:为维护时段注册 Run Command 任务以更新 SSM 代理(控制台)

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

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

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

  2. 选择 Actions (操作),然后选择 Register Run Command task (注册运行命令任务)

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

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

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

    注意

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

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

  7. 目标部分中,指定标签或手动选择实例以指定要在其中运行该操作的实例。

    注意

    如果选择手动选择实例,而列表中不包含您预期看到的实例,请参阅我的实例在哪里?中的故障排除提示。

  8. (可选)对于速率控制

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

      注意

      如果通过选择 Amazon EC2 标签选择了目标,但不确定有多少个实例使用所选标签,则可以通过指定百分比来限制可同时运行此文档的实例的数量。

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

  9. 对于 IAM service role (IAM 服务角色),选择以下选项之一为 Systems Manager 提供在目标实例上运行任务的权限:

    • Create and use a service-linked role for Systems Manager (为 Systems Manager 创建和使用服务相关角色)

      服务相关角色提供了一种将权限委托给 AWS 服务的安全方式,因为只有相关服务才能代入服务相关角色。此外,AWS 会自动定义和设置服务相关角色的权限,具体取决于该相关角色代表您所执行的操作。

      注意

      如果已为账户创建服务相关角色,请选择 Use the service-linked role for Systems Manager (将服务相关角色用于 Systems Manager)

    • 使用自定义服务角色

      如果要使用比由服务相关角色提供的权限更严格的权限,则可以为维护时段任务创建自定义服务角色。或者,如果要使用 Amazon Simple Notification Service (Amazon SNS) 发送与通过 Run Command 运行的维护时段任务相关的通知,也可以创建自定义服务角色。

      如果需要创建自定义服务角色,请参阅以下主题之一:

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

  10. Output options (输出选项) 部分,您可以选择性地启用对 Amazon S3 存储桶的写入命令输出。如果您选择启用此选项,则指定您希望命令输出写入的 Amazon S3 存储桶的名称和 S3 键前缀(可选)。

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

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

    2. 要使用的 Amazon SNS 主题。

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

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

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

  13. 选择 Register Run Command task (注册运行命令任务)