Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Comprensione dei concetti relativi alle interrogazioni pianificate
Prima di creare query pianificate, comprendete questi concetti chiave che influiscono sul modo in cui vengono eseguite le query e sul luogo in cui vengono forniti i risultati.
Separazione dei ruoli IAM
Le query pianificate richiedono due ruoli IAM separati: uno per l'esecuzione delle query e l'altro per fornire risultati ai bus di eventi Amazon S3 o EventBridge Amazon. Capire perché esiste questa separazione ti aiuta a configurare correttamente le autorizzazioni e a sfruttare i vantaggi operativi e di sicurezza che offre.
L'architettura a due ruoli divide le responsabilità tra accesso ai dati e consegna dei dati. Il ruolo di esecuzione delle query accede ai dati di registro ed esegue le query, mentre il ruolo di consegna della destinazione scrive i risultati nella destinazione prescelta. Questa separazione segue il principio del privilegio minimo: ogni ruolo dispone solo delle autorizzazioni necessarie per la sua funzione specifica.
- Ruolo di esecuzione delle query
-
Consente a CloudWatch Logs di eseguire le query di CloudWatch Logs Insights per tuo conto. Questo ruolo richiede le autorizzazioni per accedere ai gruppi di log ed eseguire le query, ma non richiede l'accesso alle risorse di destinazione. Autorizzazioni richieste:
-
logs:StartQuery -
logs:StopQuery -
logs:GetQueryResults -
logs:DescribeLogGroups -
logs:Unmaskse è necessario smascherare i dati
Per i gruppi di log crittografati con KMS:
kms:Decryptekms:DescribeKeyle autorizzazioni per la chiave KMS utilizzata per crittografare i gruppi di log. È necessario aggiungere anche queste autorizzazioni.Requisito relativo alla relazione di fiducia: il ruolo di esecuzione delle query deve includere una politica di fiducia che consenta al servizio CloudWatch Logs (
logs.amazonaws.com) di assumere il ruolo. Senza questa relazione di fiducia, le query pianificate avranno esito negativo e causeranno errori di autorizzazione.Esempio di politica di fiducia per il ruolo di esecuzione delle query:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }Esempio di politica di autorizzazione per il ruolo di esecuzione delle query:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:StartQuery", "logs:StopQuery", "logs:GetQueryResults", "logs:DescribeLogGroups" ], "Resource": "*" } ] } -
- Ruolo di consegna della destinazione
-
Consente a CloudWatch Logs di fornire i risultati delle query alla destinazione prescelta. Questo ruolo richiede solo le autorizzazioni per il servizio di destinazione specifico, secondo il principio del privilegio minimo. Le autorizzazioni richieste variano in base al tipo di destinazione.
Requisito relativo alla relazione di fiducia: il ruolo di consegna della destinazione deve includere anche una politica di fiducia che consenta al servizio CloudWatch Logs (
logs.amazonaws.com) di assumere il ruolo.Esempio di politica di autorizzazione per il ruolo di consegna della destinazione S3:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::your-scheduled-query-results-bucket/*" } ] }
Questa separazione offre vantaggi pratici per le tue operazioni. Dal punto di vista della sicurezza, se è necessario modificare il luogo in cui vengono forniti i risultati, è sufficiente modificare il ruolo di consegna della destinazione senza modificare i permessi di esecuzione delle query. Per quanto riguarda la conformità e il controllo, è possibile tracciare chiaramente quale ruolo accede ai dati di registro sensibili e quale ruolo scrive su sistemi esterni. In questo modo è più semplice dimostrare che l'infrastruttura di analisi dei log segue le migliori pratiche di sicurezza.
Utilizzo in più regioni e tra account
Una query pianificata viene creata in una regione specifica e viene eseguita in quella regione. Tuttavia, è possibile interrogare i gruppi di log e fornire risultati tra regioni e account. È necessario configurare uno o più AWS account come account di monitoraggio e collegarli a più account di origine. Un account di monitoraggio è un AWS account centrale in grado di visualizzare e interagire con i dati di osservabilità generati dagli account di origine. Un account di origine è un AWS account individuale che genera dati di osservabilità per le risorse che vi risiedono. Gli account di origine condividono i dati di osservabilità con l'account di monitoraggio. Quindi puoi impostare le query pianificate dall'account di monitoraggio utilizzando i gruppi di log di tutti gli account collegati.
- Interrogazione di gruppi di log interregionali
-
La tua interrogazione pianificata può accedere a gruppi di log in qualsiasi regione. Specificare i gruppi di log utilizzando il formato ARN completo:.
arn:aws:logs:region:account-id:log-group:log-group-nameI requisitilogs:StartQuerye lelogs:GetQueryResultsautorizzazioni del ruolo di esecuzione delle query per i gruppi di log in tutte le regioni di destinazione.
Importante
Quando si eseguono interrogazioni su gruppi di log o si forniscono risultati in più regioni, i dati di registro superano i confini regionali. Considera i seguenti aspetti:
-
Requisiti di residenza dei dati: assicurati che il trasferimento dei dati tra regioni sia conforme alle politiche di governance dei dati e ai requisiti normativi della tua organizzazione
-
Costi di trasferimento dei dati: il trasferimento di dati tra regioni comporta costi aggiuntivi
-
Latenza di rete: le query che accedono a gruppi di log in regioni distanti potrebbero presentare una latenza maggiore
Per prestazioni ottimali ed efficienza in termini di costi, crea query pianificate nella stessa regione dei gruppi di log principali.
Approccio alternativo: utilizza la centralizzazione dei CloudWatch registri per replicare i dati di registro di più account e regioni in un account di monitoraggio centrale. Ciò consente di creare query pianificate in un'unica regione che accedono a tutti i log centralizzati, evitando le query tra regioni e semplificando la gestione delle autorizzazioni IAM.
Pianifica le espressioni e la gestione del fuso orario
La pianificazione definita determina quando viene eseguita la query e con che frequenza viene eseguita. La scelta dell'espressione di pianificazione corretta influisce sul momento in cui si ricevono i risultati e sulla quantità di dati da interrogare. La comprensione dei tipi di espressione consente di scegliere tra semplicità e precisione.
Le espressioni Cron forniscono un controllo preciso sulla tempistica, consentendoti di specificare orari, giorni della settimana o giorni del mese esatti. Usa le espressioni cron quando hai bisogno che le query vengano eseguite in orari lavorativi specifici o che si allineino alle pianificazioni operative. Nella console puoi anche pianificare le interrogazioni utilizzando semplici opzioni di calendario.
- Espressioni Cron
-
Esegui le interrogazioni in orari specifici. Formato:
cron(minute hour day-of-month month day-of-week year). Esempi:-
cron(0 9 * * ? *)- Ogni giorno alle 9:00 UTC -
cron(0 18 ? * MON-FRI *)- Giorni feriali alle 18:00 UTC -
cron(0 0 1 * ? *)- Primo giorno di ogni mese a mezzanotte UTC -
cron(0 12 ? * SUN *)- Ogni domenica a mezzogiorno UTC -
cron(30 8 1 1 ? *)- 1° gennaio alle 08:30 UTC
-
Tutte le query pianificate vengono eseguite in formato UTC, indipendentemente dal fuso orario locale o dal luogo in cui si trovano le risorse. AWS Ciò è particolarmente importante quando si pianificano le interrogazioni per l'orario lavorativo o per analisi urgenti. Ad esempio, se la tua azienda opera nell'ora orientale degli Stati Uniti e desideri un rapporto giornaliero alle 9:00 ET, devi tenere conto della compensazione UTC (14:00 UTC durante l'ora legale, 13:00 UTC altrimenti). Pianificate le espressioni di pianificazione tenendo conto dell'UTC per assicurarvi che le interrogazioni vengano eseguite negli orari previsti.
Scelta di un linguaggio di interrogazione
Le query pianificate supportano tre diversi linguaggi di query e la tua scelta influisce sia sul modo in cui scrivi le query sia sulla facilità con cui il team può gestirle. Il linguaggio giusto dipende dai requisiti di analisi e dalle competenze esistenti del team.
Se stai principalmente filtrando e aggregando i dati di registro, CloudWatch Logs Insights Query Language offre la sintassi più semplice. Per trasformazioni di dati complesse in cui è necessario rimodellare o arricchire i dati attraverso più passaggi, l'approccio pipeline di PPL semplifica la logica. Quando è necessario eseguire join o aggregazioni complesse simili a operazioni di database, SQL fornisce una sintassi familiare che i team esperti di database possono adottare rapidamente.
- CloudWatch Logs Insights Query Language (CWLI)
-
Progettato appositamente per l'analisi dei log con una sintassi intuitiva. Ideale per:
-
Analisi e filtraggio dei log basati su testo
-
Aggregazioni e statistiche di serie temporali
-
Team nuovi all'analisi dei log
-
- OpenSearch Service Piped Processing Language (PPL)
-
Linguaggio di interrogazione basato su pipeline con potenti funzionalità di trasformazione dei dati. Ideale per:
-
Trasformazioni e arricchimento complessi dei dati
-
Flussi di lavoro di elaborazione dati in più fasi
-
Team che hanno familiarità con l'elaborazione basata sulla pipeline
-
- OpenSearch Service Structured Query Language (SQL)
-
Sintassi SQL standard per query familiari in stile database. Ideale per:
-
Unioni e aggregazioni complesse
-
Intelligence e reportistica aziendale
-
Team con una solida esperienza SQL
-
Selezione della destinazione e casi d'uso
Il luogo in cui invii i risultati delle interrogazioni determina cosa puoi fare con essi. Questa scelta dà forma all'intero flusso di lavoro a valle, che si tratti di creare analisi a lungo termine, attivare risposte automatiche o entrambi. Comprendere i punti di forza di ogni tipo di destinazione ti aiuta a progettare l'architettura giusta per il tuo caso d'uso.
Le destinazioni Amazon S3 sono ottimizzate per lo storage e l'elaborazione in batch. Quando devi conservare i risultati delle query per mesi o anni, analizzare le tendenze nel tempo o inserire dati in piattaforme di analisi, Amazon S3 offre uno storage conveniente con una conservazione illimitata. EventBridge le destinazioni sono ottimizzate per l'automazione in tempo reale. Quando i risultati delle query devono innescare azioni immediate, come l'invio di avvisi, l'avvio di flussi di lavoro o l'aggiornamento dei sistemi, EventBridge forniscono risultati sotto forma di eventi a cui le applicazioni possono rispondere istantaneamente. Per impostazione predefinita, tutti gli eventi di completamento delle query vengono inviati automaticamente come eventi al bus eventi predefinito, consentendo l'integrazione con i sistemi di elaborazione a valle, le funzioni Lambda o altre architetture basate sugli eventi. I risultati vengono pubblicati nelle destinazioni solo quando la query viene eseguita correttamente.
- Destinazioni di Amazon S3
-
Archivia i risultati delle query come file JSON per la conservazione a lungo termine e l'elaborazione in batch. Ideale per:
-
Analisi storica e archiviazione dei dati
-
Integrazione con data lake e piattaforme di analisi
-
Requisiti di conformità e audit
-
Archiviazione conveniente di set di risultati di grandi dimensioni
-
- EventBridge destinazioni
-
Invia i risultati delle query come eventi per l'elaborazione e l'automazione in tempo reale. Puoi recuperare i risultati delle query utilizzando il QueryID inviato nell'evento solo fino a 30 giorni, poiché archiviamo i risultati per 30 giorni. Ideale per:
-
Attivazione di risposte automatiche ai risultati delle query
-
Integrazione con flussi di lavoro serverless e funzioni Lambda
-
Sistemi di avviso e notifica in tempo reale
-
Architetture e microservizi basati sugli eventi
-
Formato e struttura dei risultati delle interrogazioni
Per le destinazioni Amazon S3: i risultati delle query vengono forniti in formato JSON con la stessa struttura della risposta API. GetQueryResults Per Amazon, EventBridge comprendere il formato dei risultati delle query pianificate ti aiuta a progettare flussi di lavoro di elaborazione e integrazione a valle.
I risultati delle query vengono forniti in formato JSON con la seguente struttura:
{ "version": "0", "id": "be72061b-eca2-e068-a7e1-83e01d6fe807", "detail-type": "Scheduled Query Completed", "source": "aws.logs", "account": "123456789012", "time": "2025-11-18T11:31:48Z", "region": "us-east-1", "resources": [ "arn:aws:logs:us-east-1:123456789012:scheduled-query:477b4380-b098-474e-9c5e-e10a8cc2e6e7" ], "detail": { "queryId": "2038fd57-ab4f-4018-bb2f-61d363f4a004", "queryString": "fields @timestamp, @message, @logStream, @log\n| sort @timestamp desc\n| limit 10000", "logGroupIdentifiers": [ "/aws/lambda/my-function" ], "status": "Complete", "startTime": 1763465460, "statistics": { "recordsMatched": 0, "recordsScanned": 0, "estimatedRecordsSkipped": 0, "bytesScanned": 0, "estimatedBytesSkipped": 0, "logGroupsScanned": 1 } } }
Gli elementi chiave includono:
-
statistics- Metriche delle prestazioni delle query, tra cui record confrontati, scansionati, byte elaborati e dati stimati ignorati -
startTime- Quando è iniziata l'esecuzione della query (timestamp Unix) -
queryString- La query effettiva che è stata eseguita -
queryId- ID della query con cui è possibile recuperare i risultati -
logGroupIdentifiers- Elenco dei gruppi di log che sono stati interrogati -
status- Stato di esecuzione della query (completa, non riuscita, ecc.)