查詢來自多個區域和帳戶的清查資料 - AWS Systems Manager

查詢來自多個區域和帳戶的清查資料

AWS Systems Manager 庫存會與 Amazon Athena 整合,協助您查詢來自多個 AWS 區域 和 AWS 帳戶 的庫存資料。Athena 整合會使用資源資料同步,讓您能夠在 AWS Systems Manager 主控台的 Detailed View (詳細檢視) 頁面上檢視來自所有受管節點的庫存資料。

重要

此功能使用 AWS Glue 來網路爬取 Amazon Simple Storage Service (Amazon S3) 儲存貯體中的資料和 Amazon Athena 中的資料,以查詢資料。視您所爬取和查詢的資料量而定,這些服務可能會向您收取使用費。使用 AWS Glue 需支付編目程式 (用來探索資料) 與 ETL 任務 (用來處理及載入資料) 的費用,以每小時費率按秒計費。Athena 會按照每個查詢掃描的資料量向您收費。建議您先查看這些服務的定價準則,再使用 Amazon Athena 與 Systems Manager 庫存的整合。如需詳細資訊,請參閱 Amazon Athena 定價AWS Glue 定價

您可以檢視所有 Amazon Athena 可用之 AWS 區域 中 Detailed View (詳細檢視) 頁面上的庫存資料。如需支援區域的清單,請參閱《Amazon Web Services 一般參考》中的 Amazon Athena 服務端點

開始之前

Athena 整合能夠使用資源資料同步。您必須設定和配置資源資料同步,才能使用這項功能。如需詳細資訊,請參閱 設定庫存的資源資料同步

此外,請注意,針對資源資料同步使用的中央 Amazon S3 儲存貯體,Detailed View (詳細檢視) 頁面會顯示其擁有者的庫存資料。如果您不是中央 Amazon S3 儲存貯體的擁有者,則無法在 Detail View (詳細檢視) 頁面上查看庫存資料。

設定存取權

可以在 Systems Manager 主控台 Detailed View (詳細檢視) 頁面上查詢和檢視來自多個帳戶和區域的資料前,您必須使用檢視資料的許可設定您的 AWS Identity and Access Management (IAM) 使用者帳戶。

(選用) 如果庫存資料存放在使用 AWS Key Management Service (AWS KMS) 加密的 Amazon S3 儲存貯體中,您還必須設定 IAM 帳戶和 Amazon-GlueServiceRoleForSSM 的服務角色以進行 AWS KMS 加密。如果您未設定 IAM 帳戶和此角色,Systems Manager 會在您選擇主控台上的 Detailed View (詳細檢視) 索引標籤時顯示 Cannot load Glue tables

設定您的 IAM 使用者帳戶以存取「詳細檢視」頁面

下列程序說明如何使用 IAM 主控台來設定 IAM 使用者帳戶,因此您就可以在 Detail View (詳細檢視) 頁面上檢視庫存資料。

設定 IAM 使用者帳戶對 Detailed View (詳細檢視) 頁面的存取

  1. 在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/

  2. 在導覽窗格中,選擇 Users (使用者),接著選擇要設定的使用者帳戶。Summary (摘要) 頁面隨即開啟。

  3. Permissions (許可) 標籤上,選擇 Add permissions (新增許可)

  4. Grant permissions (授予許可) 頁面上,選擇 Attach existing policies directly (直接連接現有政策)

  5. 在搜尋欄位中搜尋 AWSQuicksightAthenaAccess

  6. 選擇這項政策旁的選項,然後選擇 Next: Review (下一步:檢閱)

  7. 選擇 Add permissions (新增許可)。

  8. 再次選擇使用者名稱,以返回 Summary (摘要) 頁面。

  9. 請立即新增內嵌政策,讓 AWS Glue 可以爬取您的庫存資料。在許可標籤上,選擇新增內嵌政策Create policy (建立政策) 頁面隨即開啟。

  10. 請選擇 JSON 標籤。

  11. 刪除編輯器中的現有 JSON 文字,然後複製下列政策並貼至 JSON 編輯器。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGlue", "Effect": "Allow", "Action": [ "glue:GetCrawler", "glue:GetCrawlers", "glue:GetTables", "glue:StartCrawler", "glue:CreateCrawler" ], "Resource": "*" }, { "Sid": "iamPassRole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "glue.amazonaws.com" } } }, { "Sid": "iamRoleCreation", "Effect": "Allow", "Action": [ "iam:CreateRole", "iam:AttachRolePolicy" ], "Resource": "arn:aws:iam::account_ID:role/*" }, { "Sid": "iamPolicyCreation", "Effect": "Allow", "Action": "iam:CreatePolicy", "Resource": "arn:aws:iam::account_ID:policy/*" } ] }
    注意

    (選用) 如果用於存放庫存資料的 Amazon S3 儲存貯體是使用 AWS KMS 加密,則您還必須將下列區塊新增至政策。

    { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:Region:account_ID:key/key_ARN" ] }

    如果您將此區塊貼在政策中最後一個區塊之後,請務必以逗號 (,) 分隔這些區塊。

  12. Review Policy (檢閱政策) 頁面的 Name (名稱) 欄位中,輸入一個名稱。

  13. 選擇 Create policy (建立政策)

重要

當您在 Inventory Detail View (庫存詳細資訊檢視) 頁面選擇資源資料同步時,Systems Manager 會自動建立 Amazon-GlueServiceRoleForSSM 角色。此角色允許 AWS Glue 來存取 Amazon S3 儲存貯體以進行資源資料同步。Systems Manager 會自動將下列政策連接至該角色:

  • Amazon-GlueServicePolicyForSSM-{Amazon S3 儲存貯體名稱}:此政策允許 AWS Glue 和 Systems Manager 庫存之間的通訊。

  • AWSGlueServiceRole:這是允許 AWS Glue 存取權的 AWS 受管政策。

如果名稱為 Amazon-GlueServicePolicyForSSM-{Amazon S3 儲存貯體名稱} 的政策已存在於 IAM 使用者帳戶中,而此政策沒有連接至 Amazon-GlueServiceRoleForSSM 角色,則系統會傳回錯誤。若要解決這個問題,請使用 IAM 主控台,以確認 Amazon-GlueServicePolicyForSSM-{Amazon S3 儲存貯體名稱} 政策的內容符合此處理程序中的內嵌政策。然後,將政策附加到 Amazon GlueServiceRoleForSSM 角色。

(選用) 設定檢視 AWS KMS 加密資料的許可

如果用於存放庫存資料的 Amazon S3 儲存貯體是透過使用 AWS Key Management Service (AWS KMS) 進行加密,您必須設定您的 IAM 使用者帳戶和具有 AWS KMS 金鑰之 kms:Decrypt 許可的 Amazon-GlueServiceRoleForSSM 角色。如果您未設定 IAM 帳戶和此角色,Systems Manager 會在您選擇主控台上的 Detailed View (詳細檢視) 索引標籤時顯示 Cannot load Glue tables

開始之前

若要設定具有 AWS KMS 金鑰之 kms:Decrypt 許可的 IAM 使用者帳戶,您可以將下列政策區塊作為內嵌政策新增至 IAM 帳戶,如先前處理程序所述 (設定您的 IAM 使用者帳戶以存取「詳細檢視」頁面)。

{ "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:Region:account_ID:key/key_ARN" ] }

如果您尚未執行,請完成該處理程序並新增 AWS KMS 金鑰的 kms:Decrypt 許可。

請使用下列處理程序來設定具有 AWS KMS 金鑰之 kms:Decrypt 許可的 Amazon-GlueServiceRoleForSSM 角色。

設定具有 kms:Decrypt 許可的 Amazon-GlueServiceRoleForSSM 角色

  1. 在以下網址開啟 IAM 主控台:https://console.aws.amazon.com/iam/

  2. 在導覽窗格中,選擇 Roles (角色),然後使用搜尋欄位來尋找 Amazon-GlueServiceRoleForSSM 角色。Summary (摘要) 頁面隨即開啟。

  3. 使用搜尋欄位來尋找 Amazon-GlueServiceRoleForSSM 角色。選擇角色名稱。Summary (摘要) 頁面隨即開啟。

  4. 選擇角色名稱。Summary (摘要) 頁面隨即開啟。

  5. 選擇 Add inline policy (新增內嵌政策)Create policy (建立政策) 頁面隨即開啟。

  6. 請選擇 JSON 標籤。

  7. 刪除編輯器中的現有 JSON 文字,然後複製下列政策並貼至 JSON 編輯器。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": [ "arn:aws:kms:Region:account_ID:key/key_ARN" ] } ] }
  8. 選擇 Review policy (檢閱政策)

  9. Review Policy (檢閱政策) 頁面的 Name (名稱) 欄位中,輸入一個名稱。

  10. 選擇 Create policy (建立政策)

在清查詳細檢視頁面上查詢資料

請使用以下處理程序,在 Systems Manager 庫存 Detailed View (詳細檢視) 頁面上檢視多個 AWS 區域 和 AWS 帳戶 的庫存資料。

重要

庫存 Detailed View (詳細檢視) 頁面僅在提供 Amazon Athena 的 AWS 區域 中可用。若在 Systems Manager 庫存頁面上並未顯示下列標籤,這表示 Athena 並未在該區域中提供使用,且您無法使用 Detailed View (詳細檢視) 來查詢資料。


                            顯示 Inventory (清查) 儀表板 | Detailed View (詳細檢視) | Settings (設定) 標籤

在 AWS 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. 選擇 Detailed View (詳細檢視) 索引標籤。

    
                                存取 AWS Systems Manager 庫存詳細檢視頁面
  4. 選擇您要查詢資料的資源資料同步。

    
                                在 AWS Systems Manager 主控台中顯示清查資料
  5. Inventory Type (庫存類型) 清單中,選擇欲查詢的庫存資料類型,接著按 Enter 鍵。

    
                                在 AWS Systems Manager 主控台中選擇清查類型
  6. 若要篩選資料,請選取篩選條件列,並選擇篩選條件選項。

    
                                在 AWS Systems Manager 主控台中篩選清查資料

您能夠善用 Export to CSV (匯出至 CSV) 按鈕,以便在 Microsoft Excel 等試算表應用程式中檢視目前的查詢集。除此之外,您還可以使用 Query History (查詢歷程記錄) 和 Run Advanced Queries (執行進階查詢) 按鈕,藉此檢視歷程記錄詳細資訊,並與 Amazon Athena 中的資料互動。

編輯 AWS Glue 編目程式排程

根據預設,AWS Glue 每天會爬取兩次中央 Amazon S3 儲存貯體中的清查資料。如果您經常變更節點上要收集的資料類型,可能會需要更頻繁地抓取資料,如以下程序所述。

重要

AWS Glue 會向您的 AWS 帳戶 收取編目程式 (用來探索資料) 與 ETL 任務 (用來處理及載入資料) 的費用,以每小時費率按秒計費。在您變更編目程式排程前,請查看 AWS Glue 定價頁面。

變更庫存資料的編目程式排程

  1. 開啟位於 https://console.aws.amazon.com/glue/ 的 AWS Glue 主控台。

  2. 在導覽窗格中,選擇 Crawlers (編目程式)

  3. 在編目程式清單中,選擇 Systems Manager 庫存資料編目程式旁的選項。編目程式名稱需採用以下格式:

    AWSSystemsManager-DOC-EXAMPLE-BUCKET-Region-account_ID

  4. 選擇 Action (動作),然後選擇 Edit crawler (編輯編目程式)

  5. 在導覽窗格中,選擇 Schedule (排程)

  6. Cron expression (Cron 運算式) 欄位中,使用 Cron 格式來指定新排程。如需 cron 格式的詳細資訊,請參閱《AWS Glue 開發人員指南》中的任務和編目程式的時間排程

重要

您可以暫停使用編目程式,AWS Glue 便不會繼續產生費用。若您暫停編目程式或變更執行頻率,使系統減少爬取資料的次數,則 Detailed View (詳細檢視) 所顯示的資料可能不是目前的內容。