Utilizzo di Elastic Beanstalk con Amazon EventBridge - AWS Elastic Beanstalk

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

Utilizzando Amazon EventBridge, puoi impostare regole basate sugli eventi che monitorano le risorse Elastic Beanstalk e avviano operazioni target 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 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 a cui sei interessato, definisci modelli specifici dell'evento che EventBridge può 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 nel miglior modo possibile. Vengono consegnati da Elastic Beanstalk a EventBridge 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. Per informazioni sul funzionamento delle regole EventBridge con i modelli di eventi, consulta Eventi e modelli di eventi in EventBridge.

Monitora una risorsa Elastic Beanstalk con EventBridge

Con EventBridge è possibile 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 console EventBridge dispone di un'opzione di Pre-defined pattern (Modello predefinito) per la creazione di modelli di eventi Elastic Beanstalk. Selezionando questa opzione nella console EventBridge quando crei una regola, puoi creare rapidamente un modello 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 modello di evento nella console EventBridge, puoi scegliere di utilizzare l'opzione Custom pattern (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 che di eventi Elastic Beanstalk che puoi utilizzare.

Per creare una regola per un evento risorsa
  1. Accedi ad AWS utilizzando un account che dispone delle autorizzazioni per utilizzare EventBridge ed Elastic Beanstalk.

  2. Aprire la console Amazon EventBridge all'indirizzo https://console.aws.amazon.com/events/.

  3. Nel pannello di navigazione, scegliere Rules (Regole).

  4. Scegli Create rule (Crea regola).

  5. Immettere un Name (Nome) per la regola e, facoltativamente, una descrizione.

  6. Per Event bus (Bus di eventi), scegli default. Quando un servizio di AWS nell'account emette un evento, passa sempre al bus di eventi predefinito dell'account.

  7. Per Rule type (Tipo di regola), scegli Rule with an event pattern (Regola con un modello di eventi).

  8. Seleziona Next (Successivo).

  9. Per Event source (Origine evento), scegli AWS events or EventBridge partner events (Eventi o eventi di partner EventBridge).

  10. (Facoltativo) Per Evento di esempio, seleziona AWSeventi. 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 successiva in questo argomento consente di visualizzare esempi dello stesso tipo di eventi.

  11. Nella sezione Modello di eventi, scegli Modulo di modello di eventi.

    Nota

    Se disponi già del testo per un modello di evento e non è necessario che la console EventBridge lo crei automaticamente, puoi selezionare Modello 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.

  12. Per Event source (Origine evento), scegli AWS services (Servizi ).

  13. Per il servizio AWS seleziona Elastic Beanstalk.

  14. Per Tipo di evento seleziona Modifica stato.

  15. 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 si seleziona solo un valore per Tipi di dettagli specifici, è possibile scegliere uno o più valori per il campo successivo nella gerarchia.

    • Se scegli più di un valore per Tipi di dettagli specifici, non scegliere valori specifici per i campi successivi nella 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.

  16. 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 dettaglio del modello di eventi. 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.

  17. Seleziona Next (Successivo).

  18. Per Target types (Tipi di destinazione), scegli AWS service (Servizio ).

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

    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 prezzi AWS, consulta https://aws.amazon.com/pricing/. Alcuni servizi rientrano nel piano di utilizzo gratuito AWS. Se sei un nuovo cliente, puoi provare questi servizi gratuitamente. Per ulteriori informazioni, consultare https://aws.amazon.com/free/.

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

  21. Seleziona Next (Successivo).

  22. (Facoltativo) Inserire uno o più tag per la regola. Per ulteriori informazioni, consulta Tag Amazon EventBridge nella Guida per l'utente di Amazon EventBridge.

  23. Seleziona Next (Successivo).

  24. Rivedi i dettagli della regola e scegli Create rule (Crea regola).

Esempio di modelli di eventi Elastic Beanstalk

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

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

Nella tabella seguente vengono mappati i campi evento Elastic Beanstalk e i possibili valori di stringa relativi al campo detail-type EventBridge. Per ulteriori informazioni sul funzionamento di EventBridge con i modelli di eventi per un servizio, consulta Eventi e modelli di eventi in EventBridge.

Campo EventBridge detail-type Campo Elastic Beanstalk Stato campo Elastic Beanstalk Gravità Campo Elastic Beanstalk Messaggio

Modifica dello stato delle risorse Elastic Beanstalk

Creazione dell'ambiente avviata

INFO

createEnvironment in fase di avvio.

Creazione dell'ambiente riuscita

INFO

createEnvironment completato correttamente.

Creazione dell'ambiente riuscita

INFO

Ambiente avviato: <Nome ambiente>. Tuttavia, si sono verificati problemi durante l'avvio. Per ulteriori informazioni, vedere il log di eventi.

Creazione ambiente non riuscita

ERROR

Impossibile avviare ambiente.

Aggiornamento dell'ambiente avviato

INFO

Aggiornamento dell'ambiente in corso.

Aggiornamento dell'ambiente riuscito

INFO

Aggiornamento dell'ambiente completato correttamente.

Aggiornamento dell'ambiente non riuscito

ERROR

Impossibile distribuire la configurazione.

Terminazione dell'ambiente avviata

INFO

terminateEnvironment in corso.

Terminazione dell'ambiente riuscita

INFO

terminateEnvironment completato correttamente.

Terminazione dell'ambiente non riuscita

INFO

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

Gruppo Auto Scaling creato

INFO

createEnvironment in fase di avvio.

Gruppo Auto Scaling eliminato

INFO

createEnvironment in fase di avvio.

Istanza aggiunta

INFO

Aggiunta istanza [i-123456789a12b1234] all'ambiente.

Istanza rimossa

INFO

Rimossa istanza [i-123456789a12b1234] dall'ambiente.

Load balancer creato

INFO

Load balancer creato denominato: <Nome LB>

Load balancer eliminato

INFO

Load balancer eliminato denominato: <Nome LB>

Modifica dello stato

Modificato stato dell'ambiente

INFO/WARN

Lo stato dell'ambiente è passato a <healthStatus>.

Modificato stato dell'ambiente

INFO/WARN

Lo stato dell'ambiente è passato da <healthStatus> a <healthStatus>.

Modifica dello stato degli aggiornamenti gestiti

Avviato aggiornato gestito

INFO

L'aggiornamento della piattaforma gestito è in corso.

Aggiornamento gestito non riuscito

INFO

Aggiornamento gestito non riuscito. Riprovare tra %s minuti.