設定庫存的資源資料同步 - AWS Systems Manager

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

設定庫存的資源資料同步

本主題說明如何設定 AWS Systems Manager 清查的資源資料同步。如需 Systems Manager Explorer 資源資料同步的相關資訊,請參閱《設定 Systems Manager Explorer 以顯示來自多個帳戶和區域的資料》 。

關於資源資料同步

您可以使用 Systems Manager 資源資料同步,將從所有受管節點收集到的庫存資料傳送至單一 Amazon Simple Storage Service (Amazon S3) 儲存貯體。然後,資源資料同步會在系統收集新的清查資料時自動更新集中的資料。將所有庫存資料都存放在目標 Amazon S3 儲存貯體中,您可以使用 Amazon Athena 和 Amazon 等服務 QuickSight 來查詢和分析彙總的資料。

例如,假設您將清查設定成在 150 個受管節點機群上,收集正在執行作業系統 (OS) 和應用程式的相關資料。其中部分執行個體位於內部部署資料中心,而其他節點則在多個 AWS 區域的 Amazon Elastic Compute Cloud (Amazon EC2) 中運作。如果您「沒有」設定清查的資源資料同步,便需要手動收集每個受管節點的清查資料集合,或是建立指令碼以收集這些資訊。接著,您還要將資料傳輸至應用程式,才能執行查詢和分析作業。

透過資源資料同步,您只要執行一次性操作,即可同步來自所有受管節點的任何清查資料。成功建立同步後,Systems Manager 會建立所有庫存資料的基準,並將存放至目標 Amazon S3 儲存貯體。收集到新的庫存資料時,Systems Manager 會自動更新 Amazon S3 儲存貯體中的資料。然後,您可以快速且經濟實惠地將資料移植到 Amazon Athena 和 Amazon QuickSight。

圖 1 顯示資源資料同步如何將混合多雲端環境中的 Amazon EC2 和其他機器類型的庫存資料,彙總至目標 Amazon S3 儲存貯體。此圖表還顯示了資源數據同步如何與多個 AWS 帳戶 和 AWS 區域。

圖 1:資源數據與多個 AWS 帳戶 和 AWS 區域

Systems Manager 資源資料同步架構

如果您刪除受管節點,資源資料同步仍會保留已刪除節點的庫存檔案。不過,對於執行中的節點,當有新的檔案建立並寫入 Amazon S3 儲存貯體時,資源資料同步會自動覆寫舊的庫存檔案。如果您想要追蹤一段時間內的庫存變更,可以使用 AWS Config 服務來追蹤資SSM:ManagedInstanceInventory源類型。如需詳細資訊,請參閱入門 AWS Config

使用本節中的程序,使用 Amazon S3 和 AWS Systems Manager 主控台為庫存建立資源資料同步。您也可以使用 AWS CloudFormation 建立或刪除資源資料同步。若要使用 AWS CloudFormation,請將資AWS::SSM::ResourceDataSync源新增至 AWS CloudFormation 範本。如需相關資訊,請參閱下列任一文件資源:

注意

您可以使用 AWS Key Management Service (AWS KMS) 加密 Amazon S3 儲存貯體中的庫存資料。如需如何使用 AWS Command Line Interface (AWS CLI) 建立加密同步的範例,以及如何使用 Amazon Athena 和 Amazon 中的集中式資料 QuickSight,請參閱演練:使用資源資料同步來彙總庫存資料

開始之前

建立資源資料同步前,請使用以下程序建立中央 Amazon S3 儲存貯體,以存放彙總的庫存資料。程序會說明如何指派儲存貯體政策,讓 Systems Manager 將庫存資料寫入多個帳戶的儲存貯體。如果您要使用已有的 Amazon S3 儲存貯體來彙總資源資料同步的庫存資料,則必須在以下程序中設定儲存貯體來使用政策。

注意

如果該儲存貯體設定為使用 Object Lock,則 Systems Manager 庫存無法將資料新增至指定的 Amazon S3 儲存貯體。確認您為資源資料同步建立或選擇的 Amazon S3 儲存貯體未設定為使用 Amazon S3 Object Lock。如需詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的 Amazon S3 Object Lock 如何運作

建立和設定資源資料同步的 Amazon S3 儲存貯體
  1. 前往 https://console.aws.amazon.com/s3/ 開啟的 Amazon Simple Storage Service (Amazon S3) 主控台。

  2. 建立儲存貯體以存放您彙整的清查資料。如需詳細資訊,請參閱 Amazon Simple Storage Service 主控台使用者指南中的建立儲存貯體。記下值區名稱及 AWS 區域 其建立位置。

  3. 選擇 Permissions (許可) 索引標籤,然後選擇 Bucket Policy (儲存貯體政策)

  4. 複製下列儲存貯體政策並貼至政策編輯器。將文件範例儲存貯體和帳戶識別碼取代為您建立的 S3 儲存貯體的名稱和有效的 ID。 AWS 帳戶

    若要允許多個人 AWS 帳戶 將庫存資料傳送到中央 Amazon S3 儲存貯體,請在政策中指定每個帳戶,如下列Resource範例所示:

    "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*/accountid=123456789012/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*/accountid=444455556666/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*/accountid=777788889999/*" ], "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "123456789012", "444455556666", "777788889999" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:ssm:*:123456789012:resource-data-sync/*", "arn:aws:ssm:*:444455556666:resource-data-sync/*", "arn:aws:ssm:*:777788889999:resource-data-sync/*" ] } }
    注意

    如需檢視 AWS 帳戶 ID 的相關資訊,請參閱 IAM 使用者指南中的您的 Amazon Web Services 帳戶 ID 及其別名

    { "Version": "2012-10-17", "Statement": [ { "Sid": "SSMBucketPermissionsCheck", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET" }, { "Sid": " SSMBucketDelivery", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*/accountid=ID_number/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*/accountid=ID_number/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*/accountid=ID_number/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*/accountid=ID_number/*" ], "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": "ID_number" }, "ArnLike": { "aws:SourceArn": "arn:aws:ssm:*:ID_number:resource-data-sync/*" } } } ] }

建立庫存的資源資料同步

遵循以下程序,使用 Systems Manager 主控台建立 Systems Manager 庫存的資源資料同步。如需如何使用建立資源資料同步的相關資訊 AWS CLI,請參閱演練:使用 CLI 將受管節點設定為啟用庫存

建立資源資料同步
  1. 請在以下位置開啟 AWS Systems Manager 主控台。 https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Fleet Manager

  3. Account management (帳戶管理) 選單中,選擇 Resource data sync (資源資料同步)。

  4. 選擇 Create resource data sync (建立資源資料同步)

  5. Sync name (同步名稱) 欄位中,輸入同步組態的名稱。

  6. Bucket name (儲存貯體名稱) 欄位中,輸入您使用為資源資料同步建立和設定 Amazon S3 儲存貯體處理程序建立的 Amazon S3 儲存貯體名稱。

  7. (選用) 在 Bucket prefix (儲存貯體字首) 欄位中,輸入 Amazon S3 儲存貯體字首 (子目錄) 的名稱。

  8. 如果您建立的 Amazon S3 儲存貯體位於目前的 AWS 區域,請在 Bucket region (儲存貯體區域) 欄位中選擇 This region (此區域)。如果儲存貯體位於不同的 AWS 區域,請選擇 Another region (其他區域),然後輸入區域的名稱。

    注意

    如果同步與目標 Amazon S3 儲存貯體位於不同區域,您可能需要支付資料傳輸費用。如需詳細資訊,請參閱 Amazon S3 定價

  9. (選用) 在 KMS Key ARN (KMS 金鑰 ARN) 欄位中,輸入或貼上 KMS 金鑰 ARN,其可用來加密 Amazon S3 中的庫存資料。

  10. 選擇建立

若要同步多個庫存資料 AWS 區域,您必須在個區域中建立資源資料同步。在您要收集庫存資料並將 AWS 區域 其傳送到中央 Amazon S3 儲存貯體的每個位置重複此程序。在每個區域中建立同步時,請在 Bucket name (儲存貯體名稱) 欄位中指定中央 Amazon S3 儲存貯體。接著,透過 Bucket region (儲存貯體區域) 選項,即可選擇建立中央 Amazon S3 儲存貯體的區域,如下方螢幕擷取畫面所示。下次執行關聯以收集清查資料時,Systems Manager 便會將資料存放至中央 Amazon S3 儲存貯體。

Systems Manager 資源資料從多個同步 AWS 區域

為 AWS Organizations中定義的帳戶建立庫存資源資料同步

您可以將中 AWS 帳戶 定義的庫存資料同步 AWS Organizations 到中央 Amazon S3 儲存貯體。完成以下處理程序後,庫存資料便會同步到中央儲存貯體中的個別 Amazon S3 金鑰字首。每個 key prefix 代表不同的 AWS 帳戶 ID。

開始之前

在開始之前,請確認您已 AWS 帳戶 在中設定和設定 AWS Organizations。如需詳細資訊,請參閱AWS Organizations 使用者指南

此外,請注意,您必須針對每個資源資料建立以組織為基礎的資源資料同步, AWS 區域 並在中 AWS 帳戶 定義。 AWS Organizations

建立中央 Amazon S3 儲存貯體

使用以下程序建立中央 Amazon S3 儲存貯體,以存放彙總的庫存資料。程序會說明如何指派儲存貯體政策,讓 Systems Manager 將庫存資料寫入您 AWS Organizations 帳戶 ID 中的儲存貯體。如果您要使用已有的 Amazon S3 儲存貯體來彙總資源資料同步的庫存資料,則必須在以下程序中設定儲存貯體來使用政策。

為中定義的多個帳戶建立和設定 Amazon S3 儲存貯體以進行資源資料同步 AWS Organizations
  1. 前往 https://console.aws.amazon.com/s3/ 開啟的 Amazon Simple Storage Service (Amazon S3) 主控台。

  2. 建立儲存貯體以存放您彙整的清查資料。如需詳細資訊,請參閱 Amazon Simple Storage Service 主控台使用者指南中的建立儲存貯體。記下值區名稱及 AWS 區域 其建立位置。

  3. 選擇 Permissions (許可) 索引標籤,然後選擇 Bucket Policy (儲存貯體政策)

  4. 複製下列儲存貯體政策並貼至政策編輯器。以您建立的 Amazon S3 儲存貯體名稱和有效的帳戶 ID 取代 DOCK-EXAMPLE 儲存貯體和組織識別碼。 AWS Organizations

    或者,您也可以使用 Amazon S3 字首 (子目錄) 取代 bucket-prefix。如果您沒有建立字首,請在以下政策中,從 ARN 移除 bucket-prefix/

    { "Version": "2012-10-17", "Statement": [ { "Sid": "SSMBucketPermissionsCheck", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::S3_bucket_name" }, { "Sid": " SSMBucketDelivery", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/bucket-prefix/*/accountid=*/*" ], "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceOrgID": "organization-id" } } }, { "Sid": " SSMBucketDeliveryTagging", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "s3:PutObjectTagging", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/bucket-prefix/*/accountid=*/*" ] } ] }

為 AWS Organizations中定義的帳戶建立庫存資源資料同步

下列程序說明如何使用 AWS CLI 為中定義的帳號建立資源資料同步 AWS Organizations。您必須使用 AWS CLI 來執行此工作。您還必須針對中 AWS 帳戶 定義的每 AWS 區域 個項目執行此程序 AWS Organizations。

為 AWS Organizations (AWS CLI) 中定義的帳戶建立資源資料同步
  1. 安裝和配置 AWS Command Line Interface (AWS CLI),如果你還沒有。

    如需相關資訊,請參閱安裝或更新最新版本的 AWS CLI

  2. 執行下列命令,以確認您沒有任何其他AWS Organizations基於資源的資源資料同步。您可以有多個標準同步,包括多個標準同步和以組織為基礎的同步。但是,您只能同步一個組織型資源資料。

    aws ssm list-resource-data-sync

    如果指令傳回其他組織型資源資料同步,您必須刪除它們或選擇不建立新的資源資料同步。

  3. 執行以下命令來為 AWS Organizations中定義的帳戶建立資源資料同步。針對 DOC-EXAMPLE-BUCKET,指定您在本主題中稍早建立的 Amazon S3 儲存貯體名稱。如果您為儲存貯體建立了字首 (子目錄),請針對 prefix_name 指定此資訊。

    aws ssm create-resource-data-sync --sync-name name --s3-destination "BucketName=DOC-EXAMPLE-BUCKET,Prefix=prefix-name,SyncFormat=JsonSerDe,Region=AWS 區域, for example us-east-2,DestinationDataSharing={DestinationDataSharingType=Organization}"
  4. 針對您要將資料同步到中央 Amazon S3 儲存貯體的每個 AWS 帳戶 位置重複步驟 2 AWS 區域 和 3。

管理資源資料同步

每個都 AWS 帳戶 可以有 5 個資源資料同步。 AWS 區域您可以使用 AWS Systems ManagerFleet Manager 主控台來管理資源資料同步。

檢視資源資料同步
  1. 請在以下位置開啟 AWS Systems Manager 主控台。 https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Fleet Manager

  3. 帳戶管理下拉式選單中,選擇資源資料同步

  4. 從表格中選取一個資源資料同步,然後選擇檢視詳細資訊以檢視有關資源資料同步的資訊。

刪除資源資料同步
  1. 請在以下位置開啟 AWS Systems Manager 主控台。 https://console.aws.amazon.com/systems-manager/

  2. 在導覽窗格中,選擇 Fleet Manager

  3. 帳戶管理下拉式選單中,選擇資源資料同步

  4. 從表格中選取一個資源資料同步,然後選擇刪除