

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

# Creazione di una regola che si attiva su un evento Amazon RDS
<a name="rds-cloud-watch-events"></a>

Con Amazon EventBridge, puoi automatizzare AWS i servizi e rispondere a eventi di sistema come problemi di disponibilità delle applicazioni o modifiche delle risorse. 

**Topics**
+ [Creazione di regole per inviare eventi Amazon RDS ad Amazon EventBridge](#rds-cloudwatch-events.sending-to-cloudwatch-events)
+ [Tutorial: registra le modifiche allo stato delle istanze DB utilizzando Amazon EventBridge](#log-rds-instance-state)

## Creazione di regole per inviare eventi Amazon RDS ad Amazon EventBridge
<a name="rds-cloudwatch-events.sending-to-cloudwatch-events"></a>

Puoi scrivere semplici regole che indichino quali eventi Amazon RDS ti interessano e quali operazioni automatizzate eseguire quando si verifica un evento previsto da una regola. Puoi impostare una varietà di obiettivi, come una AWS Lambda funzione o un argomento Amazon SNS, che ricevono eventi in formato JSON. Ad esempio, puoi configurare Amazon RDS Amazon ogni volta che viene creata o eliminata un'istanza DB. Per ulteriori informazioni, consulta la [Amazon CloudWatch Events User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/) e la [Amazon EventBridge User Guide](https://docs.aws.amazon.com/eventbridge/latest/userguide/).

**Per creare una regola che si attiva su un evento RDS:**

1. Apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. In **Events (Eventi)** nel pannello di navigazione, scegli **Rules (Regole)**.

1. Scegli **Create rule** (Crea regola).

1. Per **Event Source** (Origine evento) procedi nel seguente modo:

   1. Seleziona **Event Pattern** (Modello di eventi).

   1. Per **Service Name (Nome servizio)**, scegli **Relational Database Service (RDS)**.

   1. Per **Event Type (Tipo di evento)**, scegli il tipo di risorsa Amazon RDS che attiva l'evento. Ad esempio, se un'istanza database attiva l'evento, scegli **RDS DB Instance Event (Evento istanza database RDS)**.

1. Per **Target**, scegli **Aggiungi destinazione** e scegli il AWS servizio che deve agire quando viene rilevato un evento del tipo selezionato. 

1. Negli altri campi di questa sezione, inserisci informazioni specifiche di questo tipo di destinazione, se necessarie. 

1. Per molti tipi di oggetto, EventBridge sono necessarie le autorizzazioni per inviare eventi alla destinazione. In questi casi, EventBridge puoi creare il ruolo IAM necessario per l'esecuzione del tuo evento: 
   + Per creare un ruolo IAM automaticamente, seleziona **Create a new role for this specific resource (Crea un nuovo ruolo per questa risorsa specifica)**.
   + Per utilizzare un ruolo IAM creato in precedenza, seleziona **Use existing role (Utilizza un ruolo esistente)**.

1. Facoltativamente, ripeti le fasi 5-7 per aggiungere un'altra destinazione per questa regola

1. Scegli **Configure details** (Configura dettagli). In **Rule definition (Definizione regola)**, digita un nome e una descrizione della regola.

   Il nome della regola deve essere univoco all'interno di questa regione.

1. Scegli **Create rule** (Crea regola).

Per ulteriori informazioni, consulta [Creazione di una EventBridge regola che si attiva su un evento](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/Create-CloudWatch-Events-Rule.html) nella *Amazon CloudWatch User Guide*.

## Tutorial: registra le modifiche allo stato delle istanze DB utilizzando Amazon EventBridge
<a name="log-rds-instance-state"></a>

In questo tutorial, crei una AWS Lambda funzione che registra le modifiche di stato per un'istanza Amazon RDS. Successivamente crei una regola che esegua la funzione ogni volta che si verifica un cambiamento di stato di un'istanza database RDS esistente. Il tutorial presuppone che si dispone di una piccola istanza di test in esecuzione che è possibile arrestare temporaneamente.

**Importante**  
Non eseguire questo tutorial su un'istanza database di produzione in esecuzione.

**Topics**
+ [Fase 1: Creare una funzione AWS Lambda](#rds-create-lambda-function)
+ [Fase 2: Creazione di una regola](#rds-create-rule)
+ [Fase 3: Test della regola](#rds-test-rule)

### Fase 1: Creare una funzione AWS Lambda
<a name="rds-create-lambda-function"></a>

Crea una funzione Lambda per registrare gli eventi di modifica dello stato. È necessario specificare questa funzione alla creazione della regola.

**Per creare una funzione Lambda**

1. Apri la AWS Lambda console all'indirizzo [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Se è la prima volta che utilizzi Lambda, verrà visualizzata una pagina di benvenuto. Selezionare **Get Started Now** (Inizia subito). Altrimenti, scegliere **Create function (Crea funzione)**.

1. Scegli **Author from scratch** (Crea da zero).

1. Nella pagina **Create function (Crea funzione)**, procedere come segue:

   1. Digitare un nome e una descrizione per la funzione Lambda. Ad esempio, denomina la funzione **RDSInstanceStateChange**. 

   1. In **Runtime**, seleziona **Node.js 16x**. 

   1. In **Architecture** (Architettura), scegli **x86\$164**.

   1. In **Execution role (Ruolo di esecuzione)**, esegui una delle operazioni seguenti:
      + Scegliere **Create a new role with basic Lambda permissions (Crea un nuovo ruolo con le autorizzazioni Lambda di base)**.
      + In **Execution role** (Ruolo di esecuzione), sceglie **Use an existing role** (Utilizza un ruolo esistente). Scegli il ruolo che desideri usare. 

   1. Scegli **Crea funzione**.

1. Nella **RDSInstanceStateChange**pagina, procedi come segue:

   1. In **Origine codice**, seleziona **index.js**. 

   1. Nel riquadro di **index.js**, elimina il codice esistente.

   1. Immetti il seguente codice:

      ```
      console.log('Loading function');
      
      exports.handler = async (event, context) => {
          console.log('Received event:', JSON.stringify(event));
      };
      ```

   1. Selezionare **Deploy (Distribuisci)**.

### Fase 2: Creazione di una regola
<a name="rds-create-rule"></a>

Crea una regola per l'esecuzione della funzione Lambda ogni volta che avvii un'istanza Amazon RDS.

**Per creare la EventBridge regola**

1. Apri la EventBridge console Amazon all'indirizzo [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Nel pannello di navigazione, scegli **Regole**.

1. Scegli **Crea regola**.

1. Immettere un nome e una descrizione per la regola. Ad esempio, specifica **RDSInstanceStateChangeRule**.

1. Scegli **Rule with an event pattern** (Regola con un modello di eventi), quindi seleziona **Next** (Successivo).

1. Per **Event source**, scegli **AWS eventi o eventi per i EventBridge partner**.

1. Scorri verso il basso fino alla sezione **Event pattern** (Modello di eventi).

1. In **Event source (Origine eventi)**, selezionare **Servizi AWS**.

1. In **AWS service** (Servizio AWS ), scegli **Relational Database Service (RDS)**.

1. Per **Tipo di evento**, seleziona **Evento istanza database RDS**.

1. Lascia il modello di eventi predefinito. Quindi scegli **Successivo**.

1. Per **Tipi di destinazione**, scegli **servizio AWS **.

1. Per **Select a target** (Seleziona destinazione), scegli **Lambda function** (Funzione Lambda).

1. In **Function** (Funzione), seleziona la funzione Lambda che hai creato. Quindi scegli **Successivo**.

1. In **Configure tags** (Configura tag), scegli **Next** (Successivo).

1. Esamina i passaggi nella regola. Quindi scegli **Create rule** (Crea regola).

### Fase 3: Test della regola
<a name="rds-test-rule"></a>

Per verificare la regola, arresta un'istanza database RDS. Dopo aver atteso alcuni minuti perché l'istanza venga avviata e inizializzata, verifica che la funzione Lambda sia stata richiamata.

**Per effettuare il test della regola arrestando un'istanza database**

1. Aprire la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Arresta un'istanza database RDS.

1. Apri la EventBridge console Amazon all'indirizzo [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Nel pannello di navigazione, seleziona **Regole**, scegli il nome della regola creata.

1. In **Dettagli della regola** scegli **Monitoraggio**.

   Verrai reindirizzato alla CloudWatch console Amazon. Se non vieni reindirizzato, fai clic su **Visualizza le metriche in**. CloudWatch

1. In **Tutti i parametri**, seleziona il nome della regola creata.

   Il grafico deve indicare che la regola è stata richiamata.

1. Nel pannello di navigazione, selezionare **Log groups (Gruppi di log)**.

1. Scegli il nome del gruppo di log per la tua funzione Lambda (***function-name*/aws/lambda/**).

1. Scegliere il nome del flusso di log per visualizzare i dati forniti dalla funzione per l'istanza avviata. Sarà visualizzato un evento ricevuto simile a quello seguente:

   ```
   {
       "version": "0",
       "id": "12a345b6-78c9-01d2-34e5-123f4ghi5j6k",
       "detail-type": "RDS DB Instance Event",
       "source": "aws.rds",
       "account": "111111111111",
       "time": "2021-03-19T19:34:09Z",
       "region": "us-east-1",
       "resources": [
           "arn:aws:rds:us-east-1:111111111111:db:testdb"
       ],
       "detail": {
           "EventCategories": [
               "notification"
           ],
           "SourceType": "DB_INSTANCE",
           "SourceArn": "arn:aws:rds:us-east-1:111111111111:db:testdb",
           "Date": "2021-03-19T19:34:09.293Z",
           "Message": "DB instance stopped",
           "SourceIdentifier": "testdb",
           "EventID": "RDS-EVENT-0087"
       }
   }
   ```

   Per altri esempi di eventi RDS in formato JSON, vedere [Panoramica degli eventi per Amazon RDS](working-with-events.md#rds-cloudwatch-events.sample).

1. (Facoltativo) Al termine, puoi aprire la console Amazon RDS e avviare l'istanza terminata.