如何在註冊 Systems Manager 維護時段的 Automation 任務時新增參數?

1 分的閱讀內容
0

我想為鎖定多個 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體的 AWS Systems Manager 維護時段註冊 Automation 文件任務。我該如何操作?

簡短描述

註冊維護時段 Automation 任務時,您必須提供在任務執行時傳遞給任務的輸入參數值。必要的輸入參數與 Automation 文件內容定義的參數相同。您可以在必要的輸入參數欄位使用虛擬參數值,以便動態參照維護時段鎖定的資源 ID。虛擬參數 (如 {{RESOURCE_ID}}) 可讓您鎖定多個資源,而無需個別輸入每個資源 ID。

例如,Amazon 提供的 AWS-StopEC2Instance 文件會要求您輸入執行個體 ID 做為參數。如果您想要維護時段鎖定多個執行個體,或您不知道執行個體 ID,則可以使用虛擬參數。

注意: 對於目標類型執行個體,{{TARGET_ID}} 和 {{RESOURCE_ID}} 虛擬參數都只會產生執行個體 ID。然而,就 RESOURCE_GROUP 而言,{{TARGET_ID}} 和 {{RESOURCE_ID}} 會傳回不同的格式的 ID。如需詳細資訊和可用的虛擬參數清單,請參閱關於虛擬參數

您可以使用 Systems Manager 主控台或 AWS Command Line Interface (AWS CLI) 虛擬參數來註冊維護時段 Automation 任務。

解決方法

使用主控台

若要使用動態虛擬參數註冊維護時段 Automation 任務,請依照下列步驟執行:

  1. 開啟 Systems Manager 主控台,然後從導覽窗格選擇維護時段
  2. 選取您的維護時段,然後選擇檢視詳細資訊
  3. 任務標籤依序選擇註冊任務註冊 Automation 任務
  4. 針對 Automation 文件,選取您要執行任務的文件。
  5. 指定您的目標速率控制IAM 服務角色
  6. 對於輸入參數,請為需要資源 ID 的參數輸入虛擬參數值 (例如 {{TARGET_ID}}{{RESOURCE_ID}})。
  7. 選擇註冊 Automation 任務

使用 AWS CLI

注意: 如果您在執行 AWS CLI 命令時收到錯誤訊息,請確定您使用的是最新版本的 AWS CLI

以下範例使用 AWS CLI 註冊包括 {{RESOURCE_ID}} 參數的Automation 任務:

aws ssm register-task-with-maintenance-window --window-id mw-1234567890EXAMPLE --targets Key=WindowTargetIds,Values=6c226ea3-463a-4533-8a2d-EXAMPLE --task-arn AWS-StopEC2Instance --task-type AUTOMATION --name MyMaintenanceWindowTask --max-concurrency 10 --max-errors 5 --task-invocation-parameters={\"Automation\":{\"Parameters\":{\"InstanceId\":[\"{{RESOURCE_ID}}\"]}}} --service-role-arn YOUR_SERVICE_ROLE_ARN

維護時段任務執行時,每個目標的對應資源 ID 會傳遞至系統。在上述範例,InstanceId 參數會針對目標群組的每個目標接收對應的執行個體 ID。


相關資訊

支援的虛擬參數

關於 register-task-with-maintenance-windows 選項

AWS 官方
AWS 官方已更新 3 年前