REL06-BP03 Invio di notifiche (elaborazione e avvisi in tempo reale) - Principio di base dell'affidabilità

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: alto

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 ti permette di creare allarmi compositi e di parametri utilizzando gli allarmi CloudWatch basati su soglie statiche, rilevamento di anomalie e altri criteri. Per maggiori dettagli sui tipi di allarmi che puoi configurare utilizzando CloudWatch, consulta la sezione allarmi della documentazione CloudWatch.

Puoi creare per i tuoi team visualizzazioni personalizzate dei parametri e degli avvisi delle risorse AWS utilizzando le dashboard 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 su Amazon EC2 o un'azione su Amazon EC2 Auto Scaling oppure creando un OpsItem o a in AWS Systems Manager.

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 maggiori dettagli sull'impostazione delle notifiche Amazon SNS, consulta Configurazione di Amazon SNS.

CloudWatch invia EventBridge della sicurezza ogni volta che un allarme CloudWatch viene creato, aggiornato, eliminato o cambia stato. Puoi usare EventBridge con questi eventi per creare le regole che eseguono le azioni, come avvisare ogni volta che lo stato di un allarme cambia o attivare automaticamente gli eventi nel tuo account tramite l'automazione Systems Manager.

Quando si usa EventBridge rispetto ad 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 quando desideri creare un'applicazione che reagisca agli eventi delle tue applicazioni, delle applicazioni SaaS e dei servizi AWS. EventBridge è l'unico servizio basato su eventi che si integra direttamente con i partner SaaS di terze parti. EventBridge inoltre acquisisce automaticamente eventi da oltre 200 servizi AWS senza richiedere agli sviluppatori di 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 attualmente supporta oltre 20 servizi AWS come destinazioni, tra cui AWS Lambda, Amazon SQS, Amazon SNS, Amazon Kinesis Data Streamse Amazon Data Firehose.

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 essere in qualsiasi formato. Amazon SNS supporta l'inoltro dei 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. Un'ampia gamma di servizi AWS invia i messaggi Amazon SNS definendo la configurazione appropriata (più di 30, inclusi Amazon EC2, Amazon S3e Amazon RDS).

Passaggi dell'implementazione

  1. Crea un allarme usando gli avvisi Amazon CloudWatch.

    1. 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, eseguendo un'azione su Amazon EC2 o un'azione su Amazon EC2 Auto Scaling oppure creando un OpsItem o a in AWS Systems Manager.

    2. 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 Amazon SNS quando il loro stato cambia e possono creare Systems Manager OpsItems o incidenti quando entrano nello stato di allarme, ma non possono eseguire azioni Amazon EC2 o Auto Scaling.

  2. Configura le notifiche Amazon SNS. Quando si crea un allarme CloudWatch, è possibile includere un argomento Amazon SNS per inviare una notifica quando l'allarme cambia stato.

  3. Crea regole in EventBridge che corrisponde 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 e che esegue una funzione Lambda tramite una regola EventBridge per ripulire lo spazio. Per maggiori dettagli sulle destinazioni EventBridge, consulta Destinazioni EventBridge.

Risorse

Best practice Well-Architected correlate:

Documenti correlati:

Video correlati:

Esempi correlati: