Procedura dettagliata: utilizzo di sincronizzazione dati risorsa per aggregare dati di inventario
La seguente procedura guidata descrive come creare una configurazione Resource Data Sync Inventory AWS Systems Manager per tramite AWS Command Line Interface (AWS CLI). Una sincronizzazione dati risorsa trasferisce automaticamente i dati di inventario della porta da tutti i nodi gestiti a un bucket Amazon Simple Storage Service (Amazon S3) centralizzato. La sincronizzazione aggiorna automaticamente i dati nel bucket Amazon S3 centralizzato ogni volta che vengono rilevati dati di inventario.
Questa procedura guidata descrive inoltre come utilizzare Amazon Athena e Amazon QuickSight per eseguire query e analisi sui dati aggregati. Per informazioni sulla creazione di un Resource Data Sync tramite Systems Manager in AWS Management Console, consulta Procedura dettagliata: utilizzo di sincronizzazione dati risorsa per aggregare dati di inventario. Per informazioni sull'interrogazione dell'inventario da più Regioni AWS e gli account utilizzando Systems Manager in AWS Management Console, consulta Esecuzione di query sui dati di inventario da più regioni e account.
Nota
Questa procedura guidata include informazioni su come crittografare la sincronizzazione utilizzando AWS Key Management Service (AWS KMS). Inventory non raccoglie dati sensibili, proprietari o specifici dell'utente, pertanto la crittografia è facoltativa. Per ulteriori informazioni su AWS KMS, consulta la Guida per sviluppatori di AWS Key Management Service.
Prima di iniziare
Prima di iniziare la spiegazione passo per passo in questa sezione, consulta o completa i processi descritti di seguito.
-
Raccogli dati di inventario dai tuoi nodi gestiti. Per le sezioni Amazon Athena e Amazon QuickSight di questa procedura guidata, ti consigliamo di raccogliere i dati delle applicazioni. Per ulteriori informazioni su come raccogliere i dati di Inventory, consulta Configurazione della raccolta dell'inventario o Utilizzare AWS CLI per configurare la raccolta dei dati di inventario.
-
(Facoltativo) Se i dati dell'inventario sono archiviati in un bucket Amazon Simple Storage Service (Amazon S3) che utilizza una crittografia AWS Key Management Service (AWS KMS), è inoltre necessario configurare il proprio account IAM e il ruolo di servizio
Amazon-GlueServiceRoleForSSMper la crittografia AWS KMS. Se non si configura l'account IAM e questo ruolo, Systems Manager visualizzaCannot load Glue tablesquando si sceglie l'opzione Detailed View (Visualizzazione dettagliata) nella console. Per ulteriori informazioni, consulta (Opzionale) Configurare le autorizzazioni per la visualizzazione di dati crittografati AWS KMS. -
(Facoltativo) Se desideri crittografare la sincronizzazione dati risorsa utilizzando AWS KMS, devi creare una nuova chiave che includa la seguente policy oppure devi aggiornare una chiave esistente e aggiungervi questa policy.
Per creare un Resource Data Sync for Inventory
Apri la console di Amazon S3 su https://console.aws.amazon.com/s3/
. -
Creare un bucket in cui archiviare i dati di inventario aggregati. Per ulteriori informazioni, consulta Create a Bucket (Creazione di un bucket) nella Guida per l'utente di Amazon Simple Storage Service. Prendi nota del nome del bucket e della Regione AWS in cui è stato creato.
-
Dopo aver creato il bucket, scegliere la scheda Permissions (Autorizzazioni), quindi Bucket Policy (Policy del bucket).
-
Copiare e incollare la policy del bucket seguente nell'editor di policy. Sostituire amzn-s3-demo-bucket e
account-idcon il nome del bucket Amazon S3 creato e un ID Account AWS valido. Quando aggiungi più account, aggiungi una stringa di condizioni e un ARN aggiuntivi per ogni account. Rimuovi i segnaposto aggiuntivi dall'esempio quando aggiungi un account. Facoltativamente, sostituirebucket-prefixcon il nome di un prefisso Amazon S3 (sottodirectory). Se non è stato creato un prefisso, rimuovereBucket-Prefix/dall'ARN nella policy. -
(Facoltativo) Se desideri crittografare la sincronizzazione, dovrai aggiungere le seguenti condizioni alla policy riportata nel passaggio precedente. Aggiungila nella sezione
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"Ecco un esempio:
"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" } Se non lo hai ancora fatto, installa e configura AWS Command Line Interface (AWS CLI).
Per informazioni, consulta la pagina Installazione o aggiornamento della versione più recente di AWS CLI.
-
(Facoltativo) Per criptare la sincronizzazione, eseguire il comando riportato di seguito per verificare che la policy del bucket stia imponendo il requisito chiave AWS KMS. Sostituisci ciascun
segnaposto delle risorse di esempiocon le tue informazioni. -
Eseguire questo comando per creare una configurazione della sincronizzazione dati risorsa per aggregare dati di inventario con il bucket Amazon S3 creato all'inizio di questa procedura. Questo comando crea una sincronizzazione dalla Regione AWS a cui si è collegati.
Nota
Se la sincronizzazione e il bucket Amazon S3 di destinazione si trovano in regioni diverse, potrebbero essere applicati i prezzi per il trasferimento dei dati. Per ulteriori informazioni, consulta Prezzi di Amazon S3
. È possibile utilizzare il parametro
regionper specificare la regione in cui creare la configurazione di sincronizzazione. Nell'esempio seguente, i dati di inventario dalla regione us-west-1 saranno sincronizzati nel bucket Amazon S3 nella regione us-west-2.(Facoltativo) Per criptare la sincronizzazione con AWS KMS, eseguire il comando riportato di seguito per creare la sincronizzazione. Se si esegue la crittografia della sincronizzazione, la chiave AWS KMS e il bucket Amazon S3 devono trovarsi nella stessa regione.
-
Eseguire questo comando per visualizzare lo stato della configurazione di sincronizzazione.
aws ssm list-resource-data-syncSe la configurazione di sincronizzazione è stata creata in un'altra regione, è necessario specificare il parametro
region, come mostrato nel seguente esempio.aws ssm list-resource-data-sync --region us-west-1 -
Una volta creata la configurazione di sincronizzazione, esamina il bucket di destinazione in Amazon S3. I dati di inventario dovrebbero essere visualizzati entro pochi minuti.
Utilizzo dei dati in Amazon Athena
La sezione seguente descrive come visualizzare ed eseguire query sui dati in Amazon Athena. Prima di iniziare, ti consigliamo di familiarizzare con Athena. Per ulteriori informazioni, consulta Che cos'è Amazon Athena? e Utilizzo dei dati nella Guida per l'utente di Amazon Athena.
Per visualizzare ed eseguire query sui dati in Amazon Athena
Aprire la console Athena all'indirizzo https://console.aws.amazon.com/athena/
. -
Copiare e incollare la seguente istruzione nell'editor di query e scegliere Run Query (Esegui query).
CREATE DATABASE ssminventoryIl sistema crea un database denominato ssminventory.
-
Copiare e incollare la seguente istruzione nell'editor di query e scegliere Run Query (Esegui query). Sostituisci amzn-s3-demo-bucket e
bucket_prefixcon il nome e il prefisso della destinazione 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/' -
Copiare e incollare la seguente istruzione nell'editor di query e scegliere Run Query (Esegui query).
MSCK REPAIR TABLE ssminventory.AWS_ApplicationIl sistema esegue la partizione della tabella.
Nota
Se si creano Resource Data Sync da altri Regioni AWS o Account AWS, è necessario eseguire nuovamente questo comando per aggiornare le partizioni. Potrebbe anche essere necessario aggiornare la policy del bucket Amazon S3.
-
Per visualizzare un'anteprima dei dati, scegliere l'icona vista accanto alla tabella
AWS_Application.
-
Copiare e incollare la seguente istruzione nell'editor di query e scegliere Run Query (Esegui 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 descLa query restituisce un conteggio di diverse versioni di
aws-cfn-bootstrap, un'applicazione AWS presente su istanze Amazon Elastic Compute Cloud (Amazon EC2) per Linux, macOS e Windows Server. -
Copiare e incollare singolarmente le istruzioni seguenti nell'editor di query, sostituire amzn-s3-demo-bucket e
bucket-prefixcon le informazioni per Amazon S3, quindi scegliere Run Query (Esegui query). Queste istruzioni configurano tabelle Inventory aggiuntive in 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_AWSComponentCREATE 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_WindowsUpdateCREATE 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_InstanceInformationCREATE 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_NetworkCREATE 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
Utilizzo dei dati in Amazon QuickSight
La sezione seguente fornisce una panoramica contenente i collegamenti per la creazione di una visualizzazione in Amazon QuickSight.
Creazione di una visualizzazione in Amazon QuickSight
-
Registrarsi a Amazon QuickSight
, quindi accedere alla console QuickSight. -
Creare un set di dati dalla tabella
AWS_Applicatione da tutte le altre tabelle create. Per ulteriori informazioni, consulta Creazione di un set di dati utilizzando dati Amazon Athena. -
Unire le tabelle. Ad esempio, è possibile unire la colonna
instanceiddalla tabellaAWS_InstanceInformationpoiché corrisponde alla colonnaresourceiddi altre tabelle di inventario. Per ulteriori informazioni sull'unione delle tabelle, consultare Unione di tabelle. -
Creare una visualizzazione. Per ulteriori informazioni, consulta Utilizzo degli elementi visivi di Amazon QuickSight.