

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à.

# Automatizza la valutazione delle risorse AWS
<a name="automate-aws-resource-assessment"></a>

*Naveen Suthar, Arun Bagal, Manish Garg e Sandeep Gawande, Amazon Web Services*

## Riepilogo
<a name="automate-aws-resource-assessment-summary"></a>

Questo modello descrive un approccio automatizzato per la configurazione delle funzionalità di valutazione delle risorse utilizzando l'[AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/v2/guide/home.html). Utilizzando questo modello, i team operativi raccolgono i dettagli di controllo delle risorse in modo automatizzato e visualizzano i dettagli di tutte le risorse distribuite in un account AWS su un'unica dashboard. Ciò è utile nei seguenti casi d'uso:
+ Identificazione degli strumenti Infrastructure as Code (IaC) e isolamento delle risorse create da diverse soluzioni IaC come [HashiCorp Terraform](https://www.terraform.io/), [AWS CloudFormation, AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) CDK [e AWS Command Line Interface (AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html))
+ Recupero di informazioni relative al controllo delle risorse

Questa soluzione aiuterà anche il team dirigenziale a ottenere informazioni sulle risorse e le attività in un account AWS da un'unica dashboard. 


| 
| 
| Nota: [Amazon Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) è un servizio a pagamento. Prima di eseguirlo per analizzare i dati e creare una dashboard, consulta i [prezzi di Amazon Quick Sight](https://aws.amazon.com/quicksight/pricing/). | 
| --- |

## Prerequisiti e limitazioni
<a name="automate-aws-resource-assessment-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo.
+ Ruoli e autorizzazioni di AWS Identity and Access Management (IAM) con accesso alle risorse di provisioning
+ [Un [account Amazon Quick](https://docs.aws.amazon.com/quicksight/latest/user/signing-up.html) creato con accesso ad [Amazon Simple Storage Service (Amazon S3) e Amazon Athena](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)](https://docs.aws.amazon.com/athena/latest/ug/what-is.html)
+ AWS CDK versione 2.55.1 o successiva installata 
+ [Python](https://www.python.org/downloads/release/python-390/) versione 3.9 o successiva installata

**Limitazioni**
+ Questa soluzione viene distribuita su un singolo account AWS.
+ La soluzione non terrà traccia degli eventi accaduti prima della sua implementazione a meno che AWS non CloudTrail fosse già stato configurato e archiviato i dati in un bucket S3.

**Versioni del prodotto**
+ AWS CDK versione 2.55.1 o successiva
+ Python versione 3.9 o successiva

## Architecture
<a name="automate-aws-resource-assessment-architecture"></a>

**Stack tecnologico Target**
+ Amazon Athena
+ AWS CloudTrail
+ AWS Glue
+ AWS Lambda
+ Amazon Quick Sight
+ Simple Storage Service (Amazon S3)

**Architettura Target**

Il codice CDK di AWS distribuirà tutte le risorse necessarie per configurare le funzionalità di valutazione delle risorse in un account AWS. Il diagramma seguente mostra il processo di invio dei CloudTrail log ad AWS Glue, Amazon Athena e Quick Sight.

![\[Valutazione delle risorse AWS con AWS Glue, Amazon Athena e Amazon QuickSight in un processo in sei fasi.\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/a504774e-db7a-4c36-a22c-ce56d252fb58/images/8f2b549d-33a8-4cbf-86fd-33244716b668.png)


1. CloudTrail invia i log a un bucket S3 per l'archiviazione.

1. Una notifica di evento richiama una funzione Lambda che elabora i log e genera dati filtrati.

1. I dati filtrati vengono archiviati in un altro bucket S3.

1. Un crawler AWS Glue è configurato sui dati filtrati presenti nel bucket S3 per creare uno schema nella tabella AWS Glue Data Catalog.

1. I dati filtrati sono pronti per essere interrogati da Amazon Athena.

1. I dati interrogati sono accessibili da Quick Sight per la visualizzazione.

**Automazione e scalabilità**
+ Questa soluzione può essere scalata da un account AWS a più account AWS se esiste un percorso a livello di organizzazione in CloudTrail AWS Organizations. Implementandola CloudTrail a livello organizzativo, puoi utilizzare questa soluzione anche per recuperare i dettagli di controllo delle risorse per tutte le risorse richieste.
+ Questo modello utilizza risorse serverless AWS per distribuire la soluzione.

## Tools (Strumenti)
<a name="automate-aws-resource-assessment-tools"></a>

**Servizi AWS**
+ [Amazon Athena](https://docs.aws.amazon.com/athena/latest/ug/what-is.html) è un servizio di query interattivo che ti aiuta ad analizzare i dati direttamente in Amazon S3 utilizzando SQL standard.
+ [AWS Cloud Development Kit (AWS CDK)](https://docs.aws.amazon.com/cdk/latest/guide/home.html) è un framework di sviluppo software che aiuta a definire e fornire l'infrastruttura cloud AWS in codice.
+ [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) ti CloudFormation aiuta a configurare le risorse AWS, effettuarne il provisioning in modo rapido e coerente e gestirle durante tutto il loro ciclo di vita su account AWS e regioni AWS.
+ [AWS](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) ti CloudTrail aiuta a controllare la governance, la conformità e il rischio operativo del tuo account AWS.
+ [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) è un servizio di estrazione, trasformazione e caricamento (ETL) completamente gestito. Ti aiuta a classificare, pulire, arricchire e spostare i dati in modo affidabile tra archivi di dati e flussi di dati. Questo modello utilizza un crawler AWS Glue e una tabella AWS Glue Data Catalog.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) è un servizio di elaborazione che ti aiuta a eseguire codice senza dover fornire o gestire server. Esegue il codice solo quando necessario e si ridimensiona automaticamente, quindi paghi solo per il tempo di calcolo che utilizzi.
+ [Amazon Quick](https://docs.aws.amazon.com/quicksight/latest/user/welcome.html) è un servizio di business intelligence (BI) su scala cloud che ti aiuta a visualizzare, analizzare e generare report sui dati in un'unica dashboard.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.

**Repository di codice**

Il codice per questo pattern è disponibile nel GitHub [infrastructure-assessment-iac-automation](https://github.com/aws-samples/infrastructure-assessment-iac-automation)repository.

L'archivio del codice contiene i seguenti file e cartelle:
+ `lib`folder — I file di costruzione in Python del CDK AWS utilizzati per creare risorse AWS
+ `src/lambda_code`— Il codice Python che viene eseguito nella funzione Lambda
+ `requirements.txt`— L'elenco di tutte le dipendenze Python che devono essere installate
+ `cdk.json`— Il file di input per fornire i valori necessari per avviare le risorse

## Best practice
<a name="automate-aws-resource-assessment-best-practices"></a>

Imposta il monitoraggio e gli avvisi per la funzione Lambda. Per ulteriori informazioni, consulta [Monitoraggio e risoluzione dei problemi delle funzioni Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-monitoring.html). Per le best practice generali relative all'utilizzo delle funzioni Lambda, consulta la documentazione [AWS](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html).

## Epiche
<a name="automate-aws-resource-assessment-epics"></a>

### Configurare l'ambiente
<a name="set-up-your-environment"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Clona il repository sul tuo computer locale. | Per clonare il repository, esegui il comando `git clone https://github.com/aws-samples/infrastructure-assessment-iac-automation.git`. | AWS DevOps, DevOps ingegnere | 
| Configura l'ambiente virtuale Python e installa le dipendenze richieste. | Per configurare l'ambiente virtuale Python, esegui i seguenti comandi.<pre>cd infrastructure-assessment-iac-automation<br />python3 -m venv .venv<br />source .venv/bin/activate</pre>Per configurare le dipendenze richieste, esegui il comando. `pip install -r requirements.txt` | AWS DevOps, DevOps ingegnere | 
| Configura l'ambiente AWS CDK e sintetizza il codice CDK AWS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-aws-resource-assessment.html) | AWS DevOps, DevOps ingegnere | 

### Configura le credenziali AWS sul tuo computer locale
<a name="set-up-aws-credentials-on-your-local-machine"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Esporta le variabili per l'account e la regione in cui verrà distribuito lo stack. | Per fornire le credenziali AWS per AWS CDK utilizzando variabili di ambiente, esegui i seguenti comandi.<pre>export CDK_DEFAULT_ACCOUNT=<12 Digit AWS Account Number><br />export CDK_DEFAULT_REGION=<region></pre> | AWS DevOps, DevOps ingegnere | 
| Configura il profilo AWS CLI. | Per configurare il profilo AWS CLI per l'account, segui le istruzioni nella documentazione [AWS](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/keys-profiles-credentials.html). | AWS DevOps, DevOps ingegnere | 

### Configura e distribuisci lo strumento di valutazione delle risorse
<a name="configure-and-deploy-the-resource-assessment-tool"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Distribuisci risorse nell'account. | Per distribuire risorse nell'account AWS utilizzando AWS CDK, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-aws-resource-assessment.html) | AWS DevOps | 
| Esegui il crawler AWS Glue e crea la tabella Data Catalog. | Un [crawler AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/add-crawler.html) viene utilizzato per mantenere dinamico lo schema dei dati. La soluzione crea e aggiorna le partizioni nella [tabella del catalogo dati di AWS Glue](https://docs.aws.amazon.com/athena/latest/ug/querying-glue-catalog.html) eseguendo periodicamente il crawler come definito dallo scheduler del crawler di AWS Glue. Dopo che i dati sono disponibili nel bucket S3 di output, utilizza i seguenti passaggi per eseguire il crawler AWS Glue e creare lo schema della tabella Data Catalog per i test:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-aws-resource-assessment.html)Il codice CDK AWS configura il crawler AWS Glue per l'esecuzione in un determinato momento, ma puoi anche eseguirlo su richiesta. | AWS DevOps, DevOps ingegnere | 
| Implementa il costrutto Quick Sight. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-aws-resource-assessment.html) | AWS DevOps, DevOps ingegnere | 
| Crea la dashboard Quick Sight. | Per creare il dashboard e l'analisi Quick Sight di esempio, procedi come segue:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-aws-resource-assessment.html)Per ulteriori informazioni, consulta [Avvio di un'analisi in Amazon Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/creating-an-analysis.html) e [Tipi visivi in Amazon Quick Sight](https://docs.aws.amazon.com/quicksight/latest/user/working-with-visual-types.html). | AWS DevOps, DevOps ingegnere | 

### Pulisci tutte le risorse AWS nella soluzione
<a name="clean-up-all-aws-resources-in-the-solution"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Rimuovi le risorse AWS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-aws-resource-assessment.html) | AWS DevOps, DevOps ingegnere | 

### Configura funzionalità aggiuntive oltre all'automazione dello strumento di valutazione delle risorse AWS
<a name="set-up-additional-features-on-top-of-the-aws-resource-assessment-tool-automation"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Monitora e pulisci le risorse create manualmente. | (Facoltativo) Se la tua organizzazione ha requisiti di conformità per creare risorse utilizzando strumenti IaC, puoi raggiungere la conformità utilizzando l'automazione degli strumenti di valutazione delle risorse AWS per recuperare le risorse assegnate manualmente. Puoi anche utilizzare lo strumento per importare le risorse in uno strumento IaC o per ricrearle. Per monitorare le risorse assegnate manualmente, esegui le seguenti attività di alto livello:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/automate-aws-resource-assessment.html) | AWS DevOps, DevOps ingegnere | 

## Risoluzione dei problemi
<a name="automate-aws-resource-assessment-troubleshooting"></a>


| Problema | Soluzione | 
| --- | --- | 
| AWS CDK restituisce errori. | Per assistenza con i problemi di AWS CDK, consulta [Risoluzione dei problemi comuni di AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/troubleshooting.html). | 

## Risorse correlate
<a name="automate-aws-resource-assessment-resources"></a>
+ [Creazione di funzioni Lambda con Python](https://docs.aws.amazon.com/lambda/latest/dg/lambda-python.html)
+ [Inizia a usare AWS CDK](https://docs.aws.amazon.com/cdk/v2/guide/getting_started.html)
+ [Lavorare con AWS CDK in Python](https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-python.html)
+ [Creazione di una traccia di log CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [Inizia a usare Amazon Quick Sight](https://aws.amazon.com/quicksight/getting-started/)

## Informazioni aggiuntive
<a name="automate-aws-resource-assessment-additional"></a>

**Account multipli**

Per configurare le credenziali AWS CLI per più account, utilizza i profili AWS. Per ulteriori informazioni, consulta la sezione *Configurazione di più profili* in [Configurazione dell'interfaccia a riga di comando di AWS](https://aws.amazon.com/getting-started/guides/setup-environment/module-three/).

**Comandi AWS CDK**

Quando lavori con AWS CDK, tieni presente i seguenti comandi utili:
+ Elenca tutti gli stack presenti nell'app

  ```
  cdk ls
  ```
+ Emette il modello AWS sintetizzato CloudFormation 

  ```
  cdk synth
  ```
+ Distribuisce lo stack nell'account e nella regione AWS predefiniti

  ```
  cdk deploy
  ```
+ Confronta lo stack distribuito con lo stato attuale

  ```
  cdk diff
  ```
+ Apre la documentazione di AWS CDK

  ```
  cdk docs
  ```