注册不含目标的维护时段任务 - Amazon Systems Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

注册不含目标的维护时段任务

对于您创建的每个维护时段,您可以指定要在维护时段运行时执行的一个或多个任务。在大多数情况下,您必须指定要在其上运行任务的资源或目标。但是,在某些情况下,无需在任务中明确指定目标。

必须为维护时段 Systems Manager Run Command 类型任务指定一个或多个目标。根据任务的性质,目标对于其他维护时段任务类型(Systems Manager 自动化、Amazon Lambda 和 Amazon Step Functions)是可选的。

对于 Lambda 和 Step Functions 任务类型,是否需要目标取决于您创建的函数或状态机的内容。

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

同样,假设您正在使用 Amazon Command Line Interface (Amazon CLI) 注册使用文档 Amazon-RestartEC2Instance 的维护时段 自动化 任务。由于要重启的节点是在 --task-invocation-parameters 参数中指定,您也无需指定 --targets 选项。

注意

对于没有指定目标的维护时段任务,您无法为 --max-errors--max-concurrency 提供值。相反,系统会插入 1 的一个占位符值,它可能会在对命令(例如 describe-maintenance-window-tasksget-maintenance-window-task)的响应中报告。这些值不会影响任务的运行,并且可以忽略。

以下示例演示了为无目标维护时段任务省略 --targets--max-errors--max-concurrency 选项的情形。

Linux & macOS
aws ssm register-task-with-maintenance-window \ --window-id "mw-ab12cd34eEXAMPLE" \ --service-role-arn "arn:aws:iam::123456789012:role/MaintenanceWindowAndAutomationRole" \ --task-type "AUTOMATION" \ --name "RestartInstanceWithoutTarget" \ --task-arn "AWS-RestartEC2Instance" \ --task-invocation-parameters "{\"Automation\":{\"Parameters\":{\"InstanceId\":[\"i-02573cafcfEXAMPLE\"]}}}" \ --priority 10
Windows
aws ssm register-task-with-maintenance-window ^ --window-id "mw-ab12cd34eEXAMPLE" ^ --service-role-arn "arn:aws:iam::123456789012:role/MaintenanceWindowAndAutomationRole" ^ --task-type "AUTOMATION" ^ --name "RestartInstanceWithoutTarget" ^ --task-arn "AWS-RestartEC2Instance" ^ --task-invocation-parameters "{\"Automation\":{\"Parameters\":{\"InstanceId\":[\"i-02573cafcfEXAMPLE\"]}}}" ^ --priority 10
注意

对于 2020 年 12 月 23 日之前注册的维护时段任务:如果您为任务指定了多个目标,但不再需要一个目标,则可以更新该任务,以使用 Systems Manager 控制台或 update-maintenance-window-task Amazon CLI 命令删除目标。