Walkthrough: Verwenden von Resource Data Sync zum Aggregieren von Bestandsdaten - AWS Systems Manager

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Walkthrough: Verwenden von Resource Data Sync zum Aggregieren von Bestandsdaten

Im folgenden Walkthrough wird beschrieben, wie Sie eine Resource Data Sync-Konfiguration für AWS Systems Manager -Inventory mithilfe der AWS Command Line Interface (AWS CLI) erstellen. Eine Ressourcen-Datensynchronisierung portiert alle Bestandsdaten aus verwalteten Knoten automatisch in einen zentralen Amazon Simple Storage Service (Amazon S3)-Bucket. Die Synchronisierung aktualisiert die Daten in dem zentralen Amazon S3-Bucket automatisch, sobald neue Bestandsdaten erfasst werden.

In dieser Anleitung wird außerdem beschrieben, wie Sie die aggregierten Daten mit Amazon Athena und Amazon QuickSight abfragen und analysieren können. Weitere Informationen zur Erstellung einer Resource Data Sync mit Systems Manager in der AWS Management Console finden Sie unterWalkthrough: Verwenden von Resource Data Sync zum Aggregieren von Bestandsdaten. Weitere Informationen zur Bestandsabfrage aus mehreren AWS-Regionen und Konten mithilfe von Systems Manager in der finden Sie AWS Management Console unterAbfragen von Bestandsdaten aus mehreren Regionen und Konten.

Anmerkung

Diese Anleitung enthält Informationen dazu, wie die Synchronisierung mit AWS Key Management Service (AWS KMS) verschlüsselt werden kann. Inventory erfasst keine personenbezogenen, geschützten oder vertraulichen Daten, d. h. die Verschlüsselung ist optional. Weitere Informationen zu AWS KMS finden Sie im AWS Key Management Service Entwicklerhandbuch.

Bevor Sie beginnen

Überprüfen oder erledigen Sie die folgenden Aufgaben, bevor Sie mit dem Walkthrough in diesem Abschnitt beginnen:

  • Sammeln Sie Bestandsdaten von Ihren verwalteten Knoten. Um diese Beispieldaten auch in den QuickSight Abschnitten zu Amazon Athena und Amazon in dieser Anleitung verwenden zu können, empfehlen wir, Daten über Anwendungen zu erfassen. Weitere Informationen zur Erfassung von Bestandsdaten finden Sie unter Konfigurieren der Bestandserfassung oder Verwenden von AWS CLI , um die Inventardatenerfassung zu konfigurieren.

  • (Optional) Wenn die Bestandsdaten in einem Amazon Simple Storage Service (Amazon S3) -Bucket gespeichert sind, der AWS Key Management Service (AWS KMS) Verschlüsselung verwendet, müssen Sie auch Ihr IAM Konto und die Amazon-GlueServiceRoleForSSM Servicerolle für AWS KMS -Verschlüsselung konfigurieren. Wenn Sie Ihr IAM Konto und diese Rolle nicht konfigurieren, wird Systems Manager angezeigt, Cannot load Glue tables wenn Sie die Registerkarte Detailed View (Detailansicht) in der Konsole wählen. Weitere Informationen finden Sie unter (Optional) Konfigurieren von Berechtigungen für die Anzeige von AWS KMS verschlüsselten Daten.

  • (Optional) Wenn Sie die Resource Data Sync mit verschlüsseln möchten AWS KMS, müssen Sie entweder einen neuen Schlüssel erstellen, in dem die folgende Richtlinie enthalten ist, oder Sie aktualisieren einen vorhandenen Schlüssel und fügen ihm diese Richtlinie hinzu.

    { "Version": "2012-10-17", "Id": "ssm-access-policy", "Statement": [ { "Sid": "ssm-access-policy-statement", "Action": [ "kms:GenerateDataKey" ], "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Resource": "arn:aws:kms:us-east-2:123456789012:key/KMS_key_id", "Condition": { "StringLike": { "aws:SourceAccount": "123456789012" }, "ArnLike": { "aws:SourceArn": "arn:aws:ssm:*:123456789012:resource-data-sync/*" } } } ] }
So erstellen Sie eine Resource Data Sync für Inventory
  1. Öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

  2. Erstellen Sie einen Bucket zum Speichern der aggregierten Bestandsdaten. Weitere Informationen finden Sie unter Erstellen eines Buckets im Benutzerhandbuch zu Amazon Simple Storage Service. Notieren Sie sich den Bucket-Namen und die AWS-Region , in der vorhanden ist.

  3. Wenn Sie den Bucket erstellt haben, wählen Sie die Registerkarte Permissions aus und wählen Sie dann die Option Bucket Policy.

  4. Kopieren Sie die folgende Bucket-Richtlinie in den Richtlinien-Editor. Ersetzen Sie amzn-s3-demo-bucket und account-id durch den Namen des Amazon-S3-Buckets, den Sie erstellt haben, und eine gültige AWS-Konto ID; Wenn Sie mehrere Konten hinzufügen, fügen Sie ARN für jedes Konto eine zusätzliche Bedingungszeichenfolge hinzu. Entfernen Sie die zusätzlichen Platzhalter aus dem Beispiel, wenn Sie einzelne Konten hinzufügen. Optional können Sie ersetzen bucket-prefix durch den Namen eines Amazon S3 S3-Präfixes (Unterverzeichnis); Wenn Sie kein Präfix erstellt haben, entfernen Sie es bucket-prefix/ aus dem ARN in der Richtlinie.

    { "Version": "2012-10-17", "Statement": [ { "Sid": " SSMBucketDelivery", "Effect": "Allow", "Principal": { "Service": "ssm.amazonaws.com" }, "Action": "s3:PutObject", "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket/bucket-prefix/*/accountid=account-id/*" ], "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": [ "account-id1", "account-id2", "account-id3", "account-id4" ] }, "ArnLike": { "aws:SourceArn": [ "arn:aws:ssm:*:account-id1:resource-data-sync/*", "arn:aws:ssm:*:account-id2:resource-data-sync/*", "arn:aws:ssm:*:account-id3:resource-data-sync/*", "arn:aws:ssm:*:account-id4:resource-data-sync/*" ] } } } ] }
  5. (Optional) Wenn Sie die Synchronisierung verschlüsseln möchten, müssen Sie der im vorherigen Schritt aufgeführten Richtlinie die folgenden Bedingungen hinzufügen. Fügen Sie diese zum Abschnitt StringEquals hinzu.

    "s3:x-amz-server-side-encryption":"aws:kms", "s3:x-amz-server-side-encryption-aws-kms-key-id":"arn:aws:kms:region:account_ID:key/KMS_key_ID"

    Ein Beispiel:

    "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": "account-id", "s3:x-amz-server-side-encryption":"aws:kms", "s3:x-amz-server-side-encryption-aws-kms-key-id":"arn:aws:kms:region:account_ID:key/KMS_key_ID" }
  6. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), wenn noch nicht erfolgt.

    Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version von AWS CLI.

  7. (Optional) Wenn Sie die Synchronisierung verschlüsseln möchten, führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Bucket-Richtlinie die Anforderungen des AWS KMS -Schlüssels erzwingt. Ersetzen Sie jeden example resource placeholder mit Ihren eigenen Informationen.

    Linux & macOS
    aws s3 cp ./A_file_in_the_bucket s3://amzn-s3-demo-bucket/prefix/ \ --sse aws:kms \ --sse-kms-key-id "arn:aws:kms:region:account_ID:key/KMS_key_id" \ --region region, for example, us-east-2
    Windows
    aws s3 cp ./A_file_in_the_bucket s3://amzn-s3-demo-bucket/prefix/ ^ --sse aws:kms ^ --sse-kms-key-id "arn:aws:kms:region:account_ID:key/KMS_key_id" ^ --region region, for example, us-east-2
  8. Führen Sie den folgenden Befehl aus, um eine Resource Data Sync-Konfiguration mit dem zu Beginn dieses Verfahrens erstellten Amazon S3-Bucket zu erstellen. Mit diesem Befehl wird eine Synchronisierung aus der erstellt, in der AWS-Region Sie angemeldet sind.

    Anmerkung

    Wenn sich der Synchronisierungs- und der Amazon S3-Ziel-Bucket in verschiedenen Regionen befinden, können Kosten für Datenübertragung anfallen. Weitere Informationen finden Sie unter Amazon S3 – Preise.

    Linux & macOS
    aws ssm create-resource-data-sync \ --sync-name a_name \ --s3-destination "BucketName=amzn-s3-demo-bucket,Prefix=prefix_name, if_specified,SyncFormat=JsonSerDe,Region=bucket_region"
    Windows
    aws ssm create-resource-data-sync ^ --sync-name a_name ^ --s3-destination "BucketName=amzn-s3-demo-bucket,Prefix=prefix_name, if_specified,SyncFormat=JsonSerDe,Region=bucket_region"

    Sie können über den region-Parameter angeben, wo die Synchronisierungskonfiguration erstellt werden soll. Im folgenden Beispiel werden Bestandsdaten aus der Region us-west-1 in dem Amazon S3-Bucket in der Region us-west-2 synchronisiert.

    Linux & macOS
    aws ssm create-resource-data-sync \ --sync-name InventoryDataWest \ --s3-destination "BucketName=amzn-s3-demo-bucket,Prefix=HybridEnv,SyncFormat=JsonSerDe,Region=us-west-2" --region us-west-1
    Windows
    aws ssm create-resource-data-sync ^ --sync-name InventoryDataWest ^ --s3-destination "BucketName=amzn-s3-demo-bucket,Prefix=HybridEnv,SyncFormat=JsonSerDe,Region=us-west-2" ^ --region us-west-1

    (Optional) Wenn Sie die Synchronisierung mit verschlüsseln möchten, führen Sie den folgenden Befehl aus AWS KMS, um die Synchronisierung zu erstellen. Wenn Sie die Synchronisierung verschlüsseln, müssen sich der AWS KMS -Schlüssel und der Amazon S3 S3-Bucket in derselben Region befinden.

    Linux & macOS
    aws ssm create-resource-data-sync \ --sync-name sync_name \ --s3-destination "BucketName=amzn-s3-demo-bucket,Prefix=prefix_name, if_specified,SyncFormat=JsonSerDe,AWSKMSKeyARN=arn:aws:kms:region:account_ID:key/KMS_key_ID,Region=bucket_region" \ --region region
    Windows
    aws ssm create-resource-data-sync ^ --sync-name sync_name ^ --s3-destination "BucketName=amzn-s3-demo-bucket,Prefix=prefix_name, if_specified,SyncFormat=JsonSerDe,AWSKMSKeyARN=arn:aws:kms:region:account_ID:key/KMS_key_ID,Region=bucket_region" ^ --region region
  9. Führen Sie den folgenden Befehl aus, um den Status der Synchronisierungskonfiguration anzuzeigen.

    aws ssm list-resource-data-sync

    Wenn Sie die Synchronisierungskonfiguration in einer anderen Region erstellt haben, müssen Sie den region-Parameter angeben, wie im folgenden Beispiel gezeigt.

    aws ssm list-resource-data-sync --region us-west-1
  10. Wenn die Synchronisierungskonfiguration erfolgreich erstellt wurde, prüfen Sie den Ziel-Bucket in Amazon S3. Die Bestandsdaten sollten in der Regel nach nur wenige Minuten angezeigt werden.

Arbeiten mit den Daten in Amazon Athena

Im folgenden Abschnitt wird beschrieben, wie Sie die Daten in Amazon Athena anzeigen und abfragen können. Bevor Sie beginnen, empfehlen wir Ihnen, sich mit Athena vertraut zu machen. Weitere Informationen finden Sie unter Was ist Amazon Athena? und Arbeiten mit Daten im Benutzerhandbuch für Amazon Athena.

Anzeigen und Abfragen von Daten in Amazon Athena
  1. Öffnen Sie die Athena-Konsole unter https://console.aws.amazon.com/athena/.

  2. Kopieren Sie die folgende Anweisung, fügen Sie sie in den Abfrage-Editor ein und wählen Sie dann Run Query.

    CREATE DATABASE ssminventory

    Das System erstellt eine Datenbank mit dem Namen ssminventory.

  3. Kopieren Sie die folgende Anweisung, fügen Sie sie in den Abfrage-Editor ein und wählen Sie dann Run Query. Ersetzen Sie amzn-s3-demo-bucket und bucket_prefix durch den Namen und das Präfix des Amazon-S3-Ziels;

    CREATE EXTERNAL TABLE IF NOT EXISTS ssminventory.AWS_Application ( Name string, ResourceId string, ApplicationType string, Publisher string, Version string, InstalledTime string, Architecture string, URL string, Summary string, PackageId string ) PARTITIONED BY (AccountId string, Region string, ResourceType string) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = '1' ) LOCATION 's3://amzn-s3-demo-bucket/bucket_prefix/AWS:Application/'
  4. Kopieren Sie die folgende Anweisung, fügen Sie sie in den Abfrage-Editor ein und wählen Sie dann Run Query.

    MSCK REPAIR TABLE ssminventory.AWS_Application

    Das System partitioniert die Tabelle.

    Anmerkung

    Wenn Sie Resource Data Syncs von weiteren AWS-Regionen oder erstellen AWS-Konten, müssen Sie diesen Befehl erneut ausführen, um die Partitionen zu aktualisieren. Sie müssen möglicherweise auch Ihre Amazon S3-Bucket-Richtlinie aktualisieren.

  5. Sie können Ihre Daten in der Vorschau anzeigen, indem Sie das Ansichtssymbol neben der Tabelle AWS_Application wählen.

    Das Daten-Vorschau-Symbol in Amazon Athena.
  6. Kopieren Sie die folgende Anweisung, fügen Sie sie in den Abfrage-Editor ein und wählen Sie dann Run Query.

    SELECT a.name, a.version, count( a.version) frequency from aws_application a where a.name = 'aws-cfn-bootstrap' group by a.name, a.version order by frequency desc

    Die Abfrage liefert eine Anzahl verschiedener Versionen vonaws-cfn-bootstrap, einer AWS -Anwendung, die auf Amazon Elastic Compute Cloud (AmazonEC2) -Instances für Linux vorhanden ist. macOS, und Windows Server.

  7. Kopieren Sie die folgenden Anweisungen einzeln und fügen Sie sie in den Abfrage-Editor ein, ersetzen Sie amzn-s3-demo-bucket und bucket-prefix mit Informationen für Amazon S3, und wählen Sie dann Run Query. Diese Anweisungen richten zusätzliche Bestandstabellen in Athena ein.

    CREATE EXTERNAL TABLE IF NOT EXISTS ssminventory.AWS_AWSComponent ( `ResourceId` string, `Name` string, `ApplicationType` string, `Publisher` string, `Version` string, `InstalledTime` string, `Architecture` string, `URL` string ) PARTITIONED BY (AccountId string, Region string, ResourceType string) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = '1' ) LOCATION 's3://amzn-s3-demo-bucket/bucket-prefix/AWS:AWSComponent/'
    MSCK REPAIR TABLE ssminventory.AWS_AWSComponent
    CREATE EXTERNAL TABLE IF NOT EXISTS ssminventory.AWS_WindowsUpdate ( `ResourceId` string, `HotFixId` string, `Description` string, `InstalledTime` string, `InstalledBy` string ) PARTITIONED BY (AccountId string, Region string, ResourceType string) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = '1' ) LOCATION 's3://amzn-s3-demo-bucket/bucket-prefix/AWS:WindowsUpdate/'
    MSCK REPAIR TABLE ssminventory.AWS_WindowsUpdate
    CREATE EXTERNAL TABLE IF NOT EXISTS ssminventory.AWS_InstanceInformation ( `AgentType` string, `AgentVersion` string, `ComputerName` string, `IamRole` string, `InstanceId` string, `IpAddress` string, `PlatformName` string, `PlatformType` string, `PlatformVersion` string ) PARTITIONED BY (AccountId string, Region string, ResourceType string) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = '1' ) LOCATION 's3://amzn-s3-demo-bucket/bucket-prefix/AWS:InstanceInformation/'
    MSCK REPAIR TABLE ssminventory.AWS_InstanceInformation
    CREATE EXTERNAL TABLE IF NOT EXISTS ssminventory.AWS_Network ( `ResourceId` string, `Name` string, `SubnetMask` string, `Gateway` string, `DHCPServer` string, `DNSServer` string, `MacAddress` string, `IPV4` string, `IPV6` string ) PARTITIONED BY (AccountId string, Region string, ResourceType string) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = '1' ) LOCATION 's3://amzn-s3-demo-bucket/bucket-prefix/AWS:Network/'
    MSCK REPAIR TABLE ssminventory.AWS_Network
    CREATE EXTERNAL TABLE IF NOT EXISTS ssminventory.AWS_PatchSummary ( `ResourceId` string, `PatchGroup` string, `BaselineId` string, `SnapshotId` string, `OwnerInformation` string, `InstalledCount` int, `InstalledOtherCount` int, `NotApplicableCount` int, `MissingCount` int, `FailedCount` int, `OperationType` string, `OperationStartTime` string, `OperationEndTime` string ) PARTITIONED BY (AccountId string, Region string, ResourceType string) ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe' WITH SERDEPROPERTIES ( 'serialization.format' = '1' ) LOCATION 's3://amzn-s3-demo-bucket/bucket-prefix/AWS:PatchSummary/'
    MSCK REPAIR TABLE ssminventory.AWS_PatchSummary

Mit den Daten in Amazon arbeiten QuickSight

Der folgende Abschnitt bietet eine Übersicht zum Erstellen einer Visualisierung in Amazon sowie weiterführende Links QuickSight.

Erstellen einer Visualisierung in Amazon QuickSight
  1. Melden Sie sich bei Amazon an QuickSight und melden Sie sich dann an der QuickSight Konsole an.

  2. Erstellen Sie einen Datensatz aus der Tabelle AWS_Application sowie aus allen anderen Tabellen, die Sie erstellt haben. Weitere Informationen finden Sie unter Erstellen eines Datasets mit Amazon Athena-Daten.

  3. Verknüpfen Sie Tabellen. Sie können z. B. die Spalte instanceid aus AWS_InstanceInformation verknüpfen, da sie der Spalte resourceid in anderen Bestandstabellen entspricht. Weitere Informationen zum Verknüpfen von Tabellen finden Sie unter Verknüpfen von Tabellen.

  4. Erstellen Sie eine Visualisierung. Weitere Informationen finden Sie unter Arbeiten mit Amazon QuickSight Visuals.