設定清查收集 - AWS Systems Manager

設定清查收集

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

設定庫存集合時,首先要建立 AWS Systems Manager State Manager 關聯。Systems Manager 會在執行關聯時收集庫存資料。如果沒有先建立關聯,則當您試圖使用 AWS Systems Manager Run Command 等呼叫 aws:softwareInventory 外掛程式時,系統即會傳回以下錯誤:The aws:softwareInventory plugin can only be invoked via ssm-associate.

注意

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

  • 可以為每個節點指派以所有節點為目標的庫存關聯 (--targets "Key=InstanceIds,Values=*")。

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

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

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

開始之前

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

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

  • 確認節點已滿足 Systems Manager 的先決條件。如需詳細資訊,請參閱 Systems Manager 先決條件

  • 對於 Microsoft Windows 節點,請驗證您的受管節點是否已設定為使用 Windows PowerShell 3.0 (或更新版本)。SSM Agent 會使用 PowerShell 中的 ConvertTo-Json cmdlet,將 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 庫存。

將目前區域中的所有受管節點設定為啟用 Systems Manager 庫存

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

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

    -或-

    如果 AWS Systems Manager 首頁先開啟,選擇選單圖示 ( ) 以開啟導覽窗格,然後在導覽窗格中,選擇 Inventory (庫存)。

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

    
                                在目前 AWS 帳戶 和 AWS 區域 中的所有受管節點上開啟 Systems Manager 庫存。

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

    
                                在目前 AWS 帳戶 和 AWS 區域 中的所有受管節點上開啟 Systems Manager 庫存。

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

使用主控台來設定收集

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

設定庫存集合

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

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

    -或-

    如果 AWS Systems Manager 首頁先開啟,選擇選單圖示 ( ) 以開啟導覽窗格,然後在導覽窗格中,選擇 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 (庫存類型) 清單來篩選庫存。