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à.
Configura la registrazione centralizzata su scala aziendale utilizzando Terraform
Creato da Aarti Rajput (AWS), Yashwant Patel (AWS) e Nishtha Yadav (AWS)
Riepilogo
La registrazione centralizzata è fondamentale per l'infrastruttura cloud di un'organizzazione, perché offre visibilità sulle operazioni, sulla sicurezza e sulla conformità. Man mano che l'organizzazione ridimensiona il proprio AWS ambiente su più account, una strategia strutturata di gestione dei log diventa fondamentale per eseguire operazioni di sicurezza, soddisfare i requisiti di audit e raggiungere l'eccellenza operativa.
Questo modello fornisce un framework scalabile Account AWS e sicuro per centralizzare i log di più servizi, per consentire una gestione dei log su scala aziendale in implementazioni complesse. AWS La soluzione è automatizzata utilizzando Terraform, uno strumento di infrastruttura come codice (IaC) che garantisce implementazioni coerenti e ripetibili e riduce al minimo la configurazione manuale. HashiCorp Combinando Amazon CloudWatch Logs, Amazon Data Firehose e Amazon Simple Storage Service (Amazon S3), puoi implementare una solida pipeline di aggregazione e analisi dei log che offre:
Gestione centralizzata dei log in tutta l'organizzazione in AWS Organizations
Raccolta automatizzata dei log con controlli di sicurezza integrati
Elaborazione scalabile dei log e archiviazione durevole
Report di conformità e audit trail semplificati
Informazioni operative e monitoraggio in tempo reale
La soluzione raccoglie i log dai contenitori, dalle funzioni e dalle istanze di database Amazon Elastic Kubernetes Service (Amazon EKS AWS Lambda ) tramite Logs. CloudWatch Inoltra automaticamente questi log a un account di registrazione dedicato utilizzando i filtri di abbonamento. CloudWatch Firehose gestisce la pipeline di streaming di log ad alta velocità verso Amazon S3 per lo storage a lungo termine. Amazon Simple Queue Service (Amazon SQS) è configurato per ricevere notifiche di eventi di Amazon S3 al momento della creazione di oggetti. Ciò consente l'integrazione con i servizi di analisi, tra cui:
Amazon OpenSearch Service per la ricerca, la visualizzazione e l'analisi dei log in tempo reale
Amazon Athena per interrogazioni basate su SQL
Amazon EMR per l'elaborazione su larga scala
Lambda per la trasformazione personalizzata
Amazon QuickSight per dashboard
Tutti i dati vengono crittografati utilizzando AWS Key Management Service (AWS KMS) e l'intera infrastruttura viene implementata utilizzando Terraform per una configurazione coerente tra gli ambienti.
Questo approccio di registrazione centralizzato consente alle organizzazioni di migliorare il proprio livello di sicurezza, mantenere i requisiti di conformità e ottimizzare l'efficienza operativa nell'intera infrastruttura. AWS
Prerequisiti e limitazioni
Prerequisiti
Una landing zone per la tua organizzazione costruita utilizzando AWS Control Tower
Account Factory for Terraform (AFT), distribuito e configurato con gli account richiesti
Terraform per il provisioning
dell'infrastruttura AWS Identity and Access Management Ruoli e politiche (IAM) per l'accesso tra account diversi
Per istruzioni sulla configurazione AWS Control Tower degli account AFT e Application, consulta la sezione Epics.
Account richiesti
La tua organizzazione AWS Organizations dovrebbe includere questi account:
Account dell'applicazione: uno o più account di origine in cui Servizi AWS (Amazon EKS, Lambda e Amazon RDS) eseguono e generano log
Account Log Archive: un account dedicato per l'archiviazione e la gestione centralizzate dei log
Versioni del prodotto
AWS Control Tower versione 3.1 o successiva
Terraform versione 0.15.0
o successiva
Architettura
Il diagramma seguente illustra un'architettura di registrazione AWS centralizzata che fornisce una soluzione scalabile per la raccolta, l'elaborazione e l'archiviazione dei log da più account di applicazioni in un account Log Archive dedicato. Questa architettura gestisce in modo efficiente i log provenienti da Servizi AWS, tra cui Amazon RDS, Amazon EKS e Lambda, e li indirizza attraverso un processo semplificato ai bucket S3 regionali nell'account Log Archive.

Il flusso di lavoro include cinque processi:
Processo di flusso di log
Il processo di flusso di log inizia negli account dell'applicazione, dove vengono Servizi AWS generati vari tipi di log, ad esempio log generali, di errore, di controllo, di query lente da Amazon RDS, log del piano di controllo da Amazon EKS e log di esecuzione di funzioni ed errori da Lambda.
CloudWatch funge da punto di raccolta iniziale. Raccoglie questi registri a livello di gruppo di log all'interno di ciascun account dell'applicazione.
In CloudWatch, i filtri di abbonamento determinano quali registri devono essere inoltrati all'account centrale. Questi filtri offrono un controllo granulare sull'inoltro dei log, in modo da poter specificare modelli di log esatti o flussi di log completi per la centralizzazione.
Trasferimento dei log tra account
I log vengono spostati nell'account Log Archive. CloudWatch i filtri di abbonamento facilitano il trasferimento tra account e preservano il contesto regionale.
L'architettura stabilisce più flussi paralleli per gestire diverse fonti di log in modo efficiente, per garantire prestazioni e scalabilità ottimali.
Elaborazione dei log nell'account Log Archive
Nell'account Log Archive, Firehose elabora i flussi di log in entrata.
Ogni regione mantiene flussi di distribuzione Firehose dedicati in grado di trasformare, convertire o arricchire i log in base alle esigenze.
Questi stream Firehose inviano i log elaborati ai bucket S3 nell'account Log Archive, che si trova nella stessa regione degli account dell'applicazione di origine (Regione A nel diagramma) per mantenere i requisiti di sovranità dei dati.
Notifiche e flussi di lavoro aggiuntivi
Quando i log raggiungono i bucket S3 di destinazione, l'architettura implementa un sistema di notifica utilizzando Amazon SQS.
Le code SQS regionali consentono l'elaborazione asincrona e possono attivare flussi di lavoro, analisi o sistemi di avviso aggiuntivi in base ai log archiviati.
AWS KMS per motivi di sicurezza
L'architettura incorpora funzionalità AWS KMS di sicurezza. AWS KMS fornisce chiavi di crittografia per i bucket S3. Ciò garantisce che tutti i log archiviati mantengano la crittografia inattiva, mantenendo al contempo la crittografia regionale per soddisfare i requisiti di residenza dei dati.
Strumenti
Servizi AWS
Amazon CloudWatch è un servizio di monitoraggio e osservabilità che raccoglie dati operativi e di monitoraggio sotto forma di log, metriche ed eventi. Fornisce una visione unificata di AWS risorse, applicazioni e servizi eseguiti su AWS e server locali.
CloudWatch I filtri di sottoscrizione dei log sono espressioni che corrispondono a uno schema negli eventi di registro in entrata e forniscono gli eventi di log corrispondenti alla AWS risorsa specificata per ulteriori elaborazioni o analisi.
AWS Control Tower Account Factory For Terraform (AFT) imposta una pipeline Terraform per aiutarti a fornire e personalizzare gli account. AWS Control Tower AFT fornisce il provisioning degli account basato su Terraform, consentendoti al contempo di gestire i tuoi account con. AWS Control Tower
Amazon Data Firehose fornisce dati di streaming in tempo reale verso destinazioni come Amazon S3, Amazon Redshift e Amazon Service. OpenSearch Si ridimensiona automaticamente in base alla velocità di trasmissione dei dati e non richiede alcuna amministrazione continua.
Amazon Elastic Kubernetes Service (Amazon EKS) è un servizio di orchestrazione di container gestito che semplifica la distribuzione, la gestione e la scalabilità delle applicazioni containerizzate utilizzando Kubernetes. Gestisce automaticamente la disponibilità e la scalabilità dei nodi del piano di controllo Kubernetes.
AWS Key Management Service (AWS KMS) crea e controlla le chiavi di crittografia per crittografare i dati. AWS KMS si integra con altri Servizi AWS per aiutarti a proteggere i dati archiviati con questi servizi.
AWS Lambdaè un servizio di elaborazione serverless che consente di eseguire codice senza fornire o gestire server. Ridimensiona automaticamente le applicazioni eseguendo il codice in risposta a ciascun trigger e addebita solo in base al tempo di calcolo utilizzato.
Amazon Relational Database Service (Amazon RDS) è un servizio di database relazionale gestito che semplifica la configurazione, il funzionamento e la scalabilità di un database relazionale nel cloud. Fornisce una capacità ridimensionabile e conveniente, automatizzando al contempo attività amministrative dispendiose in termini di tempo.
Amazon Simple Queue Service (Amazon SQS) è un servizio di accodamento messaggi che consente di disaccoppiare e scalare microservizi, sistemi distribuiti e applicazioni serverless. Elimina la complessità della gestione e del funzionamento del middleware orientato ai messaggi.
Amazon Simple Storage Service (Amazon S3) Simple Storage Service (Amazon S3) è un servizio di storage di oggetti basato sul cloud che offre scalabilità, disponibilità dei dati, sicurezza e prestazioni. Può archiviare e recuperare qualsiasi quantità di dati da qualsiasi punto del Web.
Altri strumenti
Terraform
è uno strumento di infrastruttura come codice (IaC) HashiCorp che ti aiuta a creare e gestire risorse cloud e locali.
Codice
Il codice per questo modello è disponibile nel repository di registrazione GitHub centralizzato
Best practice
Utilizzane più Account AWS in una singola organizzazione in. AWS Organizations Questa pratica consente la gestione centralizzata e la registrazione standardizzata tra gli account.
Configura i bucket S3 con controllo delle versioni, politiche del ciclo di vita e replica tra regioni. Implementa la crittografia e la registrazione degli accessi per la sicurezza e la conformità.
Implementa standard di registrazione comuni utilizzando il formato JSON con timestamp e campi standard. Utilizza una struttura e una correlazione di prefissi coerenti per semplificare il monitoraggio e l'analisi. IDs
Abilita i controlli di sicurezza con AWS KMS crittografia e accesso con privilegi minimi. Mantieni AWS CloudTrail il monitoraggio e la rotazione regolare delle chiavi per una maggiore sicurezza.
Imposta CloudWatch metriche e avvisi per il monitoraggio della consegna. Monitora costi e prestazioni con notifiche automatiche.
Configura le politiche di conservazione di Amazon S3 per soddisfare i requisiti di conformità e abilita la registrazione degli accessi ai server Amazon S3 per tenere traccia di tutte le richieste effettuate ai tuoi bucket S3. Conserva la documentazione per le politiche e le regole del ciclo di vita dei bucket S3. Esegui revisioni periodiche dei log di accesso, delle autorizzazioni dei bucket e delle configurazioni di archiviazione per garantire le migliori pratiche di conformità e sicurezza.
Epiche
Attività | Descrizione | Competenze richieste |
---|---|---|
Configura un AWS Control Tower ambiente con AFT. |
| Amministratore AWS |
Abilita la condivisione delle risorse per l'organizzazione. |
| Amministratore AWS |
Verifica o fornisci gli account delle applicazioni. | Per fornire nuovi account dell'Applicazione per il tuo caso d'uso, creali tramite AFT. Per ulteriori informazioni, consulta Fornire un nuovo account con AFT nella AWS Control Tower documentazione. | Amministratore AWS |
Attività | Descrizione | Competenze richieste |
---|---|---|
Copia il contenuto della |
| DevOps ingegnere |
Rivedi e modifica i parametri di input per la configurazione dell'account dell'applicazione. | In questo passaggio, configuri il file di configurazione per la creazione di risorse negli account dell'applicazione, inclusi gruppi di CloudWatch log, filtri di CloudWatch sottoscrizione, ruoli e policy IAM e dettagli di configurazione per le funzioni Amazon RDS, Amazon EKS e Lambda. Nel tuo
| DevOps ingegnere |
Attività | Descrizione | Competenze richieste |
---|---|---|
Copia il contenuto della |
| DevOps ingegnere |
Rivedi e modifica i parametri di input per la configurazione dell'account Log Archive. | In questo passaggio, configuri il file di configurazione per la creazione di risorse nell'account Log Archive, inclusi i flussi di distribuzione Firehose, i bucket S3, le code SQS e i ruoli e le policy IAM. Nella
| DevOps ingegnere |
Attività | Descrizione | Competenze richieste |
---|---|---|
Opzione 1: distribuisci i file di configurazione Terraform da AFT. | In AFT, la pipeline AFT viene attivata dopo aver inviato il codice con le modifiche alla configurazione nel repository. GitHub Dopo aver apportato modifiche ai file Terraform (
NotaSe stai usando un ramo diverso (ad esempio | DevOps ingegnere |
Opzione 2: distribuisci manualmente il file di configurazione Terraform. | Se non utilizzi AFT o desideri distribuire la soluzione manualmente, puoi utilizzare i seguenti comandi Terraform dalle cartelle and:
| DevOps ingegnere |
Attività | Descrizione | Competenze richieste |
---|---|---|
Verifica i filtri di abbonamento. | Per verificare che i filtri di sottoscrizione inoltrino correttamente i log dai gruppi di log degli account dell'applicazione all'account Log Archive:
| DevOps ingegnere |
Verifica gli stream Firehose. | Per verificare che i flussi Firehose nell'account Log Archive elaborino correttamente i log dell'applicazione:
| DevOps ingegnere |
Convalida i bucket S3 centralizzati. | Per verificare che i bucket S3 centralizzati ricevano e organizzino correttamente i log:
| DevOps ingegnere |
Convalida le code SQS. | Per verificare che le code SQS ricevano notifiche per i nuovi file di registro:
| DevOps ingegnere |
Attività | Descrizione | Competenze richieste |
---|---|---|
Opzione 1: rimuovere il file di configurazione Terraform da AFT. | Quando rimuovi i file di configurazione Terraform e inserisci le modifiche, AFT avvia automaticamente il processo di rimozione delle risorse.
| DevOps ingegnere |
Opzione 2: ripulisci manualmente le risorse Terraform. | Se non utilizzi AFT o desideri pulire le risorse manualmente, usa i seguenti comandi Terraform dalle cartelle
| DevOps ingegnere |
Risoluzione dei problemi
Problema | Soluzione |
---|---|
La destinazione CloudWatch Logs non è stata creata o è inattiva. | Convalida quanto segue:
|
Il filtro di sottoscrizione non è riuscito o è bloccato nello stato In sospeso. | Verifica quanto segue:
|
Lo stream di distribuzione di Firehose non mostra alcun record in entrata. | Verificare quanto segue:
|