为维护时段分配任务(控制台) - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

在此过程中,您向维护时段添加任务。任务是在维护时段运行时执行的操作。

以下四种类型的任务可以添加到维护时段:

  • Amazon Systems Manager Run Command 命令

  • Systems Manager 自动化 工作流

  • Amazon Lambda 函数

    重要

    Maintenance Windows 的 IAM policy 要求您将前缀 SSM 添加到 Lambda 函数(或别名)名称。继续注册此类型的任务之前,请在 Amazon Lambda 中更新其名称,以包含 SSM。例如,如果您的 Lambda 函数名称为 MyLambdaFunction,请将其更改为 SSMMyLambdaFunction

  • Amazon Step Functions 任务

为维护时段分配任务

  1. 访问 https://console.aws.amazon.com/systems-manager/,打开 Amazon Systems Manager 控制台。

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

  3. 在维护时段列表中,选择一个维护时段。

  4. 选择 Actions (操作),然后选择您要注册到维护时段的任务的类型对应的选项。

    • 选择注册 Run command 任务

    • 选择注册 自动化 任务

    • 注册 Lambda 任务

    • 注册 Step Functions 任务

  5. (可选)对于 Name (名称),请输入任务的名称。

  6. (可选)对于 Description (描述),输入描述。

  7. 对于 New task invocation cutoff(新任务调用截止),如果您不希望在到达维护时段截止时间后开始任何新任务调用,请选择 Enabled(已启用)。

    如果启用此选项,任务会在到达截止时间后继续运行,并会开始新的任务调用直至完成。

    注意

    启用此选项后,未完成任务的状态为 TIMED_OUT

  8. 请执行下列操作之一:

    • 对于 Run Command 任务:在 Command document(命令文档)列表中,请选择定义要运行的任务的 Systems Manager 命令文档(SSM 文档)。对于 Document Version (文档版本),选择要使用的文档版本。

    • 对于自动化任务:在 Automation document(自动化文档)列表中,请选择定义要运行的任务的 Automation 运行手册。对于文档版本,选择要使用的运行手册版本。

    • 对于 Lambda 任务:在 Lambda parameters(Lambda 参数)区域中,请从列表中选择 Lambda 函数。(可选)提供您想要包括的 Payload(有效负载)、Client Context(客户端上下文)或 Qualifier(限定词)的任何内容。

    • 对于 Step Functions 任务:在 Step Functions parameters(Step Functions 参数)区域中,请从列表中选择状态机。(可选)提供状态机执行的名称以及您想要包括的 Input(输入)的任何内容。

  9. (可选)对于 Run Command 和自动化任务,选择一个 CloudWatch 警报以应用于您的任务进行监控。要将 CloudWatch 警报附加到任务,运行任务的 IAM 主体必须具有 iam:createServiceLinkedRole 操作的权限。有关 CloudWatch 警报的更多信息,请参阅使用 Amazon CloudWatch 警报。请注意,如果您的警报激活,任务将停止。

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

  11. Targets (目标) 区域中,选择以下选项之一:

    • Selecting registered target groups (选择已注册的目标群):选择已注册到当前维护时段的一个或多个维护时段目标。

    • Selecting unregistered targets (选择未注册的目标):逐个选择可用资源作为任务的目标。

      如果未列出您希望看到的托管式节点,请参阅 排除托管式节点可用性的问题 以获取故障排除技巧。

    • Task target not required (不需要任务目标):可能已在其他函数中为除 Run Command 类型以外的所有其他任务指定了任务的目标。

      为维护时段 Run Command 类型任务指定一个或多个目标。根据任务的不同,目标对于其他维护时段任务类型(自动化、Amazon Lambda 和 Amazon Step Functions)是可选的。有关运行未指定目标的任务的更多信息,请参阅 注册不含目标的维护时段任务

      注意

      在许多情况下,您无需为自动化任务明确指定目标。例如,假设您要创建 自动化 类型的任务,以使用 AWS-UpdateLinuxAmi 运行手册为 Linux 更新 Amazon Machine Image (AMI)。在该任务运行时,已使用最新可用的 Linux 分发版本的程序包和 Amazon 软件更新了 AMI。从 AMI 创建的新实例已经安装了这些更新。由于要更新的 AMI 的 ID 是在运行手册的输入参数中指定的,因此无需在维护时段任务中再次指定目标。

  12. 仅限自动化任务:

    Input parameters(输入参数)区域中,为运行任务所需的任何必需或可选的参数提供值。

  13. 对于 Rate control (速率控制)

    • 对于 Concurrency(并发),请指定要同时运行该命令的托管式节点的数量或百分比。

      注意

      如果您通过指定应用于托管式节点的标签或指定 Amazon Resource Groups 来选择目标,但不确定有多少个托管式节点已被设为目标,则可通过指定百分比来限制可同时运行该文档的目标的数量。

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

  14. IAM service role(IAM 服务角色)区域中,选择一个角色以向 Systems Manager 提供在您的目标节点上运行任务的权限。

    如果您需要为维护时段任务创建自定义服务角色,请参阅使用控制台配置维护时段权限

  15. 仅限 Run Command 任务:

    (可选)对于 Output options(输出选项),请执行以下操作:

    • 选中 Enable writing to S3 (启用写入到 S3) 复选框,将命令输出保存到文件。在输入框中输入存储桶和前缀(文件夹)名称。

      注意

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

    • 选中 CloudWatch output (CloudWatch 输出) 复选框,将完整的输出写入到 Amazon CloudWatch Logs。输入 CloudWatch Logs 日志组的名称。

  16. 仅限 Run Command 任务:

    SNS 通知部分,如果需要发送有关命令执行状态的通知,请选中 Enable SNS notifications (启用 SNS 通知)复选框。

    有关为 Run Command 配置 Amazon SNS 通知的更多信息,请参阅 使用 Amazon SNS 通知监控 Systems Manager 状态更改

  17. 仅限 Run Command 任务:

    Parameters (参数) 部分中,为文档指定参数。

  18. 选择 Register task