演練:建立維護時段以自動更新 SSM Agent (主控台) - AWS Systems Manager

演練:建立維護時段以自動更新 SSM Agent (主控台)

以下的演練說明如何使用 AWS Systems Manager 主控台來建立維護時段。此演練也說明如何將受管執行個體註冊為目標和註冊 Systems Manager Run Command 任務來更新 SSM Agent。

開始之前

完成下列程序前,您必須在想要設定的執行個體上具有管理員許可,或已在 AWS Identity and Access Management (IAM) 中被授予適當的許可。此外,請確認您至少有一個執行中的 Linux 或 Windows Server Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,該執行個體已為 Systems Manager 設定。如需更多詳細資訊,請參閱 Systems Manager 先決條件

步驟 1:建立維護時段 (主控台)

建立維護時段 (主控台)

  1. 開啟位於 AWS Systems Managerhttps://console.aws.amazon.com/systems-manager/ 的 主控台。https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Maintenance Windows

  3. 選擇 Create maintenance window (建立維護時段)

  4. 對於 Name (名稱),輸入描述名稱,以協助您識別此維護時段。

  5. Description (描述),請輸入描述。

  6. 如果您想允許維護時段任務在受管執行個體上執行 (即使您尚未將這些執行個體註冊為目標),請選擇 Allow unregistered targets (允許未註冊目標)。如果您選擇此選項,即可在向維護時段註冊任務時選擇未註冊的執行個體 (依據執行個體 ID)。

    如果您未選擇此選項,則必須在向維護時段註冊任務時選擇先前註冊過的目標。

  7. 使用三個排程選項的其中一個,來為維護時段指定排程。

    如需有關建立 Cron/Rate 運算式的詳細資訊,請參閱參考:Systems Manager 的 Cron 和 Rate 表達式

  8. 針對 Duration (持續時間),輸入應執行維護時段的時數。

  9. 針對 Stop initiating tasks (停止初始任務),輸入在維護時段執行結束之前,系統應該停止排程新任務的時數。

  10. (選用) 對於 Window start date - optional (時段開始日期 - 選用),依照 ISO-8601 延伸格式,指定您希望開始啟用維護時段的日期和時間。這可讓您延遲啟用維護時段,直到指定的未來日期為止。

  11. (選用) 對於 Window end date - optional (時段結束日期 - 選用),依照 ISO-8601 Extended 格式,指定您希望停用維護時段的日期和時間。這可讓您設定不再執行維護時段的未來日期和時間點。

  12. (選用) 對於 Schedule time zone - optional (排程時區 - 選用),以 Internet Assigned Numbers Authority (IANA) 格式,指定維護時段執行的排程時區根據。例如:"America/Los_Angeles"、"etc/UTC" 或 "Asia/Seoul"。

    如需有關有效格式的詳細資訊,請參閱 IANA 網站上的時區資料庫有效格式

  13. (選用) 在 Manage tags (管理標籤) 區域,將一或多個標籤金鑰名稱/值對套用到維護時段。

    標籤是您指派給資源的選用性中繼資料。標籤允許您以不同的方式 (例如用途、擁有者或環境) 將資源分類。例如,您可能想要標記維護時段來識別其執行的任務類型、目標類型以及其執行所在的環境。在這種情況下,您可以指定以下索引鍵名稱/值對:

    • Key=TaskType,Value=AgentUpdate

    • Key=OS,Value=Windows

    • Key=Environment,Value=Production

  14. 選擇 Create maintenance window (建立維護時段)。系統會帶您回到維護時段頁面。您剛建立的維護時段為 Enabled (已啟用) 狀態。

步驟 2:註冊維護時段目標 (主控台)

請使用下列程序,向您在步驟 1 中建立的維護時段註冊目標。透過註冊目標,您就能指定要更新哪些執行個體。

指派目標至維護時段 (主控台)

  1. 在維護時段清單中,選擇您剛建立的維護時段。

  2. 選擇 Actions (動作),然後選擇 Register targets (註冊目標)

  3. (選用) 在 Target name (目標名稱) 中,輸入目標的名稱。

  4. Description (描述),請輸入描述。

  5. (選用) 在 Owner information (擁有者資訊) 中,指定您的姓名或工作別名。在此維護時段替這些目標執行任務時引發的任何 Amazon EventBridge 事件中,都會包含擁有者資訊。

    如需使用 EventBridge 監控 Systems Manager 事件的相關資訊,請參閱 使用 Amazon EventBridge 監控 Systems Manager

  6. Targets (目標) 區域,選擇下表中所述的其中一個選項。

    選項 描述

    指定執行個體標籤

    對於 Specify instance tags (指定執行個體標籤) 方塊,請指定一或多個標籤索引鍵和 (選用) 值,這些鍵值已經或即將新增到您帳戶中的受管執行個體。維護時段執行時,其會對已新增這些標籤的所有受管執行個體上嘗試執行任務。

    如果您指定多個標籤鍵,則執行個體必須加上您指定的所有標籤鍵和值,才會包含在目標群組中。

    手動選擇執行個體

    從清單中選取您要在維護時段目標中包含的每個執行個體方塊。

    此清單會包含在您帳戶中已設定為與 Systems Manager 搭配的所有執行個體。

    如果您預期看到的 Amazon EC2 執行個體未列出,請參閱 故障診斷 Amazon EC2 受管執行個體可用性 以取得故障診斷秘訣。

    對於現場部署執行個體和虛擬機器 (VM),請參閱 在混合環境中設定 AWS Systems Manager

    選擇資源群組

    對於 Resource group (資源群組),從清單中選擇您帳戶中現有資源群組的名稱。

    如需建立和使用資源群組的詳細資訊,請參閱下列主題:

    對於 Resource types (資源類型),選擇最多 5 個可用資源類型,或選擇 All resource types (所有資源類型)

    如果您指派給維護時段的任務沒有對您新增到目標的其中一個資源類型執行動作,系統可能會報告錯誤。儘管發生這些錯誤,找到支援資源類型的任務會持續執行。

    例如,假設您將以下資源類型新增到這個目標:

    • AWS::S3::Bucket

    • AWS::DynamoDB::Table

    • AWS::EC2::Instance

    但在稍後當您將任務新增至維護時段時,您只包含在執行個體上執行動作的任務,例如套用修補程式基準或重新啟動執行個體。在維護時段日誌中,可能會回報找不到 Amazon Simple Storage Service (Amazon S3) 儲存貯體或 Amazon DynamoDB 資料表的錯誤。不過,維護時段仍會在資源群組中的執行個體上執行任務。

  7. 選擇 Register target (註冊目標)

步驟 3:註冊維護時段的Run Command任務以更新 SSM Agent (主控台)

使用下列程序,為您在步驟 1 建立的維護時段註冊 Run Command 任務。Run Command 任務會在已註冊目標上更新 SSM Agent。

指派任務至維護時段 (主控台)

  1. 在維護時段清單中,選擇您剛建立的維護時段。

  2. 選擇 Actions (動作),然後選擇 Register Run command task (註冊執行命令任務)。

  3. Name (名稱) 中,輸入 UpdateSSMAgent 之類的任務名稱。

  4. Description (描述),請輸入描述。

  5. Command document (命令文件) 區域中,選擇 SSM 命令文件 AWS-UpdateSSMAgent

    注意

    如果您在先前步驟中註冊的目標是 Windows Server 2012 R2 或更早的版本,您必須使用 AWS-UpdateEC2Config 文件。

  6. Document Version (文件版本) 中,選擇要使用的文件版本。

  7. 對於 Task priority (任務優先順序),請指定此任務的優先順序。0 (0) 是最高的優先順序。維護時段內的任務都是以優先順序來排程;相同優先順序的任務會平行排程。

  8. Targets (目標) 區段中,選擇要執行這項操作的執行個體,方法是 Selecting registered target groups (選取已註冊目標群組) 或 Selecting unregistered targets (選取未註冊目標)。

  9. 對於 Rate control (速率控制):

    • Concurrency (並行) 中,指定可同時執行命令的執行個體數目或百分比。

      注意

      如果透過指定套用至受管執行個體的標籤或指定 AWS 資源群組選取了目標,且您不確定會以多少個執行個體為目標,則透過指定百分比限制可以同時執行文件之執行個體的數量。

    • Error threshold (錯誤閾值) 中,指定在特定數目或百分比之執行個體上的命令失敗之後,停止在其他執行個體上執行命令。例如,如果您指定三個錯誤,則 Systems Manager 會在收到第四個錯誤時停止傳送命令。仍在處理命令的執行個體也可能會傳送錯誤。

  10. 對於 IAM service role (IAM 服務角色),選擇以下選項其中之一以提供許可給 Systems Manager,使任務能夠在目標執行個體上執行:

    • Create and use a service-linked role for Systems Manager (建立並使用 Systems Manager 的服務連結角色)

      服務連結角色提供安全的方式對 AWS 服務委派許可,因為只有連結的服務能夠擔任服務連結角色。此外,AWS 會自動定義並設定權限的服務連結的角色,這是依據代表您執行動作的連結服務。

      注意

      如果服務連結的角色已建立您的帳戶,請選擇 Use the service-linked role for Systems Manager (使用 Systems Manager 的服務連結角色)。

    • Use a custom service role (使用自訂服務角色

      如果您想要使用比服務連結角色更嚴格的許可,您可以替維護時段任務建立自訂服務角色。

      如果您需要建立自訂服務角色的詳細資訊,請參閱以下其中一個主題:

    為了協助您決定要搭配維護時段任務使用自訂服務角色或 Systems Manager 服務連結角色,請您參閱 我應該使用服務連結角色還是自訂服務角色來執行維護時段任務?

  11. (選用) 對於 Output options (輸出選項),執行下列其中一項動作:

    • 選取 Enable writing to S3 (啟用寫入 S3) 核取方塊,將命令輸出儲存成檔案。在方塊中輸入儲存貯體和字首 (資料夾) 名稱。

      注意

      授予能力以將資料寫入至 S3 儲存貯體的 S3 許可,會是指派給執行個體之執行個體描述檔的許可,而不是執行此工作之 IAM 使用者的許可。如需詳細資訊,請參閱建立 Systems Manager 的 IAM 執行個體描述檔。此外,若指定的 S3 儲存貯體位於不同的 AWS 帳戶 內,請驗證與執行個體相關聯的執行個體描述檔是否具有寫入該儲存貯體的必要許可。

    • 選取 CloudWatch output (CloudWatch 輸出) 核取方塊,將完整的輸出寫入 Amazon CloudWatch Logs。輸入 CloudWatch Logs 日誌群組的名稱。

  12. SNS notifications (SNS 通知) 區段中,您可以選擇讓 Systems Manager 使用 Amazon Simple Notification Service (Amazon SNS) 來傳送與命令狀態相關的通知。如果您選擇開啟此選項,您需要指定以下內容:

    1. 啟動 Amazon SNS 通知的 IAM 角色。

    2. 要使用的 Amazon SNS 主題。

    3. 您希望收到通知的特定事件類型。

    4. 命令狀態變更時您希望接收的通知類型。針對傳送到多個執行個體的命令,選擇 Invocation (叫用) 在每個叫用狀態變更時以每個執行個體叫用為基礎接收通知。

  13. Parameters (參數) 區域中,您可以選擇性地提供要安裝的特定版本 SSM Agent,或允許 SSM Agent 服務降級到較早版本。不過,我們不提供此逐步解說的版本。因此,SSM Agent 會更新到最新的版本。

  14. 選擇 Register Run command task (註冊執行命令任務)。