設定清查收集 - AWS Systems Manager

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

設定清查收集

本節說明如何使用 Systems Manager 主控台,在一或多個受管理節點上設定 AWS Systems Manager 詳細目錄收集。如需如何使用 AWS Command Line Interface (AWS CLI) 設定詳細目錄收集的範例,請參閱Systems Manager 庫存演練

當您設定詳細目錄收集時,請先建立 AWS Systems Manager State Manager關聯。Systems Manager 會在執行關聯時收集庫存資料。例如,如果您不先建立關聯,並嘗試使用來叫用aws:softwareInventory外掛程式 AWS Systems Manager Run Command,則系統會傳回下列錯誤:The aws:softwareInventory plugin can only be invoked via ssm-associate.

注意

如果您為受管節點建立多個庫存關聯,請注意下列行為。

  • 每個節點都可以指派一個目標所有節點的詳細目錄關聯 (-目標「鍵 =InstanceIds,值 =*」)。

  • 也可以為每個節點指派使用標籤鍵/值配對或 AWS 資源群組的特定關聯。

  • 如果為節點指派多個庫存關聯,則尚未執行之關聯的狀態會顯示為略過。最近執行的關聯會顯示庫存關聯的實際狀態。

  • 如果為節點指派多個庫存關聯,且每個都使用標籤索引鍵/值對,則由於標籤衝突,這些庫存關聯無法在節點上執行。該關聯仍然在沒有標籤索引鍵/值衝突的節點上執行。

開始之前

設定庫存集合前,請務必完成以下任務。

  • 更新 AWS Systems Manager SSM Agent您要庫存的節點。透過執行最新版本的 SSM Agent,就能確保您可以收集所有受支援庫存類型的中繼資料。如需使用 SSM Agent 更新 State Manager 的相關資訊,請參閱 演練:自動更新 SSM Agent (CLI)

  • 確認您已完成混合多雲端環境中 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體和非 EC2 機器的設定要求。如需相關資訊,請參閱設定 AWS Systems Manager

  • 若為 Microsoft 視窗節點,請確認您的受管理節點已設定為 Windows PowerShell 3.0 (或更新版本)。 SSM Agent使用中的ConvertTo-Json指令程式, PowerShell 將 Windows 更新詳細目錄資料轉換為所需的格式。

  • (選用) 建立資源資料同步,將庫存資料集中存放在 Amazon S3 儲存貯體中。然後,資源資料同步會在系統收集新的清查資料時自動更新集中的資料。如需詳細資訊,請參閱 設定庫存的資源資料同步

  • (選用) 建立 JSON 檔案以收集自訂庫存。如需詳細資訊,請參閱 使用自訂庫存

清查您的所有受管節點 AWS 帳戶

您可以 AWS 帳戶 透過建立全域詳細目錄關聯來清查您中的所有受管理節點。全域庫存關聯會執行下列動作:

  • 自動將全域詳細目錄組態 (關聯) 套用至您的 AWS 帳戶. 當系統套用並執行全域庫存關聯時,會略過已擁有庫存關聯的受管節點。一旦略過某個節點,詳細狀態資訊即會出現 Overridden By Explicit Inventory Association 訊息。儘管全域關聯會略過這類型的節點,但在執行指派的庫存關聯時,這些執行個體仍會回報庫存。

  • 自動將在您的全域詳細目錄關聯 AWS 帳戶 中建立的新節點新增。

注意
  • 如果全域庫存關聯已設定受管節點,且您指派了特定關聯給該節點,則 Systems Manager 庫存會降低全域關聯的優先順序,並套用特定關聯。

  • SSM Agent 2.0.790.0 版或更新版本皆能使用全域庫存關聯。如需如何在節點上更新 SSM Agent的相關資訊,請參閱 使用 Run Command 更新 SSM Agent

按一下即可設定清查收集 (主控台)

使用下列程序,為您的 AWS 帳戶 和單一節點中的所有受管理節點設定「系統管理員庫存」 AWS 區域。

將目前區域中的所有受管節點設定為啟用 Systems Manager 庫存
  1. 請在以下位置開啟 AWS Systems Manager 主控台。 https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Inventory (庫存)。

  3. Managed instances with inventory enabled (已啟用庫存的受管執行個體) 卡中,請選擇 Click here to enable inventory on all instances (按一下此處以啟用所有執行個體上的庫存)

    在所有受管理節點上啟用系統管理員庫存。

    如果成功,主控台會顯示以下訊息。

    在所有受管理節點上啟用系統管理員庫存。

    根據您帳戶中的受管節點數量,需要幾分鐘的時間才能套用全域庫存關聯。請稍候幾分鐘,然後重新整理頁面。確認圖形的變更,以反映所有受管節點上設定的庫存。

使用主控台來設定收集

本節涵蓋的資訊將說明如何利用 Systems Manager 主控台來設定 Systems Manager 庫存,以收集來自受管節點的中繼資料。您可以從特定節點 AWS 帳戶 (以及可能在該帳戶中建立的任何 future 節點) 快速收集中繼資料,也可以使用標籤或節點 ID 選擇性地收集庫存資料。

注意

在完成此程序之前,請檢查全域庫存關聯是否存在。如果全域庫存關聯已經存在,則每當您啟動新執行個體時,系統都會套用該關聯,並清查此新執行個體。

設定庫存集合
  1. 請在以下位置開啟 AWS Systems Manager 主控台。 https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Inventory (庫存)。

  3. 選擇 Setup Inventory (設定庫存)

  4. Targets (目標) 區段中,請選擇下列其中一個選項,藉此識別要執行這項操作的節點。

    • Selecting all managed instances in this account (選取此帳戶中的所有受管執行個體) - 此選項會選取沒有庫存關聯的所有受管節點。一旦選擇此選項,系統便會在收集庫存資料期間略過已擁有庫存關聯的節點,且庫存結果會顯示 Skipped (略過) 狀態。如需詳細資訊,請參閱 清查您的所有受管節點 AWS 帳戶

    • Specifying a tag (指定標記) - 使用此選項指定單一標籤,以便在帳戶中識別要收集庫存的節點。在您使用標籤後,任何未來建立的節點若具備相同標籤,也都會回報庫存。如果現有庫存與所有節點相關聯,則使用標籤將特定節點選取為不同庫存的目標時,系統就會覆寫 All managed instances (所有受管執行個體) 目標群組中的節點成員資格。未來透過 All managed instances (所有受管執行個體) 收集庫存時,具備指定標籤的受管節點皆會遭略過。

    • Manually selecting instances (手動選取執行個體) - 使用此選項選擇帳戶中的特定受管節點。一旦透過此選項明確地選擇特定節點,系統將覆寫 All managed instances (所有受管執行個體) 目標上的庫存關聯。未來透過 All managed instances (所有受管執行個體) 收集庫存時,該節點便會遭略過。

      注意

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

  5. Schedule (排程) 區段中,選擇系統從節點收集庫存中繼資料的頻率。

  6. Parameters (參數) 區段中,使用清單來開啟或關閉不同類型的庫存集合。如需建立適用於 Files (檔案)Windows Registry (Windows 登錄檔) 的庫存搜尋,請參閱下方範例。

    檔案
    • 在 Linux 和 macOS 作業系統上,在 /home/ec2-user 目錄 (不包含所有子目錄) 中收集 .sh 檔案的中繼資料。

      [{"Path":"/home/ec2-user","Pattern":["*.sh", "*.sh"],"Recursive":false}]
    • 在 Windows 作業系統上,讓庫存以遞迴方式在 Program Files 資料夾 (包含子目錄) 中收集所有「.exe」檔案的中繼資料。

      [{"Path":"C:\Program Files","Pattern":["*.exe"],"Recursive":true}]
    • 在 Windows 作業系統上,讓庫存收集特定日誌模式的中繼資料。

      [{"Path":"C:\ProgramData\Amazon","Pattern":["*amazon*.log"],"Recursive":true}]
    • 執行遞迴收集時,限制目錄數量。

      [{"Path":"C:\Users","Pattern":["*.ps1"],"Recursive":true, "DirScanLimit": 1000}]
    Windows 登錄檔
    • 以遞迴方式收集指定路徑的所有機碼與值。

      [{"Path":"HKEY_LOCAL_MACHINE\SOFTWARE\Amazon","Recursive": true}]
    • 收集指定路徑的所有機碼與值 (關閉遞迴搜尋)。

      [{"Path":"HKEY_LOCAL_MACHINE\SOFTWARE\Intel\PSIS\PSIS_DECODER", "Recursive": false}]
    • 使用 ValueNames 選項來收集特定機碼。

      {"Path":"HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\MachineImage","ValueNames":["AMIName"]}

    如需收集檔案和 Windows 登錄檔庫存的詳細資訊,請參閱使用檔案與 Windows 登錄檔清查

  7. 如果您要將關聯執行狀態存放到 Amazon S3 儲存貯體,請在 Advanced (進階) 區段中選擇 Sync inventory execution logs to an Amazon S3 bucket (將清查執行日誌同步到 S3 儲存貯體)。

  8. 選擇 Setup Inventory (設定庫存)。Systems Manager 會建立 State Manager 關聯,並立即在節點上執行庫存。

  9. 在導覽窗格中,選擇 State Manager。接著,驗證系統是否使用 AWS-GatherSoftwareInventory 文件來建立新關聯。關聯排程會使用 Rate 運算式。此外,您還需確定 Status (狀態) 欄位已顯示 Success (成功)。如果選擇 Sync inventory execution logs to an Amazon S3 bucket (將庫存執行日誌同步到 Amazon S3 儲存貯體) 選項,則您可在幾分鐘後前往 Amazon S3 檢視日誌資料。在導覽窗格中選擇 Managed Instances (受管執行個體),即可檢視特定節點的庫存資料。

  10. 選擇一個節點,然後選擇 View details (檢視詳細資訊)。

  11. 在節點詳細資訊頁面上,選擇 Inventory (庫存)。您能夠使用 Inventory type (庫存類型) 清單來篩選庫存。