

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

# Utilizzo di Elastic Beanstalk con Amazon EventBridge
<a name="AWSHowTo.eventbridge"></a>

Con Amazon EventBridge, puoi configurare regole basate sugli eventi che monitorano le tue risorse Elastic Beanstalk e avviano azioni mirate che utilizzano altri servizi. AWS Ad esempio, puoi impostare una regola per l'invio di notifiche e-mail segnalando un argomento Amazon SNS ogni volta che lo stato di integrità di un ambiente di produzione cambia in uno stato di *Avviso*. In alternativa, è possibile impostare una funzione Lambda per passare una notifica a Slack ogni volta che lo stato dell'ambiente cambia in uno stato *Danneggiato* o *Grave* .

Puoi creare regole in Amazon EventBridge per agire su uno qualsiasi dei seguenti eventi Elastic Beanstalk:
+ *Modifiche dello stato per le operazioni dell'ambiente (comprese le operazioni di creazione, aggiornamento e terminazione). * L'evento specifica se la modifica dello stato è stata avviata, completata o non completata.
+ *Modifiche dello stato per altre risorse. *Oltre agli ambienti, altre risorse monitorate includono load balancer, gruppi Auto Scaling e istanze.
+ *Transizione dello stato per ambienti.* L'evento indica dove lo stato dell'ambiente è passato da un stato di integrità ad un altro. 
+ *Modifica dello stato per gli aggiornamenti gestiti.* L'evento specifica se la modifica dello stato è stata avviata, completata o non completata.

Per acquisire eventi Elastic Beanstalk specifici che ti interessano, definisci EventBridge modelli specifici dell'evento che puoi utilizzare per rilevare gli eventi. I modelli di eventi hanno la stessa struttura degli eventi a cui corrispondono. Il modello cita i campi che desideri abbinare e fornisce i valori che stai cercando. Gli eventi vengono emessi secondo il principio del massimo sforzo. Vengono distribuiti da Elastic EventBridge Beanstalk quasi in tempo reale in normali circostanze operative. Tuttavia, possono verificarsi situazioni che potrebbero ritardare o impedire la consegna di un evento.

Per un elenco dei campi inclusi negli eventi Elastic Beanstalk e dei loro possibili valori di stringa, consulta [Mappatura dei campi evento Elastic Beanstalk](#eb-eventbridge-mapping). Per informazioni su come EventBridge le regole funzionano con i pattern di eventi, consulta [Eventi e pattern di eventi](https://docs.aws.amazon.com//eventbridge/latest/userguide/eventbridge-and-event-patterns.html) in. EventBridge 

## Monitora una risorsa Elastic Beanstalk con EventBridge
<a name="eb-eventbridge-tasks"></a>

Con EventBridge, puoi creare regole che definiscono le azioni da intraprendere quando Elastic Beanstalk emette eventi per le sue risorse. Ad esempio, puoi creare una regola per ricevere un messaggio di posta elettronica ogni volta che lo stato di un ambiente cambia. 

La EventBridge console dispone di un'opzione di **pattern predefinito per la creazione di pattern** di eventi Elastic Beanstalk. Se selezioni questa opzione nella EventBridge console quando crei una regola, puoi creare rapidamente un pattern di eventi Elastic Beanstalk. È sufficiente selezionare i campi evento e i valori. Man mano che effettui le selezioni, la console crea e visualizza il modello di eventi. In alternativa, è possibile modificare manualmente il modello di eventi creato e salvarlo come modello personalizzato. La console fornisce l’opzione di visualizzare un **evento di esempio** dettagliato che è possibile copiare e incollare nel modello di evento che stai creando.

Se preferisci digitare o copiare e incollare un pattern di eventi nella EventBridge console, puoi scegliere di utilizzare l'opzione **Modello personalizzato** nella console. In questo modo, non è necessario eseguire le fasi di selezione dei campi e dei valori descritte in precedenza. Questo argomento offre esempi sia di [modelli di corrispondenza degli eventi](#eb-eventbridge-patterns) che di [eventi Elastic Beanstalk](#eb-eventbridge-examples) che puoi utilizzare. 

**Per creare una regola per un evento risorsa**

1. Accedi AWS utilizzando un account con autorizzazioni di utilizzo EventBridge ed Elastic Beanstalk.

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 **Name (Nome)** per la regola e, facoltativamente, una descrizione.

1. Per **Event bus** (Bus di eventi), scegli **default**. Quando un AWS servizio del tuo account emette un evento, questo passa sempre al bus eventi predefinito del tuo account.

1. Per **Tipo di regola**, scegli **Regola con un modello di eventi**.

1. Scegli **Next (Successivo)**.

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

1. (Facoltativo) Per **Evento di esempio**, seleziona **AWS eventi**. Insersici *Elastic Beanstalk* nel campo di ricerca. Questo fornirà un elenco di esempi di eventi Elastic Beanstalk da cui è possibile scegliere la visualizzazione. Questo passaggio visualizza semplicemente un evento di esempio a cui è possibile fare riferimento. Non influisce sul risultato della creazione della regola. La sezione [Esempio di eventi Elastic Beanstalk](#eb-eventbridge-examples) successiva in questo argomento consente di visualizzare esempi dello stesso tipo di eventi.

1. Nella sezione **Modello di eventi**, scegli **Modulo di modello di eventi**.
**Nota**  
Se disponi già del testo per un pattern di eventi e non hai bisogno che la EventBridge console lo crei per te, seleziona **Pattern personalizzato (editor JSON)**. È quindi possibile immettere manualmente o copiare e incollare il testo nella casella **Modello di evento** . Scegli **Successivo** e vai al passaggio sull'inserimento di un obiettivo.

1. Per **Origine evento**, scegli **Servizi AWS **. 

1. Per **il servizio AWS ** seleziona **Elastic Beanstalk**.

1. Per **Tipo di evento** seleziona **Modifica stato**.

1. In questa fase viene illustrato come lavorare con i campi evento Elastic Beanstalk relativi a **tipo di dettaglio**, **stato** e **gravità**. Mentre scegli questi campi e i valori che desideri abbinare, la console crea e visualizza il modello di evento. 
   + Se selezioni *solo un* valore per **Tipi di dettaglio specifici**, puoi scegliere uno o più valori per il campo successivo della gerarchia.
   + Se scegliete *più di un* valore per **i tipi di dettaglio specifici**, non scegliete valori specifici per i campi successivi della gerarchia. Questo impedisce la logica di corrispondenza ambigua tra i campi nel modello di evento.

   Il campo evento **ambiente** non è interessato da questa gerarchia, quindi viene visualizzato come descritto nella fase successiva.

1. Per Ambiente, seleziona **Qualsiasi ambiente** o **Ambienti specifici**.
   + Se selezioni **Ambienti specifici**, puoi scegliere uno o più ambienti dall'elenco a discesa. EventBridge aggiunge tutti gli ambienti selezionati all'interno dell'elenco *EnvironmentName[]* nella sezione dei *dettagli* del modello di evento. Quindi, la regola filtra tutti gli eventi in modo da includere solo gli ambienti specifici che scegli.
   + Se selezioni **Any environment (Qualsiasi ambiente)**, nessun ambiente verrà aggiunto al tuo modello di evento. Per questo motivo, la regola non filtra gli eventi Elastic Beanstalk in base all'ambiente.

1. Scegli **Next (Successivo)**.

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

1. In **Seleziona destinazioni**, scegliere l'operazione di destinazione da eseguire quando viene ricevuto un evento di modifica dello stato della risorsa da Elastic Beanstalk.

   Ad esempio, è possibile utilizzare un argomento Amazon Simple Notification Service (SNS) per inviare un'e-mail o un messaggio di testo quando si verifica un evento. Per fare ciò, è necessario creare un argomento Amazon SNS utilizzando la console di Amazon SNS. Per ulteriori informazioni, consulta [Utilizzo di Amazon SNS per notifiche all'utente](https://docs.aws.amazon.com//sns/latest/dg/sns-user-notifications.html).
**Importante**  
Alcune operazioni di destinazione potrebbero richiedere l'uso di altri servizi e comportare costi aggiuntivi, ad esempio il servizio Amazon SNS o Lambda. Per ulteriori informazioni sui AWS prezzi, consulta[https://aws.amazon.com/pricing/](https://aws.amazon.com/pricing/). Alcuni servizi fanno parte del piano di utilizzo AWS gratuito. Se sei un nuovo cliente, puoi provare questi servizi gratuitamente. Per ulteriori informazioni, consultare [https://aws.amazon.com/free/](https://aws.amazon.com/free/). 

1. (Facoltativo) Scegli **Aggiungi destinazione** per specificare un'operazione di destinazione aggiuntiva per la regola evento.

1. Scegli **Next (Successivo)**.

1. (Facoltativo) Inserire uno o più tag per la regola. Per ulteriori informazioni, consulta i [ EventBridge tag Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-tagging.html) nella *Amazon EventBridge User Guide*.

1. Scegli **Next (Successivo)**.

1. Rivedi i dettagli della regola e scegli **Crea regola**.

## Esempio di modelli di eventi Elastic Beanstalk
<a name="eb-eventbridge-patterns"></a>

I modelli di eventi hanno la stessa struttura degli eventi a cui corrispondono. Il modello cita i campi che desideri abbinare e fornisce i valori che stai cercando.
+ *Modifica dello stato di integrità* per tutti gli ambienti

  ```
  {
     "source": [
      "aws.elasticbeanstalk"
    ],
    "detail-type": [
      "Health status change"
      ]
  }
  ```
+ *Modifica dello stato di integrità* per i seguenti ambienti: `myEnvironment1` e `myEnvironment2`. Questo modello di eventi filtra per questi due ambienti specifici, mentre il precedente esempio di *modifica dello stato di integrità* che non filtra invia eventi per tutti gli ambienti.

  ```
  {"source": [
      "aws.elasticbeanstalk"
      ],
      "detail-type": [
          "Health status change"
      ],
      "detail": {
          "EnvironmentName": [
              "myEnvironment1",
              "myEnvironment2"
          ]
      }
  }
  ```
+ *Modifica dello stato delle risorse Elastic Beanstalk* per tutti gli ambienti

  ```
  {
    "source": [
      "aws.elasticbeanstalk"
    ],
    "detail-type": [
      "Elastic Beanstalk resource status change"
      ]
  }
  ```
+ *Modifica dello stato delle risorse Elastic Beanstalk* con *aggiornamento dell'ambiente non riuscito* `Status` ed *ERROR* `Severity` per i seguenti ambienti: `myEnvironment1` e `myEnvironment2`

  ```
  {"source": [
      "aws.elasticbeanstalk"
      ],
      "detail-type": [
          "Elastic Beanstalk resource status change"
      ],
      "detail": {
          "Status": [
              "Environment update failed"
              ],
          "Severity": [
              "ERROR"
              ],
          "EnvironmentName": [
              "myEnvironment1",
              "myEnvironment2"
          ]
      }
  }
  ```
+ *Modifica dello stato delle altre risorse* per i load balancer, i gruppi Auto Scaling e le istanze

  ```
  {
     "source": [
      "aws.elasticbeanstalk"
    ],
    "detail-type": [
      "Other resource status change"
      ]
  }
  ```
+ *Modifica dello stato degli aggiornamenti gestiti* per tutti gli ambienti

  ```
  {
     "source": [
      "aws.elasticbeanstalk"
    ],
    "detail-type": [
      "Managed update status change"
      ]
  }
  ```
+ Per acquisire *tutti gli eventi* da Elastic Beanstalk (escludere la sezione `detail-type`)

  ```
  {
    "source": [
      "aws.elasticbeanstalk"
    ]
  }
  ```

## Esempio di eventi Elastic Beanstalk
<a name="eb-eventbridge-examples"></a>

Di seguito è riportato un esempio di evento Elastic Beanstalk per una *modifica dello stato delle risorse*:

```
{ 
   "version":"0",
   "id":"1234a678-1b23-c123-12fd3f456e78",
   "detail-type":"Elastic Beanstalk resource status change",
   "source":"aws.elasticbeanstalk",
   "account":"111122223333",
   "time":"2020-11-03T00:31:54Z",
   "region":"us-east-1",
   "resources":[
      "arn:was:elasticbeanstalk:us-east-1:111122223333:environment/myApplication/myEnvironment"
   ],
   "detail":{
      "Status":"Environment creation started",
      "EventDate":1604363513951,
      "ApplicationName":"myApplication",
      "Message":"createEnvironment is starting.",
      "EnvironmentName":"myEnvironment",
      "Severity":"INFO"
   }
}
```

Di seguito è riportato un esempio di evento Elastic Beanstalk per una *modifica dello stato*:

```
{ 
   "version":"0",
   "id":"1234a678-1b23-c123-12fd3f456e78",
   "detail-type":"Health status change",
   "source":"aws.elasticbeanstalk",
   "account":"111122223333",
   "time":"2020-11-03T00:34:48Z",
   "region":"us-east-1",
   "resources":[
      "arn:was:elasticbeanstalk:us-east-1:111122223333:environment/myApplication/myEnvironment"
   ],
   "detail":{
      "Status":"Environment health changed",
      "EventDate":1604363687870,
      "ApplicationName":"myApplication",
      "Message":"Environment health has transitioned from Pending to Ok. Initialization completed 1 second ago and took 2 minutes.",
      "EnvironmentName":"myEnvironment",
      "Severity":"INFO"
   }
}
```

## Mappatura dei campi evento Elastic Beanstalk
<a name="eb-eventbridge-mapping"></a>

La tabella seguente mappa i campi evento di Elastic Beanstalk e i relativi possibili valori di stringa sul campo. EventBridge `detail-type` Per ulteriori informazioni su come EventBridge funziona con i modelli di eventi per un servizio, consulta [Eventi e modelli di eventi](https://docs.aws.amazon.com//eventbridge/latest/userguide/eventbridge-and-event-patterns.html) in. EventBridge 



- ** Modifica dello stato delle risorse Elastic Beanstalk **
  - ****Campo Elastic Beanstalk *Stato***:** Creazione dell'ambiente avviata / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** createEnvironment in fase di avvio.
  - ****Campo Elastic Beanstalk *Stato***:** Creazione dell'ambiente riuscita / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** createEnvironment completato correttamente.
  - ****Campo Elastic Beanstalk *Stato***:** Creazione dell'ambiente riuscita / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** Ambiente avviato: <Nome ambiente>. Tuttavia, si sono verificati problemi durante l'avvio. Per ulteriori informazioni, vedere il log di eventi.
  - ****Campo Elastic Beanstalk *Stato***:** Creazione ambiente non riuscita / ****campo Elastic Beanstalk *Gravità***:** ERRORE / ****Campo Elastic Beanstalk *Messaggio***:** Impossibile avviare ambiente.
  - ****Campo Elastic Beanstalk *Stato***:** Aggiornamento dell'ambiente avviato / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** Aggiornamento dell'ambiente in corso.
  - ****Campo Elastic Beanstalk *Stato***:** Aggiornamento dell'ambiente riuscito / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** Aggiornamento dell'ambiente completato correttamente.
  - ****Campo Elastic Beanstalk *Stato***:** Aggiornamento dell'ambiente non riuscito / ****campo Elastic Beanstalk *Gravità***:** ERRORE / ****Campo Elastic Beanstalk *Messaggio***:** Impossibile distribuire la configurazione.
  - ****Campo Elastic Beanstalk *Stato***:** Terminazione dell'ambiente avviata / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** terminateEnvironment in corso.
  - ****Campo Elastic Beanstalk *Stato***:** Terminazione dell'ambiente riuscita / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** terminateEnvironment completato correttamente.
  - ****Campo Elastic Beanstalk *Stato***:** Terminazione dell'ambiente non riuscita / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** La fase di terminazione dell'ambiente non è riuscita perché almeno uno dei flussi di lavoro di terminazione dell'ambiente non è riuscito.

- ** Modifica dello stato delle altre risorse **
  - ****Campo Elastic Beanstalk *Stato***:** Gruppo Auto Scaling creato / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** createEnvironment in fase di avvio.
  - ****Campo Elastic Beanstalk *Stato***:** Gruppo Auto Scaling eliminato / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** createEnvironment in fase di avvio.
  - ****Campo Elastic Beanstalk *Stato***:** Istanza aggiunta / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** Aggiunta istanza [i-123456789a12b1234] all'ambiente.
  - ****Campo Elastic Beanstalk *Stato***:** Istanza rimossa / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** Rimossa istanza [i-123456789a12b1234] dall'ambiente.
  - ****Campo Elastic Beanstalk *Stato***:** Load balancer creato / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** Load balancer creato denominato: <Nome LB>
  - ****Campo Elastic Beanstalk *Stato***:** Load balancer eliminato / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** Load balancer eliminato denominato: <Nome LB>

- ** Modifica dello stato **
  - ****Campo Elastic Beanstalk *Stato***:** Modificato stato dell'ambiente / ****campo Elastic Beanstalk *Gravità***:** INFO/WARN / ****Campo Elastic Beanstalk *Messaggio***:** Lo stato dell'ambiente è passato a <healthStatus>.
  - ****Campo Elastic Beanstalk *Stato***:** Modificato stato dell'ambiente / ****campo Elastic Beanstalk *Gravità***:** INFO/WARN / ****Campo Elastic Beanstalk *Messaggio***:** Lo stato dell'ambiente è passato da <healthStatus> a <healthStatus>.

- ** Modifica dello stato degli aggiornamenti gestiti **
  - ****Campo Elastic Beanstalk *Stato***:** Avviato aggiornato gestito / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** L'aggiornamento della piattaforma gestito è in corso.
  - ****Campo Elastic Beanstalk *Stato***:** Aggiornamento gestito non riuscito / ****campo Elastic Beanstalk *Gravità***:** INFO / ****Campo Elastic Beanstalk *Messaggio***:** Aggiornamento gestito non riuscito. Riprovare tra %s minuti.

