Amazon EventBridge: una guida all'architettura event-driven
Questa guida ti accompagna nell’uso di Amazon EventBridge per creare applicazioni event-driven scalabili, con esempi pratici, passaggi di setup e best practice.
Amazon EventBridge è un potente servizio serverless di event bus che ti permette di creare architetture event-driven con un overhead operativo minimo.
Nel mio lavoro con sistemi cloud-native, ho visto quanto siano cruciali la reattività in tempo reale e il disaccoppiamento dei servizi per costruire applicazioni scalabili e manutenibili, ed EventBridge offre proprio questo.
Cos’è Amazon EventBridge?
Prima di entrare nella configurazione, è importante capire che cos’è EventBridge, perché conta e come si inserisce nell’ecosistema più ampio di strumenti event-driven di AWS.
Panoramica di Amazon EventBridge
Amazon EventBridge is è un servizio di event bus completamente gestito e serverless che consente alle applicazioni di comunicare tramite eventi in quasi tempo reale.
Semplifica l’instradamento degli eventi tra i produttori di eventi (sorgenti di cambiamento, come S3, DynamoDB o app personalizzate) e i consumatori di eventi (servizi che agiscono su tali cambiamenti, come Lambda, Step Functions o SNS).
Immagine con un diagramma che mostra Amazon EventBridge che instrada eventi dai produttori a più destinazioni. Fonte: AWS Blogs
EventBridge è progettato con scalabilità e flessibilità in mente.
Scala automaticamente per gestire milioni di eventi al secondo e consente logiche di routing complesse tramite regole basate su JSON.
Alcune funzionalità chiave includono:
Integrazione nativa con oltre 90 servizi AWS (ad es., EC2, CodePipeline, CloudTrail)
Supporto per sorgenti eventi SaaS esterne, come Zendesk, Shopify e Datadog
Rilevamento e registro degli schemi integrati, che individuano e documentano automaticamente le strutture degli eventi
Archiviazione e replay degli eventi, per supportare debug, audit o rielaborazione di eventi passati
Questo rende EventBridge uno strumento fondamentale per creare architetture cloud disaccoppiate e resilienti.
EventBridge e architettura event-driven
EventBridge si basa sul modello di architettura event-driven (EDA).
In EDA, i servizi comunicano emettendo e reagendo agli eventi, invece di effettuare chiamate sincrone tra loro.
Ad esempio, invece che chiamare l’API di un altro servizio per avviare un’attività, un servizio emette semplicemente un evento come "ImageUploaded" e gli altri servizi in ascolto reagiscono di conseguenza.
L’immagine seguente illustra questa configurazione, con Amazon API Gateway che funge da punto d’ingresso sicuro verso l’Event bus centrale di EventBridge.
Immagine che mostra Amazon API Gateway come punto d’ingresso sicuro al bus EventBridge principale. Fonte: AWS Blogs
Vantaggi dell’architettura event-driven:
Immagine che illustra i vantaggi dell’architettura event-driven.
Loose coupling: i servizi sono indipendenti e non sono a conoscenza dell’esistenza reciproca.
Scalabilità: i sistemi possono scalare i singoli componenti in modo indipendente.
Tolleranza ai guasti: i malfunzionamenti in una parte del sistema non si propagano alle altre.
Elaborazione asincrona: migliora la reattività e le prestazioni del sistema.
EventBridge funge da spina dorsale dell’EDA su AWS, permettendoti di collegare microservizi, risorse cloud e persino sistemi di terze parti senza accoppiarli strettamente.
> Se vuoi costruire una solida comprensione dell’ecosistema event-driven di AWS, esplora il corso AWS Cloud Technology and Services.
Come EventBridge si differenzia da altre opzioni event-driven
AWS offre diversi strumenti per la gestione di eventi e messaggi, ma EventBridge propone funzionalità uniche che lo distinguono da alternative come SNS e SQS.
SNS (Simple Notification Service)
SNS è ideale per il messaging pub/sub semplice.
Puoi pubblicare un messaggio su un topic e recapitarlo a più iscritti, come email, SMS o Lambda.
Tuttavia, non offre routing sofisticato e filtraggio degli eventi.
SQS (Simple Queue Service)
SQS fornisce una coda affidabile e scalabile per l’archiviazione e l’elaborazione dei messaggi.
I consumer interrogano la coda per i messaggi: è utile per sistemi asincroni e disaccoppiati, ma non supporta un routing push in tempo reale.
EventBridge
EventBridge combina il meglio di entrambi: routing in tempo reale, filtraggio avanzato, validazione degli schemi e integrazione con SaaS.
È progettato per sistemi event-driven complessi e su larga scala che richiedono regole flessibili, destinazioni multiple e integrazioni fluide tra i servizi.
CloudWatch Events
CloudWatch Events è il precursore di EventBridge.
EventBridge è la sua sostituzione di nuova generazione, che aggiunge:
Integrazione con partner SaaS
Event bus personalizzati
Rilevamento e registro degli schemi
Gestione migliorata di regole e permessi
Se stai ancora usando CloudWatch Events, valuta la migrazione a EventBridge per funzionalità più ricche.
Ecco un rapido confronto tra i diversi servizi discussi:
Funzionalità
SNS
SQS
EventBridge
Modello di consegna
Push (pub/sub)
Polling (coda)
Push (con routing basato su regole)
Filtraggio eventi
Base (attributi del messaggio)
Nessuno
Avanzato (pattern matching JSON)
Supporto fan-out
Sì
No
Sì
Supporto schemi
No
No
Sì (schema registry)
Integrazione con SaaS
Limitata
Limitata
Sì (integrazioni SaaS native)
Replay degli eventi
No
Con retention
Sì
Dead-letter Queue (DLQ)
Sì
Sì
Sì
Componenti principali e funzionalità chiave di Amazon EventBridge
Per usare Amazon EventBridge in modo efficace, è fondamentale comprenderne i mattoni di base.
Questi componenti lavorano insieme per abilitare workflow dinamici e event-driven con un overhead infrastrutturale minimo.
Di seguito una panoramica dettagliata di ciascun componente, cosa fa e come usarlo.
Event bus
Al centro di EventBridge c’è l’event bus, che funge da canale attraverso cui fluiscono tutti gli eventi.
Un event bus riceve eventi da servizi AWS, applicazioni personalizzate o provider SaaS e poi li instrada alle destinazioni appropriate in base alle regole di matching.
L’immagine seguente mostra la sezione EventBridge Buses nella Console AWS.
Immagine con uno screenshot della Console AWS che mostra la sezione EventBridge Buses.
Tipi di event bus
Ecco i tipi di event bus disponibili in AWS:
Default Event Bus:
Provisionato automaticamente in ogni account AWS.
Usato principalmente per ricevere eventi dai servizi AWS (come cambi di stato EC2 o eventi S3).
Puoi anche inviare i tuoi eventi personalizzati al bus predefinito se non è necessario un altro bus.
Custom Event Buses:
Creati da te per supportare domini, servizi o carichi di lavoro diversi.
Ideali per isolare gli eventi applicativi o separare ambienti di sviluppo e produzione.
Consentono un controllo più fine su policy di accesso e routing degli eventi.
Esempio d’uso:
Crea event bus separati per domini diversi, ad esempio uno per le operazioni e-commerce e un altro per l’analisi, per mantenere i flussi di eventi isolati e gestibili.
Creare un event bus personalizzato:
aws events create-event-bus --name my-app-busOfferto da
Capire regole e target
Le regole definiscono quali eventi devono essere instradati verso quali target.
Usano il pattern matching JSON per filtrare gli eventi in arrivo sul bus e inoltrarli a una o più destinazioni.
Aspetti chiave delle regole:
Puoi filtrare su qualsiasi attributo dell’evento, come source, detail-type o campi annidati in detail.
Più regole possono fare match con lo stesso evento, abilitando il comportamento fan-out.
Una singola regola può avere più target, permettendo a un evento di attivare pipeline di elaborazione parallele.
Target supportati includono:
AWS Lambda
Step Functions
Kinesis Data Streams
SNS, SQS
Attività ECS
API Gateway
Immagine con le icone dei servizi AWS per i target supportati.
Il seguente esempio mostra come definire una regola evento e collegarla a una funzione Lambda come target:
{"source":["myapplication.upload"],"detail-type":["Image Uploaded"]}Offerto da
Pipes
EventBridge Pipes semplifica la connessione tra sorgenti (come DynamoDB Streams) e target (come SQS o Lambda) senza bisogno di codice personalizzato.
L’immagine seguente mostra la sezione EventBridge Pipes nella Console AWS.
Immagine con uno screenshot della Console AWS che mostra la sezione EventBridge Pipes.
Funzionalità chiave di Pipes:
Filtraggio: usa event pattern per limitare quali eventi passano attraverso la pipe.
Arricchimento: aggiungi contesto invocando una funzione Lambda per arricchire l’evento prima della consegna.
Trasformazione: modifica la forma dell’evento usando input transformer.
Quando usare Pipes:
Collegare data stream (ad es., Kinesis o DynamoDB) a consumer a valle.
Integrare servizi AWS con formati di evento diversi.
Scheduler
EventBridge Scheduler abilita l’esecuzione di task basati sul tempo, perfetti per automatizzare operazioni come backup giornalieri, sincronizzazioni orarie dei dati o l’avvio di workflow a orario.
L’immagine seguente mostra la sezione EventBridge Scheduler nella Console AWS.
Immagine con uno screenshot della Console AWS che mostra la sezione EventBridge Scheduler.
Le funzionalità principali includono:
Esecuzioni una tantum o ricorrenti
Supporto per espressioni cron o rate-based
Controllo su fusi orari, finestre di avvio/fine e logica di retry
aws events start-replay \
--replay-name "MyReplay"\
--source-arn "arn:aws:events:region:account-id:archive/MyApplicationArchive"\--destination"arn:aws:events:region:account-id:event-bus/my-application-bus"Offerto da
Questi componenti — event bus, regole, pipe, scheduler e schema registry — insieme formano una piattaforma completa e flessibile per creare e gestire architetture event-driven robuste su AWS.
Ognuno svolge un ruolo unico nel disaccoppiare i servizi, migliorare la scalabilità e abilitare uno sviluppo applicativo più rapido.
Creare applicazioni event-driven con EventBridge
Messa da parte la configurazione di base, è il momento di applicare Amazon EventBridge in workflow applicativi reali.
Configurare EventBridge nella tua applicazione
Ecco come emettere eventi personalizzati dalla tua applicazione usando l’AWS CLI:
Source: il nome o il dominio del servizio emittente.
DetailType: il tipo di evento emesso.
Detail: il payload, codificato come JSON in stringa.
EventBusName: il bus che riceverà e instraderà l’evento.
Puoi integrare questa logica direttamente nelle tue funzioni Lambda, servizi backend o workload containerizzati usando gli SDK (ad es., Boto3, AWS SDK for JavaScript).
Instradare eventi tra servizi AWS
Instradare eventi tra servizi AWS abilita integrazioni fluide, come attivare funzioni Lambda da azioni S3 via EventBridge.
Scenario di esempio: collega Amazon S3 a una funzione Lambda tramite EventBridge.
Passo 01: crea un bucket S3 e carica un oggetto.
Passo 02: abilita le notifiche evento S3 via EventBridge:
Vai al bucket S3.
Abilita l’opzione "EventBridge" sotto Event Notifications.
Passo 03: crea una regola EventBridge per fare match con il pattern dell’evento:
{"source":["aws.s3"],"detail-type":["Object Created"],"detail":{"bucket":{"name":["my-bucket"]}}}Offerto da
Passo 04: collega una funzione Lambda come target della regola per elaborare l’oggetto caricato.
Questo schema ti permette di estendere in seguito l’elaborazione aggiungendo altri target come Step Functions o SNS per le notifiche.
Esempio pratico: workflow di upload e resize di immagini
Vediamo una pipeline event-driven tipica:
01: l’utente carica un’immagine su S3.
02: S3 emette un evento al bus predefinito di EventBridge.
03: EventBridge fa match con una regola per s3:ObjectCreated:* e lo instrada a una funzione Lambda.
04: la Lambda ridimensiona l’immagine, la salva in un altro bucket S3 e registra l’output.
Questo schema è potente perché:
è scalabile (ovvero può elaborare migliaia di eventi al secondo);
è modulare (ovvero puoi sostituire la funzione di resize senza toccare gli altri componenti);
abilita il parallelismo (ovvero puoi inviare lo stesso evento a pipeline di analytics o notifiche in parallelo).
Aggiungere regole per scalabilità e flessibilità
Puoi effettuare facilmente il fan-out degli eventi collegando più target a una singola regola:
Questo permette alla tua applicazione di elaborare l’evento, inviare notifiche e aggiornare i log, tutto in parallelo, senza accoppiare tra loro questi compiti.
Ottimizzare le prestazioni e garantire la sicurezza
Ottimizza prestazioni e sicurezza progettando event pattern precisi che riducano l’elaborazione non necessaria e il rischio.
Progettare event pattern efficienti
Evita pattern generici o “catch-all” che attivano esecuzioni non necessarie. Invece, filtra gli eventi con precisione:
{"source":["myapplication.service"],"detail-type":["ImageUploaded"],"detail":{"bucket":["media-uploads"]}}Offerto da
Questo riduce i costi, migliora la latenza e garantisce che vengano elaborati solo gli eventi rilevanti.
Implementare controlli di sicurezza robusti
La sicurezza è fondamentale in qualsiasi architettura serverless. Segui queste linee guida:
Usa il principio del minimo privilegio (IAM): concedi solo i permessi necessari per pubblicare o consumare eventi.
Abilita la crittografia: EventBridge supporta la crittografia a riposo tramite AWS KMS.
Implementa DLQ (Dead Letter Queue) per le consegne non riuscite:
"DeadLetterConfig":{"Arn":"arn:aws:sqs:region:account-id:my-dlq"}Offerto da
Le DLQ catturano gli eventi non recapitabili, permettendoti di diagnosticarli e rielaborarli in seguito.
> Se vuoi approfondire la sicurezza delle applicazioni cloud e la gestione dei permessi AWS, consulta il corso AWS Security and Cost Management.
Gestire costi e quote del servizio
Per gestire efficacemente costi e prestazioni, è importante comprendere il modello di prezzo di EventBridge e monitorare regolarmente le quote del servizio.
Comprendere la struttura dei prezzi
La fatturazione avviene per:
Evento pubblicato ($ per milione di eventi)
Evento riprodotto
Uso delle pipe
Job dello Scheduler
Il free tier include 100.000 eventi al mese, più che sufficiente per la maggior parte degli usi di sviluppo e piccole produzioni.
Monitorare e adeguare le quote del servizio
Tieni traccia e richiedi aumenti usando:
aws service-quotas list-service-quotas --service-code eventsOfferto da
Quote chiave da monitorare:
Regole per event bus
Target per regola
Invocazioni al secondo
Scalare l’uso in modo responsabile garantisce che il sistema rimanga affidabile all’aumentare del carico.
Configurazioni avanzate di EventBridge e alternative
Per architetture event-driven più complesse, valuta funzionalità avanzate di EventBridge e pattern alternativi per migliorare controllo, sicurezza e flessibilità della pianificazione.
Distribuzione di eventi cross-account
Abilita la condivisione sicura di eventi tra account AWS:
{"Statement":[{"Effect":"Allow","Principal":{"AWS":"arn:aws:iam::123456789012:root"},"Action":"events:PutEvents","Resource":"arn:aws:events:region:account-id:event-bus/shared-bus"}]}Offerto da
Usa AWS CloudTrail per fare audit dell’utilizzo e garantire la conformità.
Funzionalità avanzate dello scheduler di EventBridge
Vai oltre la pianificazione di base con:
Strategie di retry flessibili
Conformità a finestre temporali
Supporto per espressioni cron o rate()
Esempio di espressione cron:
Attiva un workflow alle 9:00 ogni lunedì:
--schedule-expression "cron(0 9 ? * MON *)"Offerto da
Quando considerare alternative
A seconda dei requisiti, potresti considerare altri servizi AWS più adatti a casi d’uso specifici.
Ecco alcuni esempi:
Caso d’uso
Alternativa
FIFO o ordering rigoroso
Amazon SQS FIFO
Alto throughput e bassa latenza
Amazon MSK (Kafka)
Orchestrazione complessa
Step Functions
Notifiche semplici
Amazon SNS
Conclusione
Amazon EventBridge è un blocco costruttivo fondamentale per le applicazioni moderne cloud-native: ti permette di creare sistemi scalabili e debolmente accoppiati, rispondere a eventi in tempo reale su piattaforme AWS e SaaS e integrare workflow con un overhead infrastrutturale minimo.
Per avere successo con EventBridge, concentrati sul progettare domini modulari basati su eventi, applicare best practice di minimo privilegio e dead-letter queue e monitorare costantemente uso, quote e costi.
Sono Don—Consulente, Developer, Ingegnere, Architetto Digitale e Scrittore (in pratica, indosso molti cappelli 👨💻🎩). Mi piace mantenere le piattaforme digitali stabili e trovare sempre nuovi modi per migliorarle. Quando non scrivo codice, scrivo di intelligenza artificiale, data science e tecnologia in generale.
Nel corso degli anni ho lavorato su tutto: dalla creazione e ottimizzazione di software al deployment di modelli di IA, fino alla progettazione di soluzioni cloud. Ho conseguito un Master of Science in Artificial Intelligence e un Bachelor of Science in Computer Science, entrambi alla Brunel University London.
Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Impara tutto quello che c'è da sapere sulla sicurezza, la governance e l'ottimizzazione dei costi di AWS per prepararti alla certificazione Cloud Practitioner.
Amazon EventBridge è un potente servizio serverless di event bus che ti permette di creare architetture event-driven con un overhead operativo minimo.
Nel mio lavoro con sistemi cloud-native, ho visto quanto siano cruciali la reattività in tempo reale e il disaccoppiamento dei servizi per costruire applicazioni scalabili e manutenibili, ed EventBridge offre proprio questo.
Cos’è Amazon EventBridge?
Prima di entrare nella configurazione, è importante capire che cos’è EventBridge, perché conta e come si inserisce nell’ecosistema più ampio di strumenti event-driven di AWS.
Panoramica di Amazon EventBridge
Amazon EventBridge is è un servizio di event bus completamente gestito e serverless che consente alle applicazioni di comunicare tramite eventi in quasi tempo reale.
Semplifica l’instradamento degli eventi tra i produttori di eventi (sorgenti di cambiamento, come S3, DynamoDB o app personalizzate) e i consumatori di eventi (servizi che agiscono su tali cambiamenti, come Lambda, Step Functions o SNS).
Immagine con un diagramma che mostra Amazon EventBridge che instrada eventi dai produttori a più destinazioni. Fonte: AWS Blogs
EventBridge è progettato con scalabilità e flessibilità in mente.
Scala automaticamente per gestire milioni di eventi al secondo e consente logiche di routing complesse tramite regole basate su JSON.
Alcune funzionalità chiave includono:
Questo rende EventBridge uno strumento fondamentale per creare architetture cloud disaccoppiate e resilienti.
EventBridge e architettura event-driven
EventBridge si basa sul modello di architettura event-driven (EDA).
In EDA, i servizi comunicano emettendo e reagendo agli eventi, invece di effettuare chiamate sincrone tra loro.
Ad esempio, invece che chiamare l’API di un altro servizio per avviare un’attività, un servizio emette semplicemente un evento come "ImageUploaded" e gli altri servizi in ascolto reagiscono di conseguenza.
L’immagine seguente illustra questa configurazione, con Amazon API Gateway che funge da punto d’ingresso sicuro verso l’Event bus centrale di EventBridge.
Immagine che mostra Amazon API Gateway come punto d’ingresso sicuro al bus EventBridge principale. Fonte: AWS Blogs
Vantaggi dell’architettura event-driven:
Immagine che illustra i vantaggi dell’architettura event-driven.
EventBridge funge da spina dorsale dell’EDA su AWS, permettendoti di collegare microservizi, risorse cloud e persino sistemi di terze parti senza accoppiarli strettamente.
> Se vuoi costruire una solida comprensione dell’ecosistema event-driven di AWS, esplora il corso AWS Cloud Technology and Services.
Come EventBridge si differenzia da altre opzioni event-driven
AWS offre diversi strumenti per la gestione di eventi e messaggi, ma EventBridge propone funzionalità uniche che lo distinguono da alternative come SNS e SQS.
SNS (Simple Notification Service)
SNS è ideale per il messaging pub/sub semplice.
Puoi pubblicare un messaggio su un topic e recapitarlo a più iscritti, come email, SMS o Lambda.
Tuttavia, non offre routing sofisticato e filtraggio degli eventi.
SQS (Simple Queue Service)
SQS fornisce una coda affidabile e scalabile per l’archiviazione e l’elaborazione dei messaggi.
I consumer interrogano la coda per i messaggi: è utile per sistemi asincroni e disaccoppiati, ma non supporta un routing push in tempo reale.
EventBridge
EventBridge combina il meglio di entrambi: routing in tempo reale, filtraggio avanzato, validazione degli schemi e integrazione con SaaS.
È progettato per sistemi event-driven complessi e su larga scala che richiedono regole flessibili, destinazioni multiple e integrazioni fluide tra i servizi.
CloudWatch Events
CloudWatch Events è il precursore di EventBridge.
EventBridge è la sua sostituzione di nuova generazione, che aggiunge:
Se stai ancora usando CloudWatch Events, valuta la migrazione a EventBridge per funzionalità più ricche.
Ecco un rapido confronto tra i diversi servizi discussi:
Funzionalità
SNS
SQS
EventBridge
Modello di consegna
Push (pub/sub)
Polling (coda)
Push (con routing basato su regole)
Filtraggio eventi
Base (attributi del messaggio)
Nessuno
Avanzato (pattern matching JSON)
Supporto fan-out
Sì
No
Sì
Supporto schemi
No
No
Sì (schema registry)
Integrazione con SaaS
Limitata
Limitata
Sì (integrazioni SaaS native)
Replay degli eventi
No
Con retention
Sì
Dead-letter Queue (DLQ)
Sì
Sì
Sì
Componenti principali e funzionalità chiave di Amazon EventBridge
Per usare Amazon EventBridge in modo efficace, è fondamentale comprenderne i mattoni di base.
Questi componenti lavorano insieme per abilitare workflow dinamici e event-driven con un overhead infrastrutturale minimo.
Di seguito una panoramica dettagliata di ciascun componente, cosa fa e come usarlo.
Event bus
Al centro di EventBridge c’è l’event bus, che funge da canale attraverso cui fluiscono tutti gli eventi.
Un event bus riceve eventi da servizi AWS, applicazioni personalizzate o provider SaaS e poi li instrada alle destinazioni appropriate in base alle regole di matching.
L’immagine seguente mostra la sezione EventBridge Buses nella Console AWS.
Immagine con uno screenshot della Console AWS che mostra la sezione EventBridge Buses.
Tipi di event bus
Ecco i tipi di event bus disponibili in AWS:
Default Event Bus:
Custom Event Buses:
Esempio d’uso:
Crea event bus separati per domini diversi, ad esempio uno per le operazioni e-commerce e un altro per l’analisi, per mantenere i flussi di eventi isolati e gestibili.
Creare un event bus personalizzato:
Capire regole e target
Le regole definiscono quali eventi devono essere instradati verso quali target.
Usano il pattern matching JSON per filtrare gli eventi in arrivo sul bus e inoltrarli a una o più destinazioni.
Aspetti chiave delle regole:
detail-typeo campi annidati indetail.Target supportati includono:
Immagine con le icone dei servizi AWS per i target supportati.
Il seguente esempio mostra come definire una regola evento e collegarla a una funzione Lambda come target:
Esempio di event pattern (
event-pattern.json):Pipes
EventBridge Pipes semplifica la connessione tra sorgenti (come DynamoDB Streams) e target (come SQS o Lambda) senza bisogno di codice personalizzato.
L’immagine seguente mostra la sezione EventBridge Pipes nella Console AWS.
Immagine con uno screenshot della Console AWS che mostra la sezione EventBridge Pipes.
Funzionalità chiave di Pipes:
Quando usare Pipes:
Scheduler
EventBridge Scheduler abilita l’esecuzione di task basati sul tempo, perfetti per automatizzare operazioni come backup giornalieri, sincronizzazioni orarie dei dati o l’avvio di workflow a orario.
L’immagine seguente mostra la sezione EventBridge Scheduler nella Console AWS.
Immagine con uno screenshot della Console AWS che mostra la sezione EventBridge Scheduler.
Le funzionalità principali includono:
Crea un evento pianificato:
Questa pianificazione invoca la funzione Lambda
RunETLogni giorno.Schema Registry e Event Replays
Schema Registry aiuta gli sviluppatori a comprendere e documentare la struttura degli eventi.
Rileva automaticamente gli schemi dai servizi AWS e dalle applicazioni personalizzate e li archivia in un registro.
I vantaggi dello Schema Registry includono:
Event Replays ti permette di archiviare gli eventi sul bus e riprodurli in seguito.
Questo è prezioso per:
Immagine con un diagramma concettuale che illustra il routing degli eventi di EventBridge. Fonte: AWS Blogs
Abilita l’archiviazione degli eventi:
Riproduci gli eventi archiviati:
Questi componenti — event bus, regole, pipe, scheduler e schema registry — insieme formano una piattaforma completa e flessibile per creare e gestire architetture event-driven robuste su AWS.
Ognuno svolge un ruolo unico nel disaccoppiare i servizi, migliorare la scalabilità e abilitare uno sviluppo applicativo più rapido.
Creare applicazioni event-driven con EventBridge
Messa da parte la configurazione di base, è il momento di applicare Amazon EventBridge in workflow applicativi reali.
Configurare EventBridge nella tua applicazione
Ecco come emettere eventi personalizzati dalla tua applicazione usando l’AWS CLI:
Spiegazione:
Source: il nome o il dominio del servizio emittente.DetailType: il tipo di evento emesso.Detail: il payload, codificato come JSON in stringa.EventBusName: il bus che riceverà e instraderà l’evento.Puoi integrare questa logica direttamente nelle tue funzioni Lambda, servizi backend o workload containerizzati usando gli SDK (ad es., Boto3, AWS SDK for JavaScript).
Instradare eventi tra servizi AWS
Instradare eventi tra servizi AWS abilita integrazioni fluide, come attivare funzioni Lambda da azioni S3 via EventBridge.
Scenario di esempio: collega Amazon S3 a una funzione Lambda tramite EventBridge.
Passo 01: crea un bucket S3 e carica un oggetto.
Passo 02: abilita le notifiche evento S3 via EventBridge:
Passo 03: crea una regola EventBridge per fare match con il pattern dell’evento:
Passo 04: collega una funzione Lambda come target della regola per elaborare l’oggetto caricato.
Questo schema ti permette di estendere in seguito l’elaborazione aggiungendo altri target come Step Functions o SNS per le notifiche.
Esempio pratico: workflow di upload e resize di immagini
Vediamo una pipeline event-driven tipica:
01: l’utente carica un’immagine su S3.
02: S3 emette un evento al bus predefinito di EventBridge.
03: EventBridge fa match con una regola per
s3:ObjectCreated:*e lo instrada a una funzione Lambda.04: la Lambda ridimensiona l’immagine, la salva in un altro bucket S3 e registra l’output.
Questo schema è potente perché:
Aggiungere regole per scalabilità e flessibilità
Puoi effettuare facilmente il fan-out degli eventi collegando più target a una singola regola:
Questo permette alla tua applicazione di elaborare l’evento, inviare notifiche e aggiornare i log, tutto in parallelo, senza accoppiare tra loro questi compiti.
Ottimizzare le prestazioni e garantire la sicurezza
Ottimizza prestazioni e sicurezza progettando event pattern precisi che riducano l’elaborazione non necessaria e il rischio.
Progettare event pattern efficienti
Evita pattern generici o “catch-all” che attivano esecuzioni non necessarie. Invece, filtra gli eventi con precisione:
Questo riduce i costi, migliora la latenza e garantisce che vengano elaborati solo gli eventi rilevanti.
Implementare controlli di sicurezza robusti
La sicurezza è fondamentale in qualsiasi architettura serverless. Segui queste linee guida:
Le DLQ catturano gli eventi non recapitabili, permettendoti di diagnosticarli e rielaborarli in seguito.
> Se vuoi approfondire la sicurezza delle applicazioni cloud e la gestione dei permessi AWS, consulta il corso AWS Security and Cost Management.
Gestire costi e quote del servizio
Per gestire efficacemente costi e prestazioni, è importante comprendere il modello di prezzo di EventBridge e monitorare regolarmente le quote del servizio.
Comprendere la struttura dei prezzi
La fatturazione avviene per:
Il free tier include 100.000 eventi al mese, più che sufficiente per la maggior parte degli usi di sviluppo e piccole produzioni.
Monitorare e adeguare le quote del servizio
Tieni traccia e richiedi aumenti usando:
Quote chiave da monitorare:
Scalare l’uso in modo responsabile garantisce che il sistema rimanga affidabile all’aumentare del carico.
Configurazioni avanzate di EventBridge e alternative
Per architetture event-driven più complesse, valuta funzionalità avanzate di EventBridge e pattern alternativi per migliorare controllo, sicurezza e flessibilità della pianificazione.
Distribuzione di eventi cross-account
Abilita la condivisione sicura di eventi tra account AWS:
Usa AWS CloudTrail per fare audit dell’utilizzo e garantire la conformità.
Funzionalità avanzate dello scheduler di EventBridge
Vai oltre la pianificazione di base con:
Esempio di espressione cron:
Attiva un workflow alle 9:00 ogni lunedì:
Quando considerare alternative
A seconda dei requisiti, potresti considerare altri servizi AWS più adatti a casi d’uso specifici.
Ecco alcuni esempi:
Caso d’uso
Alternativa
FIFO o ordering rigoroso
Amazon SQS FIFO
Alto throughput e bassa latenza
Amazon MSK (Kafka)
Orchestrazione complessa
Step Functions
Notifiche semplici
Amazon SNS
Conclusione
Amazon EventBridge è un blocco costruttivo fondamentale per le applicazioni moderne cloud-native: ti permette di creare sistemi scalabili e debolmente accoppiati, rispondere a eventi in tempo reale su piattaforme AWS e SaaS e integrare workflow con un overhead infrastrutturale minimo.
Per avere successo con EventBridge, concentrati sul progettare domini modulari basati su eventi, applicare best practice di minimo privilegio e dead-letter queue e monitorare costantemente uso, quote e costi.
Se vuoi approfondire la tua esperienza su AWS, esplora il percorso del corso AWS Cloud Practitioner!