

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
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform"></a>

*Aarti Rajput, Yashwant Patel e Nishtha Yadav, Amazon Web Services*

## Riepilogo
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-summary"></a>

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 Quick Sight per dashboard

Tutti i dati vengono crittografati utilizzando AWS Key Management Service (AWS KMS) e l'intera infrastruttura viene distribuita utilizzando Terraform per una configurazione coerente in tutti 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
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-prereqs"></a>

**Prerequisiti**
+ Una landing zone per la tua organizzazione costruita utilizzando [AWS Control Tower](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-with-control-tower.html)
+ [Account Factory for Terraform (AFT)](https://docs.aws.amazon.com/controltower/latest/userguide/aft-getting-started.html), distribuito e configurato con gli account richiesti
+ [Terraform per il provisioning](https://developer.hashicorp.com/terraform/downloads) dell'infrastruttura
+ AWS Identity and Access Management Ruoli e politiche [(IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html) per l'accesso tra account diversi

Per istruzioni sulla configurazione AWS Control Tower degli account AFT e Application, consulta la sezione [Epics](#set-up-centralized-logging-at-enterprise-scale-by-using-terraform-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](https://docs.aws.amazon.com/controltower/latest/userguide/2023-all.html#lz-3-1) o successiva
+ [Terraform versione 0.15.0](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli) o successiva

## Architecture
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-architecture"></a>

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.

![Architettura di registrazione centralizzata AWS per la raccolta di log da più account di applicazioni.](https://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/9fc71a10-65d6-437b-9128-cc27bda11af4/images/2e916040-0f11-4712-a8dd-31c95194ce5d.png)


Il flusso di lavoro include cinque processi:

1. **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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Subscriptions.html) 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.

1. **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.

1. **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.

1. **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.

1. **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.

## Tools (Strumenti)
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-tools"></a>

**Servizi AWS**
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) è 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SubscriptionFilters.html) 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)](https://docs.aws.amazon.com/controltower/latest/userguide/aft-overview.html) 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](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html) 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](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html). Gestisce automaticamente la disponibilità e la scalabilità dei nodi del piano di controllo Kubernetes.
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) 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](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html)è 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](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) è 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](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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](https://www.terraform.io/) è 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](https://github.com/aws-samples/sample-centralised-logging-at-enterprise-scale-using-terraform).

## Best practice
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-best-practices"></a>
+ Utilizzane [più Account AWS in una singola organizzazione in](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html). 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html) 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_AnalyzeLogData-discoverable-fields.html) 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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html) privilegi minimi. Mantieni AWS CloudTrail il monitoraggio e la rotazione regolare delle chiavi per una maggiore sicurezza.
+ Imposta [CloudWatch metriche e avvisi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) per il monitoraggio della consegna. Monitora costi e prestazioni con notifiche automatiche.
+ Configura [le politiche di conservazione di Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) 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.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html)

## Epiche
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-epics"></a>

### Configura account AWS Control Tower, AFT e Application
<a name="set-up-ctowerlong-aft-and-application-accounts"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Configura un AWS Control Tower ambiente con AFT. | 1. Esegui la distribuzione AWS Control Tower seguendo le istruzioni contenute nella [AWS Control Tower documentazione](https://docs.aws.amazon.com/controltower/latest/userguide/getting-started-with-control-tower.html).<br />2. [Implementate AFT seguendo le istruzioni contenute nella AWS Control Tower documentazione.](https://docs.aws.amazon.com/controltower/latest/userguide/aft-getting-started.html) | Amministratore AWS | 
| Abilita la condivisione delle risorse per l'organizzazione. | 1. [Configura AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) con le credenziali dell'account di gestione, che forniscono le autorizzazioni amministrative per la gestione. AWS Control Tower<br />2. Esegui il seguente AWS CLI comando in qualsiasi momento: Regione AWS<pre>aws ram enable-sharing-with-aws-organization</pre><br />Ciò consente la condivisione delle risorse all'interno dell'organizzazione in AWS Organizations tutte le regioni che supportano AWS Resource Access Manager (AWS RAM). | 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](https://docs.aws.amazon.com/controltower/latest/userguide/aft-provision-account.html) nella AWS Control Tower documentazione. | Amministratore AWS | 

### Configura i file di configurazione per gli account dell'applicazione
<a name="set-up-configuration-files-for-application-accounts"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Copia il contenuto della `Application_account` cartella nel `aft-account-customizations` repository. | 1. Crea una cartella denominata `Application_account` nel percorso principale del `aft-account-customizations` repository. Questo repository viene creato automaticamente quando configuri AFT (vedi l'epopea precedente).<br />2. Passate alla directory principale del scale-using-terraform repository [centralised-logging-at-enterprise-](https://github.com/aws-samples/centralised-logging-at-enterprise-scale-using-terraform), copiate il contenuto della `aft/account` directory e incollatelo nella `Application_account` directory che avete creato nel passaggio 1 del repository. `aft-account-customizations`<br />3. Dalla directory principale del `centralised-logging-at-enterprise-scale-using-terraform` repository, copia il contenuto della `Application_account` directory nella `Application_account/terraform` directory del repository. `aft-account-customizations`<br />4. Nel `aft-account-customizations/Application_account/terraform.tfvars` file, conferma che tutti i parametri vengano passati come argomenti nei file di configurazione Terraform corrispondenti. | 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.<br />Nel tuo `aft-account-customizations` repository, nella `Application_account` cartella, configura i parametri di input nel `terraform.tfvars` file in base ai requisiti della tua organizzazione:+ `environment`: il nome dell'ambiente (ad esempio, `prod``dev`,`staging`) in cui verranno distribuite le risorse.<br />+ `account_name`: Il nome del Account AWS luogo in cui verranno create le risorse.<br />+ `log_archive_account_id`: L' Account AWS ID in cui verranno archiviati i log.<br />+ `admin_role_name`: il nome del ruolo amministrativo che verrà utilizzato per la gestione delle risorse.<br />+ `tags`: Una mappa di coppie chiave-valore che rappresentano tag comuni da applicare a tutte le risorse.<br />+ `rds_config`: un oggetto che contiene i dettagli di configurazione per le istanze Amazon RDS.<br />+ `allowed_cidr_blocks`: Un elenco di blocchi CIDR a cui è consentito accedere alle risorse.<br />+ `destination_name:`Una variabile utilizzata per creare l'Amazon Resource Name (ARN) della CloudWatch destinazione in cui verranno trasmessi i log.<br />+ `rds_parameters:`Un oggetto che contiene le impostazioni del gruppo di parametri Amazon RDS.<br />+ `vpc_config`: un oggetto che contiene i dettagli di configurazione del VPC.<br />+ `eks_config`: un oggetto che contiene i dettagli di configurazione per i cluster Amazon EKS.<br />+ `lambda_config`: un oggetto che contiene i dettagli di configurazione per le funzioni Lambda.<br />+ `restrictive_cidr_range`: Un elenco di intervalli CIDR restrittivi per le regole dei gruppi di sicurezza.<br />+ `target_account_id`: L' Account AWS ID dell'account Log Archive di destinazione in cui verranno distribuite le risorse. | DevOps ingegnere | 

### Imposta i file di configurazione per l'account Log Archive
<a name="set-up-configuration-files-for-the-log-archive-account"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Copia il contenuto della `Log_archive_account` cartella nel `aft-account-customizations` repository. | 1. Crea una cartella denominata `Log_archive_account` nel percorso principale del `aft-account-customizations` repository. Questo repository viene creato automaticamente quando configuri AFT.<br />2. Passate alla directory principale del `centralised-logging-at-enterprise-scale-using-terraform` repository, copiate il contenuto della `aft/account` directory e incollatelo nella `Log_archive_account` directory creata nel passaggio precedente del repository. `aft-account-customizations`<br />3. Dalla directory principale del `centralised-logging-at-enterprise-scale-using-terraform` repository, copia il contenuto della `Log_archive_account` directory nella `Log_archive_account/terraform` directory del repository. `aft-account-customizations`<br />4. Nel `aft-account-customizations/Log_archive_account/terraform.tfvars` file, conferma che tutti i parametri vengano passati come argomenti nei file di configurazione Terraform corrispondenti. | 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.<br />Nella `Log_archive_account` cartella del tuo `aft-account-customizations` repository, configura i parametri di input nel `terraform.tfvars` file in base ai requisiti della tua organizzazione:+ `environment`: il nome dell'ambiente (ad esempio, `prod``dev`,`staging`) in cui verranno distribuite le risorse.<br />+ `destination_name`: variabile utilizzata per creare l'ARN della CloudWatch destinazione in cui verranno trasmessi i log.<br />+ `source_account_ids`: Un elenco di quelle a Account AWS IDs cui è consentito inserire filtri di sottoscrizione nella destinazione del registro. Puoi inserire tutti gli account IDs che desideri abilitare per la registrazione centralizzata. | DevOps ingegnere | 

### Esegui i comandi Terraform per fornire risorse
<a name="run-terraform-commands-to-provision-resources"></a>


| Operazione | Description | 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 `aft-account-customizations` AFT rileva automaticamente le modifiche e avvia il processo di personalizzazione dell'account.<br />Dopo aver apportato modifiche ai file Terraform (`terraform.tfvars`), esegui il commit e invia le modifiche al tuo repository: `aft-account-customizations`<pre>$ git add *<br />$ git commit -m "update message"<br />$ git push origin main</pre>Se stai usando un ramo diverso (ad esempio`dev`), sostituiscilo `main` con il nome del ramo. | 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: `Application_account` `Log_archive_account`1. Clona il GitHub repository e configura i parametri di input nel file. `terraform.tfvars`<br />2. Esegui il comando seguente:<pre>$ terraform init</pre><br />3. Anteprima delle modifiche:<pre>$ terraform plan</pre><br />Questo comando valuta la configurazione di Terraform per determinare lo stato desiderato delle risorse e la confronta con lo stato attuale dell'infrastruttura.<br />4. Applica le modifiche:<pre>$ terraform apply</pre><br />5. Rivedi le modifiche pianificate e digita **sì** quando richiesto per procedere con l'applicazione. | DevOps ingegnere | 

### Convalida le risorse
<a name="validate-resources"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Verifica i filtri di abbonamento. | Per verificare che i filtri di abbonamento inoltrino correttamente i log dai gruppi di log degli account dell'applicazione all'account Log Archive:1. Nell'account dell'applicazione, apri la [CloudWatch console](https://console.aws.amazon.com/cloudwatch).<br />2. Nel pannello di navigazione a sinistra, scegli **Log groups (Gruppi di log)**.<br />3. Seleziona ogni gruppo di log (`/aws/rds`,`/aws/eks`,`/aws/lambda`) e scegli la scheda **Filtri di abbonamento**.<br />Dovresti vedere filtri di abbonamento attivi che puntano all'ARN di destinazione, in base al nome specificato nel file di configurazione Terraform.<br />4. Scegli un filtro di abbonamento per verificarne la configurazione e lo stato. | DevOps ingegnere | 
| Verifica i flussi Firehose. | Per verificare che i flussi Firehose nell'account Log Archive elaborino correttamente i log dell'applicazione:1. Nell'account Log Archive, apri la console [Firehose](https://console.aws.amazon.com/firehose).<br />2. Nel riquadro di navigazione a sinistra, scegli **Firehose stream.**<br />3. Scegli uno **stream Firehose** e verifica quanto segue:La destinazione mostra il bucket S3 corretto.La scheda **Monitoraggio** mostra le metriche di consegna corrette.L'orario di consegna recente è aggiornato. | DevOps ingegnere | 
| Convalida i bucket S3 centralizzati. | Per verificare che i bucket S3 centralizzati ricevano e organizzino correttamente i log:1. Nell'account Log Archive, apri la [console Amazon S3](https://console.aws.amazon.com/s3).<br />2. Seleziona ogni bucket di registrazione centrale.<br />3. Naviga attraverso la struttura delle cartelle:. **AWSLogs/AccountID/Region/Service**<br />Dovresti vedere i file di registro organizzati per timestamp () **YYYY/MM/DD/HH**.<br />4. Scegli un file di registro recente e verificane il formato e l'integrità dei dati. | DevOps ingegnere | 
| Convalida le code SQS. | Per verificare che le code SQS ricevano notifiche per i nuovi file di registro:1. Nell'account Log Archive, apri la [console Amazon SQS.](https://console.aws.amazon.com/sqs)<br />2. Nel riquadro di navigazione sinistro scegliere **Queues (Code)**.<br />3. Seleziona ogni coda configurata e scegli **Invia e ricevi** messaggi.<br />Dovresti vedere messaggi che contengono **notifiche di eventi S3** per i nuovi file di registro.<br />4. Scegli un messaggio per verificare che contenga le informazioni corrette sull'oggetto S3. | DevOps ingegnere | 

### Eseguire la pulizia delle risorse
<a name="clean-up-resources"></a>


| Operazione | Description | 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.1. Vai al repository. `aft-account-customizations`<br />2. Vai alla directory `terraform`.<br />3. Eliminare i seguenti file:`modules`directory`iam.tf``versions.tf``variables.tf``outputs.tf``terraform.tfvars`<br />4. Cancella il contenuto del `main.tf` file.<br />5. Invia le modifiche al repository:<pre># Stage all changes<br />$ git add *<br /><br /># Commit cleanup changes<br />$ git commit -m "Remove AFT customizations"<br /><br /># Push to repository<br />$ git push origin main</pre>Se utilizzi un ramo diverso (ad esempio`dev`), sostituiscilo `main` con il nome del ramo. | 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 `Application_account` and`Log_archive_account`:1. Inizializza la configurazione Terraform:<pre>$ terraform init</pre><br />Questo comando inizializza Terraform e garantisce l'accesso allo stato corrente.<br />2. Anteprima delle modifiche alla pulizia:<pre>$ terraform destroy</pre><br />Questo comando valuta quali risorse verranno distrutte e confronta lo stato desiderato con lo stato attuale dell'infrastruttura.<br />3. Esegui la pulizia. Quando richiesto, digita **sì** per confermare ed eseguire il piano di distruzione. | DevOps ingegnere | 

## risoluzione dei problemi
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| La destinazione CloudWatch Logs non è stata creata o è inattiva. | Convalida quanto segue:1. Nell'account Log Archive, verifica che la politica di destinazione includa:L'account principale di origine corretto.L'azione corretta (`logs:PutSubscriptionFilter`).Un ARN di destinazione valido.<br />2. Verificate che lo stream Firehose esista e sia attivo.<br />3. Verifica che il ruolo IAM associato alla destinazione disponga delle autorizzazioni per Firehose. | 
| Il filtro di sottoscrizione non è riuscito o è bloccato nello stato In sospeso. | Verifica quanto segue:1. Nell'account Application, verifica che il ruolo IAM abbia:Autorizzazioni per chiamare`PutSubscriptionFilter`.Un rapporto di fiducia con CloudWatch Logs.<br />2. Verificare che l'ARN di destinazione sia corretto.<br />3. Controlla CloudWatch i log per messaggi di errore specifici. | 
| Lo stream di distribuzione di Firehose non mostra alcun record in entrata. | Verificare quanto segue:1. Verificare che il ruolo IAM di Firehose abbia:Autorizzazioni per scrivere su Amazon S3.Accesso alla AWS KMS chiave se la crittografia è abilitata.<br />2. Rivedi le CloudWatch metriche per:`IncomingRecords``DeliveryToS3.Records`<br />3. Verifica le impostazioni del buffer e le configurazioni di consegna. | 

## Risorse correlate
<a name="set-up-centralized-logging-at-enterprise-scale-by-using-terraform-resources"></a>
+ [Configurazione dell'infrastruttura Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started) (documentazione Terraform)
+ [Implementare AWS Control Tower Account Factory for Terraform (AFT) (AWS Control Tower documentazione)](https://docs.aws.amazon.com/controltower/latest/userguide/aft-getting-started.html)
+ [Tutorial IAM: delega l'accesso Account AWS utilizzando i ruoli IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html) () IAMdocumentation