REL06-BP03 Invio di notifiche (elaborazione e avvisi in tempo reale)
Quando le organizzazioni rilevano potenziali problemi, inviano notifiche e avvisi in tempo reale ai team e ai sistemi appropriati per rispondere rapidamente ed efficacemente alle difficoltà.
Risultato desiderato: è possibile rispondere rapidamente agli eventi operativi attraverso la configurazione di allarmi pertinenti in base ai parametri del servizio e dell'applicazione. Quando la soglia degli allarmi viene superata, i team e i sistemi appropriati vengono informati in modo che possano risolvere i problemi sottostanti.
Anti-pattern comuni:
-
Configuri gli allarmi con una soglia eccessivamente alta, con conseguente mancato invio di notifiche importanti.
-
Configuri gli allarmi con una soglia troppo bassa, con il risultato che gli avvisi importanti non vengono presi in considerazione a causa del numero eccessivo di notifiche generate.
-
Non aggiorni gli allarmi e la relativa soglia quando cambia l'utilizzo.
-
Per gli allarmi gestiti meglio tramite le azioni automatizzate, l'invio della notifica ai team anziché l'attivazione dell'azione automatizzata comporta la generazione di un numero eccessivo di notifiche.
Vantaggi dell'adozione di questa best practice: l'invio di notifiche e avvisi in tempo reale ai team e ai sistemi appropriati consente di individuare tempestivamente i problemi e di rispondere rapidamente agli incidenti operativi.
Livello di rischio associato se questa best practice non fosse adottata: elevato
Guida all'implementazione
I carichi di lavoro devono essere dotati di sistemi di elaborazione e allarme in tempo reale per migliorare l'identificazione dei problemi che possono influire sulla disponibilità dell'applicazione e fungere da trigger per la risposta automatizzata. Le organizzazioni possono eseguire un sistema di elaborazione e allarme in tempo reale creando avvisi con parametri definiti in modo da ricevere le notifiche ogni volta che si verificano eventi significativi o un parametro supera una determinata soglia.
Amazon CloudWatch consente di creare allarmi di parametri e compositi mediante gli allarmi CloudWatch basati su soglie statiche, rilevamento di anomalie e altri criteri. Per ulteriori informazioni sui tipi di allarmi configurabili mediante CloudWatch, consulta la sezione sugli allarmi della documentazione di CloudWatch.
Puoi creare per i tuoi team visualizzazioni personalizzate dei parametri e degli avvisi delle risorse AWS utilizzando i pannelli di controllo di CloudWatch. Le home page personalizzabili nella console di CloudWatch consentono di monitorare le risorse di più regioni in un'unica visualizzazione.
Gli allarmi possono eseguire una o più azioni, come inviare una notifica a un argomento Amazon SNS, eseguendo un'azione Amazon EC2
Amazon CloudWatch utilizza Amazon SNS per inviare le notifiche quando l'allarme cambia stato, con la distribuzione dei messaggi degli editori (produttori) agli abbonati (consumatori). Per ulteriori informazioni sulla configurazione delle notifiche di Amazon SNS, consulta Configuring Amazon SNS.
CloudWatch invia eventi EventBridge
Con AWS Health
Quando utilizzare EventBridge o Amazon SNS?
EventBridge e Amazon SNS possono entrambi essere utilizzati per sviluppare applicazioni basate su eventi e la scelta dipende dalle tue esigenze specifiche.
Amazon EventBridge è consigliato per creare applicazioni che reagiscano agli eventi delle applicazioni, delle applicazioni SaaS e dei servizi AWS. EventBridge è l'unico servizio basato su eventi integrato direttamente con partner SaaS di terze parti. EventBridge inoltre acquisisce automaticamente eventi da oltre 200 servizi AWS senza che gli sviluppatori debbano creare risorse negli account.
EventBridge utilizza una struttura definita basata su JSON per gli eventi e consente di creare regole applicate all'intero corpo dell'evento per selezionare gli eventi da inoltrare alle destinazioni. EventBridge supporta al momento oltre 20 servizi AWS come destinazione, tra cui AWS Lambda, Amazon SQS
Amazon SNS è consigliato per le applicazioni che richiedono un fan-out elevato (migliaia o milioni di endpoint). Di solito i clienti utilizzano Amazon SNS come destinazione della regola per filtrare gli eventi di cui hanno bisogno e sottoporli al fan-out su più endpoint.
I messaggi non sono strutturati e possono assumere qualsiasi formato. Amazon SNS consente di inoltrare messaggi a sei diversi tipi di destinazioni, tra cui Lambda, Amazon SQS, endpoint HTTP/S, SMS, push mobile ed e-mail. La latenza tipica di Amazon SNS è inferiore a 30 millisecondi
Passaggi dell'implementazione
-
Crea un allarme mediante gli allarmi di Amazon CloudWatch.
-
Un allarme di parametri monitora un singolo parametro CloudWatch o un'espressione dipendente dai parametri CloudWatch. L'allarme avvia una o più azioni in base al valore del parametro o dell'espressione rispetto a una soglia, per un determinato numero di intervalli di tempo. L'azione può consistere nell'inviare una notifica a un argomento Amazon SNS, nell'esecuzione di un'azione Amazon EC2
o un'azione Amazon EC2 Auto Scaling oppure nella creazione di un OpsItem o di un incidente in AWS Systems Manager. -
Un allarme composito è costituito da un'espressione di regola che considera le condizioni di altri allarmi che hai creato. L'allarme composito entra in stato di allarme solo se tutte le condizioni della regola sono soddisfatte. Gli allarmi specificati nell'espressione di regola di un allarme composito possono includere allarmi di parametri e allarmi compositi aggiuntivi. Gli allarmi compositi possono inviare notifiche di Amazon SNS quando cambiano stato e possono creare oggetti OpsItem di Systems Manager o incidenti quando passano allo stato di allarme, ma non possono eseguire azioni EC2 o azioni Auto Scaling.
-
-
Configura le notifiche di Amazon SNS. Quando si crea un allarme CloudWatch, è possibile includere un argomento Amazon SNS per inviare una notifica quando l'allarme cambia stato.
-
Crea regole in EventBridge corrispondenti agli allarmi CloudWatch specificati. Ogni regola supporta più destinazioni, incluse le funzioni Lambda. Ad esempio, è possibile definire un allarme che si attiva quando lo spazio disponibile su disco si sta esaurendo, il che attiva una funzione Lambda tramite una regola EventBridge per ripulire lo spazio. Per ulteriori informazioni sulle destinazioni EventBridge, consulta EventBridge targets.
Risorse
Best practice Well-Architected correlate:
Documenti correlati:
Video correlati:
Esempi correlati: