跳至內容

如何在註冊 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 時,可使用虛擬參數。

注意:INSTANCE 目標類型而言,{{TARGET_ID}}{{RESOURCE_ID}} 虛擬參數都僅會提供執行個體 ID。然而,就 RESOURCE_GROUP 目標類型而言,{{TARGET_ID}}{{RESOURCE_ID}} 會傳回不同格式的 ID。如需詳細資訊和可用虛擬參數清單,請參閱註冊維護時段任務時使用虛擬參數

解決方法

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

使用 Systems Manager 主控台

請完成下列步驟:

  1. 開啟 Systems Manager console (系統管理員主控台)。
  2. 在導覽窗格中,選擇 Maintenance Windows (維護時段),然後選取您的維護時段。
  3. Tasks (任務) 頁面上,選擇 Register tasks (註冊任務),然後選擇 Register Automation task (註冊 Automation 任務)。
  4. Register Automation task (註冊 Automation 任務) 頁面上,輸入下列資訊:
    Automation document (Automation 文件) 下,選取您要執行任務的文件。
    針對目標,指定您的目標資訊。
    針對輸入參數,輸入虛擬參數值。例如,為需要資源 ID 的參數輸入 TARGET_IDRESOURCE_ID
    針對速率控制,指定速率資訊。
    針對 IAM 服務角色 ,選取 AWS Identity and Access Management (IAM) 角色。
  5. 選擇 Register Automation task (註冊 Automation 任務)。

使用 AWS CLI

**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

執行 register-task-with-maintenance-window 命令。

下列範例命令會註冊包含 {{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 官方已更新 1 年前