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

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

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

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

開始之前

完成下列程序之前,您必須擁有要設定之節點的管理員權限,或者您必須已獲得 AWS Identity and Access Management (IAM) 中的適當許可。此外,請確認您的混合多雲端環境中有至少一個已針對 Systems Manager 設定的執行中 Linux 或 Windows Server 受管節點。如需詳細資訊,請參閱 設定 AWS Systems Manager

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

建立維護時段 (主控台)
  1. 請在以下位置開啟 AWS Systems Manager 主控台。 https://console.aws.amazon.com/systems-manager/

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

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

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

  5. 描述,請輸入描述。

  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. 描述,請輸入描述。

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

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

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

    選項 描述

    指定執行個體標籤

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

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

    手動選擇節點

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

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

    如果您預期看到的受管節點未列出,請參閱 疑難排解受管節點的可用性 以取得疑難排解秘訣。

    如需有關邊緣裝置、內部部署伺服器和虛擬機器 (VM) 的相關資訊,請參閱 在混合雲和多雲端環境中使用 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. 描述,請輸入描述。

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

    注意

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

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

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

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

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

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

      注意

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

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

  10. (選用) 對於 IAM 服務角色,請選擇一個角色,以提供 Systems Manager 在執行維護時段工作時要承擔的許可。

    如果您未指定服務角色 ARN,Systems Manager 會在您的帳戶中使用服務連結角色。如果您的帳戶中沒有適當的 Systems Manager 服務連結角色,則會在成功註冊任務時建立該角色。

    注意

    為了改善安全性狀態,我們強烈建議您建立自訂原則和自訂服務角色,以執行維護時段工作。您可以製作原則,僅提供特定維護時段工作所需的權限。如需詳細資訊,請參閱 利用主控台設定維護時段許可

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

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

      注意

      授予將資料寫入至 S3 儲存貯體的 S3 許可是指派給節點之執行個體設定檔的許可,不是執行此任務之使用者的許可。如需詳細資訊,請參閱設定 Systems Manager 所需的執行個體權限。此外,若指定的 S3 儲存貯體位於不同的 AWS 帳戶內,請驗證與節點相關聯的執行個體設定檔是否具有寫入該儲存貯體的必要許可。

    • 選取CloudWatch 輸出核取方塊,將完整輸出寫入 Amazon CloudWatch 日誌。輸入 CloudWatch 記錄檔記錄群組的名稱。

  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 (註冊執行命令任務)。