註冊不含目標的維護時段任務 - AWS Systems Manager

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

註冊不含目標的維護時段任務

對於建立的每個維護時段,您可以指定執行維護時段時要執行的一或多個任務。在大多數情況下,您必須指定要在其中執行任務的資源或目標。但是,在某些情況下,您不需要在任務中明確指定目標。

必須為維護時段 Systems Manager Run Command 類型任務指定一或多個目標。視任務的性質而定,對於其他維護時段任務類型 (Systems Manager Automation、AWS Lambda 和 AWS Step Functions),目標是選用的。

對於 Lambda 和 Step Functions 任務類型,是否需要目標取決於您建立的函數或狀態機的內容。

在許多情況下,您不需要明確指定自動化任務的目標。例如,假設您正在建立 Automation 類型任務來使用 AWS-UpdateLinuxAmi Runbook 更新 Linux 的 Amazon Machine Image (AMI)。當任務執行時,AMI 已更新為可用的最新版本 Linux 發行版本套件和 Amazon 軟體。從 AMI 建立的新執行個體已經安裝這些更新。因為在 Runbook 的輸入參數中指定了要更新的 AMI ID,所以不需要在維護時段任務中再次指定目標。

同樣,假設您使用的是 AWS Command Line Interface (AWS CLI) 來註冊維護時段 Automation 任務,該任務使用 AWS-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 AWS CLI 命令更新該任務,以移除目標。