架構庫存的資源資料同步 - AWS Systems Manager

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

架構庫存的資源資料同步

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

關於資源資料同步

您可以使用 Systems Manager 資源資料同步,將所有受管執行個體收集的清查資料傳送至單一 Amazon Simple Storage Service (Amazon S3) 儲存貯體。然後,資源資料同步會在收集新的清查資料時自動更新集中的資料。當所有清查資料存放至目標 Amazon S3 儲存貯體後,您就能利用 Amazon Athena 和 Amazon QuickSight 等服務來查詢和分析彙整的資料。

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

透過資源資料同步,您只要執行一次性操作,即可同步來自所有受管執行個體的任何清查資料。成功建立同步後,Systems Manager 會建立所有清查資料的基準,並將其存放至目標 Amazon S3 儲存貯體。收集到新的清查資料時,Systems Manager 會自動更新 Amazon S3 儲存貯體中的資料。然後,您就能利用快速且具成本效益的方式,將資料傳輸至 Amazon AsseInventory 和 Amazon QuickSight。

圖 1 顯示資源資料同步如何將和混合環境中受管執行個體的清查資料,彙總至目標 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 CloudFormationTemplate Template 如需相關資訊,請參閱下列任一文件資源:

注意

您可以使用AWS Key Management Service(AWS KMS) 來加密 Amazon S3 儲存貯體中的清查資料。如需如何使用建立加密同步作業的範例AWS Command Line Interface(AWS CLI),以及如何使用 Amazon Aventory 和 Amazon Athena ventory 中的集中資料,請參閱逐步解說:使用資源資料同步來彙總清查資料

開始之前

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

注意

如果該儲存貯體設定為使用物件鎖定,則 Systems Manager 詳細目錄無法將資料新增至指定的 Amazon S3 儲存貯體。確認您為資源資料同步建立或選擇的 Amazon S3 儲存貯體未配置為使用 Amazon S3 物件鎖定。如需詳細資訊,請參閱「」Amazon S3 物件鎖定的運作方式中的Amazon Simple Storage Service 主控台用戶指南

建立和設定資源資料同步的 Amazon S3 儲存貯體

  1. 開啟位於 https://console.aws.amazon.com/s3/ 的 Amazon S3 主控台。

  2. 建立儲存貯體以存放您彙總的庫存資料。如需詳細資訊,請參閱「」建立儲存貯體中的Amazon Simple Storage Service 入門指南。記下儲存貯體名稱和 AWS 區域 你創建它的地方。

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

  4. 複製下列儲存貯體政策並貼至政策編輯器。Replace文檔示例桶account-id替換為您創建的 S3 儲存貯體的名稱和有效 AWS 帳戶 ID。

    若要允許多個 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/*" ],

    (選擇性) 取代時段前置詞替換為 Amazon S3 字首 (子目錄) 的名稱。如果您沒有建立字首,請在以下政策中,從 ARN 移除 bucket-prefix/

    注意

    如需檢視 AWS 帳戶 ID,請參閱您的 Amazon Web Services 帳戶 ID 和其別名中的IAM User Guide

    { "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/bucket-prefix/*/accountid=account-id-1/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/bucket-prefix/*/accountid=account-id-2/*", "arn:aws:s3:::DOC-EXAMPLE-BUCKET/bucket-prefix/*/accountid=account-id-3/*" ], "Condition":{ "StringEquals":{ "s3:x-amz-acl":"bucket-owner-full-control" } } } ] }
    注意

    亞太區域在 2019 年 4 月 25 日上線。如果您建立資源資料同步 AWS 區域 (香港) 區域 (ap-east-1) 或後續版本上線後,您必須在SSMBucketDelivery] 區段。下列範例包含區域專屬服務委託人項目ssm.ap-east-1.amazonaws.com

    { "Sid":" SSMBucketDelivery", "Effect":"Allow", "Principal":{ "Service":["ssm.amazonaws.com","ssm.ap-east-1.amazonaws.com"] },

建立庫存的資源資料同步

遵循以下程序,即可使用 Systems Manager 主控台來建立 Systems Manager 庫存的資源資料同步。如需如何使用 AWS CLI 建立資源資料同步的資訊,請參閱 逐步解說:使用 CLI 將受管的執行個體設定為使用庫存

建立資源資料同步

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

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

    -或-

    如果AWS Systems Manager首頁會先開啟,選擇功能表圖示 ( ) 開啟導覽窗格,然後選擇Fleet Manager在導覽窗格中。

  3. 在 中帳戶管理功能表,選擇資源資料同步

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

  5. 在 中同步名稱欄位中,輸入同步組態的名稱。

  6. 在 中儲存貯體名稱欄位中,輸 Amazon S3 您使用建立和設定資源資料同步的 Amazon S3 儲存貯體程序。

  7. (選擇性) 在時段前置字元欄位中,輸入 Amazon S3 儲存貯體前置詞 (子目錄) 的名稱。

  8. 在 中儲存貯體區域欄位中,選擇這個地區如果您建立的 Amazon S3 儲存貯體位於目前的 AWS 區域 。如果儲存貯體位於不同的 AWS 區域 中,選擇另一個區域,然後輸入區域的名稱。

    注意

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

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

  10. 選擇 Create (建立)。

同步來自多個 AWS 區域 ,您必須在EADS區域。重複此程序在每個 AWS 區域 收集庫存資料,並將其傳送至中央 Amazon S3 儲存貯體。在每個區域中建立同步時,請在儲存貯體名稱欄位。然後使用儲存貯體區域選項,即可選擇建立中央 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 S3 主控台。

  2. 建立儲存貯體以存放您的彙整清查資料。如需詳細資訊,請參閱「」建立儲存貯體中的Amazon Simple Storage Service 入門指南。記下儲存貯體名稱和 AWS 區域 你創建它的地方。

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

  4. 複製下列儲存貯體政策並貼至政策編輯器。Replace文檔示例桶組織 ID替換為您建立的 Amazon S3 儲存貯體名稱和有效AWS Organizations帳戶 ID。

    (選擇性) 取代時段前置詞替換為 Amazon S3 字首 (子目錄) 的名稱。如果您沒有建立字首,請在以下政策中,從 ARN 移除 bucket-prefix/

    { "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/bucket-prefix/*/accountid=*/*" ], "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "s3:RequestObjectTag/OrgId": "organization-id" } } }, { "Sid": " SSMBucketDeliveryTagging", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "s3:PutObjectTagging", "Resource": [ "arn:aws:s3:::DOC-EXAMPLE-BUCKET/bucket-prefix/*/accountid=*/*" ] } ] }
    注意

    亞太區域在 2019 年 4 月 25 日上線。如果您建立資源資料同步 AWS 區域 (香港) 區域 (ap-east-1) 或後續版本上線後,您必須在SSMBucketDelivery] 區段。下列範例包含區域專屬服務委託人項目ssm.ap-east-1.amazonaws.com

    { "Sid":" SSMBucketDelivery", "Effect":"Allow", "Principal":{ "Service":["ssm.amazonaws.com","ssm.ap-east-1.amazonaws.com"] },

為中定義的帳號建立清查資源資料同步AWS Organizations

下列程序說明如何使用AWS CLI為中定義的帳戶建立資源資料同步AWS Organizations。您必須使用 AWS CLI 來執行此任務。您也必須針對每個 AWS 區域 和 AWS 帳戶 定義於AWS Organizations。

為中定義的帳戶建立資源資料同步AWS Organizations(AWS CLI)

  1. 安裝及設定AWS Command Line Interface(AWS CLI),如果您尚未啟動。

    如需相關資訊,請參閱「」。安裝或升級AWS命令列工具

  2. 執行下列命令,以驗證您沒有任何其他資源資料同步。您只能有一個以組織為基礎的資源資料同步。

    aws ssm list-resource-data-sync

    如果該命令傳回另一個資源資料同步,您必須刪除該資源資料同步,或選擇不建立新的資源資料同步。

  3. 執行下列命令,為中定義的帳戶建立資源資料同步。AWS Organizations。適用於文檔示例桶中,指定您在本主題稍早建立的 Amazon S3 儲存貯體名稱。如果您為儲存貯體建立了字首 (子目錄),請針對字首名稱

    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. 每次重複步驟 2 和 3 AWS 區域 和 AWS 帳戶 您想要在其中將資料同步到中央 Amazon S3 儲存貯體。