Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Démonstration : utiliser la synchronisation de données de ressources pour regrouper les données d'inventaire
La procédure pas à pas suivante indique comment créer une synchronisation de données de ressource pour AWS Systems Manager Inventory à l'aide de l' AWS Command Line Interface (AWS CLI). Une synchronisation de données de ressources transfère automatiquement les données d'inventaire collectées depuis tous vos nœuds gérés vers un compartiment Amazon Simple Storage Service (Amazon S3) central. La synchronisation met automatiquement à jour les données dans le compartiment Amazon S3 central lors de la découverte de nouvelles données d'inventaire.
Cette procédure pas à pas indique également comment utiliser Amazon Athena et QuickSight Amazon pour interroger et analyser les données agrégées. Pour de plus amples informations sur la création d'une synchronisation de données de ressource à l'aide de Systems Manager dans la AWS Management Console, consultezDémonstration : utiliser la synchronisation de données de ressources pour regrouper les données d'inventaire. Pour obtenir des informations sur l'interrogation d'Inventory à partir de plusieurs Régions AWS et comptes en utilisant Systems Manager dans la AWS Management Console, consultezInterrogation des données d'inventaire à partir de plusieurs régions et comptes.
Note
Cette procédure pas à pas comporte des informations sur la façon de chiffrer la synchronisation avec AWS Key Management Service (AWS KMS). Comme l'inventaire ne collecte aucune donnée spécifique à l'utilisateur, propriétaire ou sensible, le chiffrement est facultatif. Pour plus d'informations à ce sujet AWS KMS, consultez le Guide AWS Key Management Service du développeur.
Avant de commencer
Vérifiez ou effectuez les tâches suivantes avant de commencer la démonstration de cette section :
-
Collectez les données d'inventaire de vos nœuds gérés. Pour les besoins des QuickSight sections Amazon Athena et Amazon de cette procédure pas à pas, nous vous recommandons de collecter les données d'application. Pour plus d'informations sur la façon de collecter des données d'inventaire, consultez Configuration de la collecte d'inventaire ou Utilisation du AWS CLI pour configurer la collecte des données d'inventaire.
-
(Facultatif) Si les données d'inventaire sont stockées dans un compartiment Amazon Simple Storage Service (Amazon S3) AWS Key Management Service utilisant le chiffrement AWS KMS(), vous devez aussi configurer IAM votre compte et
Amazon-GlueServiceRoleForSSM
le rôle AWS KMS de service pour le chiffrement. Si vous ne configurez pas votre IAM compte et ce rôle, Systems Manager s'afficheCannot load Glue tables
lorsque vous choisissez l'onglet Vue détaillée sur la console. Pour de plus amples informations, veuillez consulter (Facultatif) Configurer les autorisations pour l'affichage de données AWS KMS chiffrées. -
(Facultatif) Si vous souhaitez chiffrer la synchronisation des données de ressource avec AWS KMS, vous devez créer une nouvelle clé incluant la politique suivante, ou mettre à jour une clé existante et lui ajouter cette politique.
{ "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/*" } } } ] }
Pour créer une synchronisation des données de ressource pour l'inventaire
Ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/
. -
Créez un compartiment pour stocker vos données d'inventaire agrégées. Pour plus d'informations, consultez Création d'un compartiment dans le Guide de l'utilisateur d'Amazon Simple Storage Service. Notez le nom du compartiment et la dans Région AWS laquelle vous l'avez créé.
-
Après avoir créé le compartiment, sélectionnez l'onglet Autorisations, puis sélectionnez Politique de compartiment.
-
Copiez et collez la politique de compartiment suivante dans l'éditeur de politique. Remplacez amzn-s3-demo-bucket et
account-id
par le nom du compartiment Amazon S3 que vous avez créé et un Compte AWS identifiant valide. Si vous ajoutez plusieurs comptes, ajoutez une chaîne de conditions supplémentaire et ARN pour chaque compte. Supprimez les espaces réservés supplémentaires de l'exemple lors de l'ajout d'un compte. Facultativement, remplacezbucket-prefix
par le nom d'un préfixe Amazon S3 (sous-répertoire). Si vous n'avez pas créé de préfixe, supprimezbucket-prefix/
à partir du ARN contenu de la politique.{ "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/*" ] } } } ] } -
(Facultatif) Si vous souhaitez chiffrer la synchronisation, vous devez ajouter les conditions suivantes à la politique définie dans l’étape précédente. Ajoutez les dans la section
StringEquals
."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
"Voici un exemple :
"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
" } Si vous ne l'avez pas déjà fait, installez et configurez l' AWS Command Line Interface (AWS CLI).
Pour de plus amples informations, consultez Installation ou mise à jour de la version la plus récente de l' AWS CLI.
-
(Facultatif) Si vous voulez chiffrer la synchronisation, exécutez la commande suivante afin de vérifier que la politique de compartiment applique la AWS KMS clé requise. Remplacez chacun
example resource placeholder
avec vos propres informations. -
Exécutez la commande suivante pour créer une configuration de synchronisation de données de ressource avec le compartiment Amazon S3 que vous avez créé au début de cette procédure. Cette commande crée une synchronisation à partir de la dans Région AWS laquelle vous êtes actuellement connecté.
Note
Si la synchronisation et le compartiment Amazon S3 cible sont localisés dans des régions différentes, vous pourriez être sujet à une tarification de transfert de données. Pour plus d'informations, consultez Tarification Amazon S3
. Vous pouvez utiliser le paramètre
region
pour spécifier l'emplacement dans lequel la configuration de synchronisation doit être créée. Dans l'exemple suivant, les données d'inventaire de la région us-west-1 seront synchronisées dans le compartiment Amazon S3 de la région us-west-2.(Facultatif) Si vous souhaitez chiffrer la synchronisation avec AWS KMS, exécutez la commande suivante pour créer la synchronisation. Si vous chiffrez la synchronisation, la AWS KMS clé et le compartiment Amazon S3 doivent se trouver dans la même région.
-
Exécutez la commande suivante pour afficher le statut de la configuration de synchronisation.
aws ssm list-resource-data-sync
Si vous avez créé la configuration de synchronisation dans une autre région, vous devez spécifier le paramètre
region
, comme illustré dans l'exemple suivant.aws ssm list-resource-data-sync --region us-west-1
-
Une fois la configuration de synchronisation créée, examinez le compartiment cible dans Amazon S3. Les données d'inventaire doivent apparaître en quelques minutes.
Utilisation des données dans Amazon Athena
La section suivante décrit comment afficher et interroger les données dans Amazon Athena. Avant de commencer, nous vous recommandons de vous familiariser avec Athena. Pour de plus amples informations, consultez Qu'est-ce que Amazon Athena ? et Utilisation des données dans le Guide de l'utilisateur d'Amazon Athena.
Pour afficher et interroger les données dans Amazon Athena
Ouvrez la console à l'adresse https://console.aws.amazon.com/athena/
. -
Copiez et collez la déclaration suivante dans l'éditeur de requête, puis sélectionnez Exécuter la requête.
CREATE DATABASE ssminventory
Le système crée une base de données nommée ssminventory.
-
Copiez et collez la déclaration suivante dans l'éditeur de requête, puis sélectionnez Exécuter la requête. Remplacez amzn-s3-demo-bucket et
bucket_prefix
par le nom et le préfixe de la cible Amazon S3.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/' -
Copiez et collez la déclaration suivante dans l'éditeur de requête, puis sélectionnez Exécuter la requête.
MSCK REPAIR TABLE ssminventory.AWS_Application
Le système effectue le partitionnement de la table.
Note
Si vous créez des synchronisations de données de ressource à partir de Régions AWS ou de supplémentaires Comptes AWS, vous devez exécuter à nouveau cette commande pour mettre à jour les partitions. Il est probable que vous deviez également mettre à jour votre politique de compartiment Amazon S3.
-
Pour prévisualiser vos données, sélectionnez l'icône Aperçu située à côté de la table
AWS_Application
. -
Copiez et collez la déclaration suivante dans l'éditeur de requête, puis sélectionnez Exécuter la requête.
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
La requête renvoie un nombre de versions différentes de
aws-cfn-bootstrap
, qui est une AWS application présente sur des instances Amazon Elastic Compute Cloud (AmazonEC2) pour Linux, macOS, et Windows Server. -
Copiez et collez individuellement les instructions suivantes dans l'éditeur de requêtes, remplacez amzn-s3-demo-bucket et
bucket-prefix
avec des informations pour Amazon S3, puis choisissez Run Query. Ces déclarations définissent des tables d'inventaire supplémentaires dans Athena.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
Travailler avec les données d'Amazon QuickSight
La section suivante fournit une présentation des liens pour la création d'une visualisation sur Amazon QuickSight.
Pour créer une visualisation sur Amazon QuickSight
-
Inscrivez-vous à Amazon
, QuickSight puis connectez-vous à la QuickSight console. -
Créez un ensemble de données depuis la table
AWS_Application
et toute autre table que vous avez créée. Pour de plus amples informations, consultez Création d'un ensemble de données à l'aide d'Amazon Athena. -
Joignez les tables. Par exemple, vous pouvez joindre la colonne
instanceid
depuisAWS_InstanceInformation
car elle correspond à la colonneresourceid
dans d'autres tables d'inventaire. Pour plus d'informations sur la jonction de tables, consultez Jonction de tables. -
Créez une visualisation. Pour plus d'informations, consultez la section Travailler avec Amazon QuickSight Visuals.