Amazon EventBridge
Amazon EventBridge
Serverless event bus w chmurze AWS. Lacz aplikacje, serwisy AWS i systemy SaaS zdarzeniami w czasie rzeczywistym - bez zarzadzania infrastruktura.
Amazon EventBridge to serverless event bus, ktory pozwala laczyc aplikacje za pomoca zdarzen (events). Zamiast bezposrednio wywolywac jeden serwis z drugiego, publikujesz zdarzenie na bus, a EventBridge automatycznie kieruje je do odpowiednich odbiorcow na podstawie regul i wzorcow.
EventBridge integruje sie z ponad 90 serwisami AWS jako zrodla zdarzen, obsluguje integracje z systemami SaaS (Zendesk, Shopify, Datadog i inne) oraz pozwala na publikowanie wlasnych zdarzen z aplikacji. Dodatkowo oferuje Scheduler (planowanie zdarzen cron/at), Pipes (point-to-point integracje) i Schema Registry (odkrywanie struktury zdarzen).
EventBridge powstal z ewolucji CloudWatch Events. Jesli uzywasz CloudWatch Events, to tak naprawde juz uzywasz EventBridge - to ta sama usluga pod spodem! AWS zmienil nazwe i dodal nowe funkcje jak SaaS integracje, Schema Registry i Pipes.
Zawsze tworzysz archive na event busie zanim zaczniesz przetwarzac zdarzenia w produkcji. Archive pozwala powtarzac (replay) zdarzenia - bezcenne przy debugowaniu, testowaniu nowych regul i odtwarzaniu stanu po awarii.
EventBridge to serverless event bus, ktory laczy aplikacje za pomoca zdarzen (events). Pozwala budowac luźno powiazane architektury event-driven, gdzie producenci zdarzen nie musza wiedziec o konsumentach. Serwisy AWS natywnie emituja zdarzenia do EventBridge - Ty definiujesz reguly, ktore kieruja je do odpowiednich celow.
Event Bus - magistrala zdarzen
Event Bus to kanal, przez ktory przeplywaja zdarzenia. Kazde konto AWS ma domyslny bus (default), ktory automatycznie otrzymuje zdarzenia z serwisow AWS (np. EC2 state change, S3 object created). Mozesz tworzyc custom event buses dla zdarzen z wlasnych aplikacji - to kluczowe dla izolacji i kontroli dostepu. Partner event buses odbieraja zdarzenia z serwisow SaaS (np. Zendesk, Auth0).
Rules - reguly routingu zdarzen
Reguly okreslaja, ktore zdarzenia maja byc przekazane do jakich celow. Kazda regula ma event pattern (filtr JSON) lub schedule expression (cron/rate). Event pattern moze filtrowac po source, detail-type i dowolnych polach w detail zdarzenia. Jedna regula moze miec do 5 celow (targets), a kazdy cel moze otrzymac transformowane zdarzenie (Input Transformer).
Event Patterns - precyzyjne filtrowanie
Event patterns to potezny mechanizm filtrowania JSON. Wspieraja: dokladne dopasowanie wartosci, prefix matching (np. wszystkie ARN zaczynajace sie od arn:aws:s3), numeric matching (>=, <=, zakres), exists (sprawdzanie obecnosci pola), anything-but (negacja), IP address matching. Laczenie wielu warunkow dziala jako AND miedzy polami i OR miedzy wartosciami w tym samym polu.
Targets - cele zdarzen
Cel to serwis AWS, ktory otrzymuje zdarzenie po dopasowaniu do reguly. Wspierane cele to m.in.: Lambda, SQS, SNS, Step Functions, Kinesis Data Streams, ECS Tasks, CodePipeline, API Gateway, CloudWatch Logs. Kazdy cel moze otrzymac pelne zdarzenie lub jego transformowana wersje. Input Transformer pozwala wyciagnac konkretne pola i sformatowac je w dowolny payload.
Schema Registry - katalog zdarzen
Schema Registry automatycznie odkrywa i kataloguje struktury (schematy) zdarzen przeplywajacych przez event bus. Dla kazdego zdarzenia generuje schemat JSON Schema, ktory mozesz pobrac jako kod (Java, Python, TypeScript) do bezpiecznego parsowania zdarzen. Schema Discovery mozesz wlaczyc per event bus. To kluczowe narzedzie dokumentacji w architekturze event-driven.
EventBridge Pipes - point-to-point integracja
Pipes to uproszczony model integracji punkt-do-punktu: jedno zrodlo, opcjonalne filtrowanie i wzbogacanie, jeden cel. Zrodla: SQS, Kinesis, DynamoDB Streams, MSK, MQ. Wzbogacanie (enrichment) moze wywolac Lambda, Step Functions lub API Gateway przed dostarczeniem do celu. Pipes sa idealnym zamiennikiem dla prostych Lambda triggers, gdzie Lambda sluzy tylko do przekazywania zdarzen.
Sprawdzone wzorce i praktyki z budowania architektur event-driven na EventBridge - od izolacji zdarzen po cross-account routing.
Custom event buses - izolacja domen
Twórz osobne custom event buses dla roznych domen biznesowych (np. orders-bus, payments-bus, notifications-bus). Domyslny bus jest wspoldzielony i trudny do kontrolowania - wszystkie serwisy AWS emituja do niego zdarzenia. Custom buses pozwalaja: precyzyjnie kontrolowac dostep przez IAM policies, osobno archiwizowac zdarzenia i latwiej monitorowac ruch. Konwencja nazewnicza: {domena}-{srodowisko}-bus.
ZaawansowanyContent-based filtering - optymalizacja regul
Uzywaj content-based filtering w event patterns zamiast filtrowania w Lambda. EventBridge filtruje zdarzenia zanim dotrze do celu - nie placisz za wywolania Lambda, ktore odrzucaja zdarzenie. Lacz prefix matching (np. source starts-with "com.myapp") z nested field matching (np. detail.order.amount > 1000). Testuj patterny w konsoli EventBridge Sandbox przed wdrozeniem.
PoczatkujacyArchive i Replay - odtwarzanie zdarzen
Wlacz Archive na event busie, zeby przechowywac wszystkie zdarzenia. Replay pozwala ponownie odtworzyc zdarzenia z wybranego okresu do istniejacych regul - nieocenione przy debugowaniu, testowaniu nowych regul lub odtwarzaniu stanu po awarii. Skonfiguruj retention period zgodnie z wymaganiami compliance. Archiwum mozesz filtrowac pattern matching - nie musisz archiwizowac wszystkiego.
ZaawansowanyCross-account events - zdarzenia miedzy kontami
EventBridge wspiera routing zdarzen miedzy kontami AWS. Konto zrodlowe definiuje regule z celem wskazujacym na event bus w koncie docelowym (przez ARN). Konto docelowe musi miec resource-based policy zezwalajaca na put events. Ten wzorzec jest kluczowy w architekturze multi-account: centralne konto security zbiera zdarzenia GuardDuty ze wszystkich kont, centralne konto audit zbiera zdarzenia CloudTrail.
ZaawansowanyAPI Destinations - integracja z zewnetrznymi API
API Destinations pozwalaja wyslac zdarzenia do dowolnego endpointu HTTP (webhook) jako cel reguly. Wspieraja autoryzacje: API Key, OAuth, Basic Auth. Skonfiguruj rate limiting (invocations per second), zeby nie przeciazyc zewnetrznego API. Uzywaj Input Transformer do mapowania pol zdarzenia na format oczekiwany przez zewnetrzny serwis. Idealne do integracji z Slack, PagerDuty, Jira czy wlasnymi mikroserwisami.
ZaawansowanyEventBridge Scheduler - zaplanowane zadania
Scheduler to rozszerzenie cron/rate z EventBridge Rules, ale z wiekszymi mozliwosciami: one-time schedules (np. wyslij email za 30 minut), flexible time windows (rozlozenie wykonan w oknie czasowym), automatyczne retry z backoff. Scheduler wspiera do 1 miliona schedulow per konto (vs. 300 regul per bus). Uzywaj go zamiast CloudWatch Events cron do nowych projektow.
PoczatkujacyScreenshoty z AWS Console
Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z Amazon EventBridge bezposrednio w konsoli AWS.
Do czego sluzy Amazon EventBridge?
Architektura event-driven
Buduj luźno powiazane mikroserwisy, ktore komunikuja sie przez zdarzenia. Np. po utworzeniu zamowienia EventBridge uruchamia Lambda do platnosci, SQS do realizacji i SNS do powiadomienia.
Automatyzacja reakcji na zmiany w AWS
Reaguj automatycznie na zdarzenia w AWS - np. wyslij alert na Slack gdy EC2 sie zatrzyma, uruchom Lambda gdy ktos zmieni Security Group, archiwizuj logi przy zmianie stanu RDS.
Planowanie zadan (Scheduler)
EventBridge Scheduler pozwala planowac jednorazowe i cykliczne wywolania dowolnych targetow AWS. Zastepuje CloudWatch Events cron z wieksza precyzja i elastycznoscia.
Integracje SaaS
Odbieraj zdarzenia z systemow SaaS (Zendesk, Shopify, Auth0, Datadog) bezposrednio w AWS i reaguj na nie bez pisania webhookow.
Co musisz wiedziec?
Event Bus
Kanal, przez ktory przeplywaja zdarzenia. Domyslny bus (default) odbiera zdarzenia z serwisow AWS. Mozesz tworzyc custom buses dla wlasnych aplikacji i integracji SaaS.
Rule
Regula dopasowujaca zdarzenia na busie i kierujaca je do targetow. Kazda regula ma Event Pattern (wzorzec do filtrowania) i 1-5 targetow (np. Lambda, SQS, Step Functions).
Event Pattern
Wzorzec JSON okreslajacy, ktore zdarzenia pasuja do reguly. Mozesz filtrowac po source, detail-type, wartosciach w detail. Obsluguje prefix matching, anything-but i numeric matching.
Schema Registry
Automatycznie odkrywa i przechowuje schematy zdarzen na busie. Mozesz generowac kod (TypeScript, Python, Java) do typowanej obslugi zdarzen w aplikacji.
Scheduler
Planowanie jednorazowych (at) i cyklicznych (cron/rate) wywolan dowolnych targetow AWS. Obsluguje miliony harmonogramow, strefy czasowe i automatyczne retries.
Pipes
Point-to-point integracje ze zrodla do celu z opcjonalnym filtrowaniem i wzbogacaniem. Laczy np. SQS z Step Functions bez pisania kodu posredniego.
Architektura: Event-driven processing z EventBridge
Wzorzec event-driven, gdzie serwisy AWS i aplikacje emituja zdarzenia do EventBridge, a reguly kieruja je do odpowiednich konsumentow. Luźne powiazanie pozwala dodawac nowych konsumentow bez modyfikacji producentow.
Ile kosztuje Amazon EventBridge?
Custom Events
Oplata za zdarzenia publikowane na custom event bus z aplikacji.
$1.00 za milion zdarzen
AWS Events
Zdarzenia generowane przez serwisy AWS na domyslnym busie sa darmowe.
Darmowe - np. EC2 state change, S3 events
Scheduler
Oplata za wywolania zaplanowane przez EventBridge Scheduler.
$1.00 za milion wywolan (pierwsze 14 mln/mies. free)
Pipes
Oplata za requesty przetwarzane przez EventBridge Pipes.
$0.40 za milion requestow
Przyklady AWS CLI
Utworz custom event bus
Tworzy dedykowany event bus dla Twojej aplikacji
aws events create-event-bus \
--name moja-aplikacja-events
Utworz regule z event pattern
Tworzy regule reagujaca na zatrzymanie instancji EC2
aws events put-rule \
--name EC2StopRule \
--event-pattern '{"source":["aws.ec2"],"detail-type":["EC2 Instance State-change Notification"],"detail":{"state":["stopped"]}}' \
--state ENABLED
Dodaj target do reguly
Podpina funkcje Lambda jako target reguly
aws events put-targets \
--rule EC2StopRule \
--targets "Id"="lambda-target","Arn"="arn:aws:lambda:eu-central-1:123456789012:function:HandleEC2Stop"
Wyslij custom event
Publikuje wlasne zdarzenie na custom event bus
aws events put-events \
--entries '[{"Source":"moja-aplikacja","DetailType":"ZamowienieUtworzono","Detail":"{\"orderId\":\"ORD-12345\",\"amount\":299.99,\"customer\":\"[email protected]\"}","EventBusName":"moja-aplikacja-events"}]'
Quiz: Amazon EventBridge
Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.
1. Ile kosztuje przetwarzanie zdarzen generowanych przez serwisy AWS na domyslnym event busie?
2. Ile targetow moze miec pojedyncza regula EventBridge?
3. Czym rozni sie EventBridge Scheduler od regul na event busie?
4. Co to jest Schema Registry w EventBridge?
Czesto uzywane razem z Amazon EventBridge
Chcesz poznac Amazon EventBridge w praktyce?
Darmowy kurs "AWS od podstaw" pokazuje jak uzywac Amazon EventBridge krok po kroku. Teoria + praktyka od zera.