Come faccio a usare AWS CloudTrail per tenere traccia delle chiamate API per le mie istanze Amazon EC2?
Voglio tenere traccia delle chiamate API che eseguono, interrompono, avviano e terminano le mie istanze Amazon Elastic Compute Cloud (Amazon EC2). Come faccio a cercare le chiamate API per le mie istanze Amazon EC2 utilizzando AWS CloudTrail?
Breve descrizione
AWS CloudTrail consente di identificare e tenere traccia di quattro tipi di chiamate API (tipi di eventi) effettuate sul tuo account AWS:
Per esaminare questi tipi di chiamate API dopo che sono state effettuate sul tuo account, puoi utilizzare uno dei seguenti metodi.
Nota: Puoi visualizzare la cronologia degli eventi per il tuo account fino agli ultimi 90 giorni.
Soluzione
Tenere traccia delle chiamate API utilizzando la cronologia degli eventi di CloudTrail
1. Apri la console CloudTrail.
2. Scegli Cronologia eventi.
3. Per il filtro, seleziona Nome evento dal menu a tendina.
4. In Inserisci nome evento, inserisci il tipo di evento che vuoi cercare. Quindi, scegli il tipo di evento.
5. In Intervallo di tempo, inserisci l'intervallo di tempo desiderato relativo al tipo di evento di cui vuoi tenere traccia.
6. Scegli Applica.
Per ulteriori informazioni, consulta Visualizzare gli eventi con la cronologia degli eventi di CloudTrail e Visualizzare gli eventi di Cloudtrail nella console CloudTrail.
Tenere traccia delle chiamate API utilizzando le query di Amazon Athena
Segui le istruzioni contenute in Come faccio a creare automaticamente tabelle in Amazon Athena per eseguire ricerche nei log di AWS CloudTrail?
Di seguito sono riportati esempi di query per la chiamata API RunInstances. È possibile utilizzare query simili per qualsiasi tipo di evento supportato.
Importante: Sostituisci cloudtrail-logs con il nome della tua tabella Athena prima di eseguire uno dei seguenti esempi di query.
Esempio di query per recuperare tutte le informazioni disponibili sugli eventi per la chiamata API RunInstances
SELECT * FROM cloudtrail-logs WHERE eventName = 'RunInstances'
Esempio di query per recuperare tutte le informazioni sugli eventi filtrate per la chiamata API RunInstances
SELECT userIdentity.username, eventTime, eventName FROM cloudtrail-logs WHERE eventName = 'RunInstances'
Esempio di query per recuperare le informazioni sugli eventi per le API che terminano con la stringa "Instances" da un momento specifico fino alla data corrente
Importante: Sostituisci '2021-07-01T 00:00:01 Z' con il momento da cui vuoi recuperare le informazioni sull'evento.
SELECT userIdentity.username, eventTime, eventName FROM cloudtrail-logs WHERE (eventName LIKE '%Instances') AND eventTime > '2021-07-01T00:00:01Z'
Tenere traccia delle chiamate API utilizzando Amazon CloudWatch Logs archiviate in Amazon Simple Storage Service (Amazon S3)
Importante: Per registrare gli eventi su un bucket Amazon S3, devi prima creare un percorso CloudWatch.
1. Accedi ai tuoi file di registro di CloudTrail seguendo le istruzioni contenute in Ricerca dei file di registro di CloudTrail.
2. Scarica i tuoi file di registro seguendo le istruzioni contenute in Download dei file di log di CloudTrail.
3. Cerca nei log i tipi di eventi che desideri monitorare utilizzando jq o un altro processore a riga di comando JSON.
Esempio di procedura jq per la ricerca dei log di CloudWatch scaricati da Amazon S3 per tipi di eventi specifici
1. Apri un terminale Bash. Quindi, crea la seguente directory per archiviare i file di log:
$ mkdir cloudtrail-logs
4. Accedi alla nuova directory. Quindi, scarica i log di CloudTrail eseguendo il seguente comando:
Importante: Sostituisci l'esempio my_cloudtrail_bucket con il tuo bucket Amazon S3.
$ cd cloudtrail-logs $ aws s3 cp s3://my_cloudtrail_bucket/AWSLogs/012345678901/CloudTrail/eu-west-1/2019/08/07 ./ --recursive
5. Decomprimi i file di log eseguendo il seguente comando gzip:
Importante: Sostituisci***** con il nome del file che vuoi decomprimere.
$ gzip -d *
6. Esegui una query jq per i tipi di eventi che vuoi cercare.
Esempio di query jq per recuperare tutte le informazioni disponibili sugli eventi per la chiamata API RunInstances
cat * | jq '.Records[] | select(.eventName=="RunInstances")'
Esempio di query jq per recuperare tutte le informazioni disponibili sugli eventi per le chiamate API StopInstances e TerminateInstances
cat * | jq '.Records[] | select(.eventName=="StopInstances" or .eventName=="TerminateInstances" )'
Informazioni correlate
Creare metriche da log eventi utilizzando i filtri
La console AWS Config ora mostra gli eventi API associati alle modifiche alla configurazione
Contenuto pertinente
- AWS UFFICIALEAggiornata 3 anni fa
- AWS UFFICIALEAggiornata 10 mesi fa
- AWS UFFICIALEAggiornata 3 anni fa