

• AWS Systems Manager CloudWatch 控制面板在 2026 年 4 月 30 日之后将不再可用。客户可以像现在一样继续使用 Amazon CloudWatch 控制台来查看、创建和管理其 Amazon CloudWatch 控制面板。有关更多信息，请参阅 [Amazon CloudWatch 控制面板文档](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html)。

# 使用控制台为维护时段分配任务
<a name="sysman-maintenance-assign-tasks"></a>

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

以下四种类型的任务可以添加到维护时段：
+ AWS Systems Manager Run Command 命令
+ Systems Manager 自动化 工作流
+ AWS Step Functions 任务
+ AWS Lambda 函数
**重要**  
Maintenance Windows 的 IAM policy 要求您将前缀 `SSM` 添加到 Lambda 函数（或别名）名称。继续注册此类型的任务之前，请在 AWS Lambda 中更新其名称，以包含 `SSM`。例如，如果您的 Lambda 函数名称为 `MyLambdaFunction`，请将其更改为 `SSMMyLambdaFunction`。

**为维护时段分配任务**

1. 访问 [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/)，打开 AWS Systems Manager 控制台。

1. 在导航窗格中，选择 **Maintenance Windows**。

1. 在维护时段列表中，选择一个维护时段。

1. 选择 **Actions (操作)**，然后选择您要注册到维护时段的任务的类型对应的选项。
   + 选择**注册 Run command 任务**。
   + **选择注册 自动化 任务**
   + **注册 Lambda 任务**
   + **注册 Step Functions 任务**
**注意**  
维护时段任务仅支持 Step Functions 标准状态机工作流。它们不支持快速状态机工作流。有关状态机工作流类型的信息，请参阅《AWS Step Functions 开发人员指南》**中的[标准与快速工作流](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html)。

1. （可选）对于 **Name (名称)**，请输入任务的名称。

1. （可选）对于**描述**，输入描述。

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

   如果*未*启用此选项，任务会在到达截止时间后继续运行，并会开始新的任务调用直至完成。
**注意**  
启用此选项后，未完成任务的状态为 `TIMED_OUT`。

1. 在此步骤中，请为所选任务类型选择选项卡。

------
#### [ Run Command ]

   1. 在**命令文档**列表中，选择定义待运行任务的 Systems Manager 命令文档（SSM 文档）。

   1. 对于 **Document Version (文档版本)**，选择要使用的文档版本。

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

------
#### [ Automation ]

   1.  在**自动化文档**列表中，选择定义待运行任务的 Automation 运行手册。

   1. 对于**文档版本**，选择要使用的运行手册版本。

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

------
#### [ Lambda ]

   1. 在 **Lambda 参数**区域中，从列表中选择 Lambda 函数。

   1. （可选）提供您想要包括的 **Payload**（有效负载）、**Client Context**（客户端上下文）或 **Qualifier**（限定词）的任何内容。
**注意**  
在某些情况下，您可以使用*伪参数*作为 `Payload` 值的一部分。待维护时段任务运行时，该函数会传递正确的值而不是伪参数占位符。有关信息，请参阅[注册维护时段任务时使用伪参数](maintenance-window-tasks-pseudo-parameters.md)。

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

------
#### [ Step Functions ]

   1. 在 **Step Functions 参数**区域中，从列表中选择状态机。

   1. （可选）提供状态机执行的名称以及您想要包括的 **Input**（输入）的任何内容。
**注意**  
在某些情况下，您可以使用*伪参数*作为 `Input` 值的一部分。待维护时段任务运行时，该函数会传递正确的值而不是伪参数占位符。有关信息，请参阅[注册维护时段任务时使用伪参数](maintenance-window-tasks-pseudo-parameters.md)。

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

------

1. 在 **Targets (目标)** 区域中，选择以下选项之一：
   + **Selecting registered target groups (选择已注册的目标群)**：选择已注册到当前维护时段的一个或多个维护时段目标。
   + **Selecting unregistered targets (选择未注册的目标)**：逐个选择可用资源作为任务的目标。

     如果未列出您希望看到的托管式节点，请参阅 [排除托管式节点可用性的问题](fleet-manager-troubleshooting-managed-nodes.md) 以获取故障排除技巧。
   + **Task target not required (不需要任务目标)**：可能已在其他函数中为除 Run Command 类型以外的所有其他任务指定了任务的目标。

     为维护时段 Run Command 类型任务指定一个或多个目标。根据任务的不同，目标对于其他维护时段任务类型（自动化、AWS Lambda 和 AWS Step Functions）是可选的。有关运行未指定目标的任务的更多信息，请参阅 [注册不含目标的维护时段任务](maintenance-windows-targetless-tasks.md)。
**注意**  
在许多情况下，您无需为自动化任务明确指定目标。例如，假设您要创建 自动化 类型的任务，以使用 `AWS-UpdateLinuxAmi` 运行手册为 Linux 更新 Amazon Machine Image (AMI)。在该任务运行时，已使用最新可用的 Linux 分发版本的程序包和 Amazon 软件更新了 AMI。从 AMI 创建的新实例已经安装了这些更新。由于要更新的 AMI 的 ID 是在运行手册的输入参数中指定的，因此无需在维护时段任务中再次指定目标。

1. *仅限 Automation 任务：*

   在 **Input parameters**（输入参数）区域中，为运行任务所需的任何必需或可选的参数提供值。
**注意**  
在某些情况下，您可以为某些输入参数值使用*伪参数*。待维护时段任务运行时，该函数会传递正确的值而不是伪参数占位符。有关信息，请参阅[注册维护时段任务时使用伪参数](maintenance-window-tasks-pseudo-parameters.md)。

1. 对于 **Rate control（速率控制）**：
   + 对于 **Concurrency**（并发），请指定要同时运行该命令的托管式节点的数量或百分比。
**注意**  
如果您通过指定应用于托管式节点的标签或指定 AWS Resource Groups 来选择目标，但不确定有多少个托管式节点已被设为目标，则可通过指定百分比来限制可同时运行该文档的目标的数量。
   + 对于 **Error threshold**（错误阈值），请指定当命令在一定数量或百分比的节点上失败后，何时在其他托管式节点上停止运行该命令。例如，如果您指定三个错误，Systems Manager 将在收到第四个错误时停止发送该命令。仍在处理该命令的托管式节点也可能发送错误。

1. （可选）对于 **IAM 服务角色**，选择一个角色以向 Systems Manager 提供运行维护时段任务时所承担的权限。

   如果您未指定服务角色 ARN，Systems Manager 将使用您账户中的服务相关角色。下拉菜单中未列出此角色。如果您的账户中没有适用于 Systems Manager 的适当服务相关角色，则将在成功注册任务后创建该角色。
**注意**  
为了改善安全状况，强烈建议您创建自定义策略和自定义服务角色来运行维护时段任务。可以精心设计该策略，只提供特定维护时段任务所需的权限。有关更多信息，请参阅 [设置 Maintenance Windows](setting-up-maintenance-windows.md)。

1. *仅限 Run Command 任务：*

   （可选）对于 **Output options**（输出选项），请执行以下操作：
   + 选中 **Enable writing to S3 (启用写入到 S3)** 复选框，将命令输出保存到文件。在输入框中输入存储桶和前缀（文件夹）名称。
   + 选中 **CloudWatch output (CloudWatch 输出)** 复选框，将完整的输出写入到 Amazon CloudWatch Logs。输入 CloudWatch Logs 日志组的名称。
**注意**  
授予将数据写入 S3 存储桶或 CloudWatch Logs 的能力的权限，是分配给节点的实例配置文件的权限，而不是执行此任务的 IAM 用户的权限。有关更多信息，请参阅[配置 Systems Manager 所需的实例权限](setup-instance-permissions.md)。此外，如果指定的 S3 存储桶或日志组位于不同的 AWS 账户 中，请确认与该节点关联的实例配置文件具有写入该存储桶的所需权限。

1. *仅限 Run Command 任务：*

   在 **SNS 通知**部分，如果需要发送有关命令执行状态的通知，请选中 **Enable SNS notifications（启用 SNS 通知）**复选框。

   有关为 Run Command 配置 Amazon SNS 通知的更多信息，请参阅 [使用 Amazon SNS 通知监控 Systems Manager 状态更改](monitoring-sns-notifications.md)。

1. *仅限 Run Command 任务：*

   在 **Parameters (参数)** 部分中，为文档指定参数。
**注意**  
在某些情况下，您可以为某些输入参数值使用*伪参数*。待维护时段任务运行时，该函数会传递正确的值而不是伪参数占位符。有关信息，请参阅[注册维护时段任务时使用伪参数](maintenance-window-tasks-pseudo-parameters.md)。

1. *仅限 Run Command 和 Automation 任务：*

   （可选）在 **CloudWatch 警报**区域中，为**警报名称**选择现有的 CloudWatch 警报来应用到任务，以便进行监控。

   如果警报激活，任务将停止。
**注意**  
要将 CloudWatch 警报附加到任务，运行任务的 IAM 主体必须具有 `iam:createServiceLinkedRole` 操作的权限。有关 CloudWatch 警报的更多信息，请参阅[使用 Amazon CloudWatch 警报](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)。

1. 根据您的任务类型，选择以下选项之一：
   + 选择**注册 Run command 任务**。
   + **选择注册 自动化 任务**
   + **注册 Lambda 任务**
   + **注册 Step Functions 任务**