Cloud & IT Cert Prep · Lektion

EventBridge: Event Bus und Regeln

Veröffentlichen Sie Ereignisse in einem benutzerdefinierten EventBridge-Bus und schreiben Sie Ereignismusterregeln, um Ereignisse zu filtern und an Lambda-, SQS- oder Step-Functions-Ziele weiterzuleiten.

Lektion 1 von 413 Schritte

EventBridge: Event Bus und Regeln ist eine kostenlose Cloud & IT Cert Prep-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cloud & IT Cert Prep-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.

Was ist Amazon EventBridge?

Amazon EventBridge (ehemals CloudWatch Events) ist ein serverloser Event Bus, der das Verbinden von Anwendungen über Events aus AWS-Services, Ihren eigenen Anwendungen und SaaS-Anbietern erleichtert. Events sind JSON-Objekte; EventBridge leitet sie anhand von Event-Pattern-Regeln an ein oder mehrere Ziele weiter. Im Gegensatz zu SQS (Punkt-zu-Punkt) ist EventBridge eine Pub/Sub-Routing-Schicht — ein Event kann gleichzeitig an viele Ziele weitergeleitet werden.

Event Busse: Standard, benutzerdefiniert und Partner

EventBridge verfügt über drei Arten von Event Bussen. Der Standard-Bus empfängt Events von AWS-Services (EC2-Zustandsänderungen, S3-Events, CloudTrail-API-Aufrufe usw.). Benutzerdefinierte Busse erstellen Sie für die Events Ihrer eigenen Anwendung — dadurch werden Ihre Anwendungs-Events von AWS-Service-Events getrennt. Partner-Busse empfangen Events direkt von SaaS-Anbietern (Zendesk, Datadog, GitHub, Shopify) über vorgefertigte Integrationen, ohne dass eine pollingbasierte Lambda-Funktion erforderlich ist.

# Create a custom event bus for your application
aws events create-event-bus --name my-app-bus

# Put a custom event onto the bus
aws events put-events --entries '[{
  "Source": "com.myapp.orders",
  "DetailType": "OrderPlaced",
  "Detail": "{\"orderId\": \"ORD-123\", \"total\": 99.99}",
  "EventBusName": "my-app-bus"
}]'

Event-Pattern-Regeln

Eine Event-Pattern-Regel legt mithilfe eines JSON-Musters fest, welche Events abgeglichen werden. Sie kann nach beliebigen Kombinationen von Event-Feldern filtern (source, detail-type, account, region oder Felder innerhalb des detail-Objekts). EventBridge wertet jedes Event anhand aller Regeln auf dem Bus aus. Übereinstimmende Events werden an die für die Regel konfigurierten Ziele weitergeleitet. Regeln werden auf Regelebene mit ODER und innerhalb eines Musterobjekts mit UND verknüpft.

# Create a rule that matches EC2 instance state changes to 'stopped'
aws events put-rule \
  --name ec2-stopped-alert \
  --event-bus-name default \
  --event-pattern '{
    "source": ["aws.ec2"],
    "detail-type": ["EC2 Instance State-change Notification"],
    "detail": {
      "state": ["stopped"]
    }
  }' \
  --state ENABLED

Ziele konfigurieren

EventBridge kann übereinstimmende Events an mehr als 20 Zieltypen weiterleiten, darunter Lambda-Funktionen, SQS-Warteschlangen, SNS-Themen, Step-Functions-Zustandsautomaten, Kinesis Data Streams, API-Gateway-Endpunkte, ECS-Tasks und sogar an einen weiteren EventBridge-Bus (für kontenübergreifendes Routing). Jede Regel kann bis zu 5 Ziele haben. EventBridge ruft Ziele asynchron auf und wiederholt fehlgeschlagene Aufrufe mit exponentiellem Backoff.

# Add an SNS topic and Lambda function as targets for the rule
aws events put-targets \
  --rule ec2-stopped-alert \
  --event-bus-name default \
  --targets '[{
    "Id": "notify-ops",
    "Arn": "arn:aws:sns:us-east-1:123456789012:ops-alerts"
  }, {
    "Id": "auto-remediate",
    "Arn": "arn:aws:lambda:us-east-1:123456789012:function:RestartEC2"
  }]'

Eingabetransformation

Standardmäßig übergibt EventBridge das vollständige Event-JSON an das Ziel. Verwenden Sie Input Transformation, um das Event vor der Zustellung umzuformen — extrahieren Sie bestimmte Felder, erstellen Sie ein neues JSON-Objekt oder erzeugen Sie eine benutzerdefinierte Zeichenfolge. Das ist nützlich, wenn eine Lambda-Funktion oder ein API-Endpunkt eine bestimmte Payload-Struktur statt des vollständigen EventBridge-Event-Umschlags erwartet. So benötigen Sie keine durchleitende Lambda-Funktion, die Daten lediglich umformt.

# Input transformer: extract orderId and total from detail
# InputPathsMap extracts values by JSON path
{
  'InputPathsMap': {
    'orderId': '$.detail.orderId',
    'total': '$.detail.total'
  },
  'InputTemplate': '{
    "message": "New order <orderId> for $<total>",
    "channel": "ops"
  }'
}

Geplante Regeln (Cron/Rate)

EventBridge-Regeln können auch nach einem Zeitplan ausgelöst werden, statt ein Event abzugleichen. Verwenden Sie einen Rate-Ausdruck (z. B. rate(5 minutes)) für Trigger in festen Intervallen oder einen Cron-Ausdruck für eine kalenderbasierte Planung. Geplante Regeln eignen sich ideal, um Lambda-Funktionen für Batch-Bereinigungsjobs auszulösen, regelmäßige Berichte zu senden oder nächtliche DMS-Aufgaben auszuführen — und ersetzen damit Cron-Jobs auf EC2-Instances.

# Create a scheduled rule that fires every day at midnight UTC
aws events put-rule \
  --name nightly-cleanup \
  --schedule-expression 'cron(0 0 * * ? *)' \
  --state ENABLED

aws events put-targets \
  --rule nightly-cleanup \
  --targets '[{
    "Id": "cleanup-lambda",
    "Arn": "arn:aws:lambda:us-east-1:123456789012:function:NightlyCleanup"
  }]'

Event-Archivierung und Replay

EventBridge kann alle Events eines Busses (oder eine gefilterte Teilmenge) in einem Event-Archiv archivieren und dort für einen konfigurierbaren Zeitraum aufbewahren. Anschließend können Sie archivierte Events jederzeit wieder an den Bus übertragen — beispielsweise, um Events zum Testen einer neuen Lambda-Version erneut abzuspielen, einen Fehler zu beheben, durch den ein Ziel Events verpasst hat, oder einen neuen Service mit historischen Events nachträglich zu befüllen. Dies ist ein leistungsfähiges Sicherheitsnetz für den Betrieb und ein besonderes Merkmal von EventBridge im Vergleich zu anderen Pub/Sub-Systemen.

# Create an event archive for the custom bus
aws events create-archive \
  --archive-name my-app-archive \
  --event-source-arn arn:aws:events:us-east-1:123456789012:event-bus/my-app-bus \
  --retention-days 30

# Replay archived events from a specific time window
aws events start-replay \
  --replay-name replay-missed-orders \
  --event-source-arn arn:aws:events:us-east-1:123456789012:archive/my-app-archive \
  --event-start-time 2024-01-10T00:00:00Z \
  --event-end-time 2024-01-10T06:00:00Z \
  --destination '{"Arn": "arn:aws:events:us-east-1:123456789012:event-bus/my-app-bus"}'

Konten- und regionsübergreifendes Routing

EventBridge unterstützt kontenübergreifendes Event-Routing, indem Sie auf dem Ziel-Bus in einem anderen Konto eine ressourcenbasierte Richtlinie erstellen, die es dem Quellkonto erlaubt, Events zu übertragen. Dadurch kann ein zentrales Überwachungskonto Events aus allen Workload-Konten empfangen. Ebenso ist eine Architektur mit einem gemeinsam genutzten Service-Bus möglich, bei der ein Plattformteam Events an die Busse der Consumer-Teams weiterleitet. Das Routing über Regionen hinweg funktioniert ähnlich, mit explizit konfigurierten regionsübergreifenden Event-Bus-Zielen.

# Allow a source account (111111111111) to send events to this bus
aws events put-permission \
  --event-bus-name my-central-bus \
  --action events:PutEvents \
  --principal 111111111111 \
  --statement-id allow-source-account

EventBridge Pipes

EventBridge Pipes erstellt Punkt-zu-Punkt-Integrationen zwischen einer Quelle (SQS, Kinesis, DynamoDB Streams, Kafka) und einem Ziel, wobei dazwischen optional eine Filterung und Anreicherung (über Lambda, Step Functions oder API Gateway) erfolgt. Pipes sind einfacher als das Schreiben eines pollingbasierten Lambda-Consumers — sie übernehmen Polling, Batch-Verarbeitung, Filterung und Routing automatisch. Verwenden Sie Pipes, wenn Sie eine direkte Verbindung von der Quelle zum Ziel ohne einen vollständigen Pub/Sub-Bus benötigen.

# Create an EventBridge Pipe from SQS to Lambda
aws pipes create-pipe \
  --name sqs-to-processor \
  --source arn:aws:sqs:us-east-1:123456789012:incoming-orders \
  --target arn:aws:lambda:us-east-1:123456789012:function:ProcessOrder \
  --role-arn arn:aws:iam::123456789012:role/PipeRole \
  --source-parameters '{
    "SqsQueueParameters": {"BatchSize": 10}
  }' \
  --filter-criteria '{
    "Filters": [{"Pattern": "{\"body\": {\"orderType\": [\"PRIORITY\"]}}"}]
  }'

EventBridge vs. SNS vs. SQS

Diese drei Services überschneiden sich teilweise, dienen aber unterschiedlichen Anwendungsfällen. SNS: Push-basiertes Fan-out an Abonnenten (E-Mail, HTTP, SQS, Lambda) — einfaches Pub/Sub ohne Filterung. SQS: Dauerhafte Nachrichtenwarteschlange zur Punkt-zu-Punkt-Entkopplung mit einem Consumer-Pull-Modell. EventBridge: inhaltsbasierter Routing-Bus mit Schema Registry, Archivierung und Replay, SaaS-Partnern sowie kontenübergreifender Zustellung — am besten für komplexes Event-Routing über viele Services hinweg geeignet. Verwenden Sie EventBridge, wenn Sie anspruchsvolle Routing-Regeln benötigen, nicht nur einfaches Fan-out.

EventBridge Schema Registry

Die EventBridge Schema Registry erkennt und katalogisiert automatisch die Struktur der Events, die durch Ihre Event Busse fließen. Sie speichert Schemas im OpenAPI-3.0-Format, damit Entwickler verfügbare Events entdecken und Code-Bindings (Java, Python, TypeScript) generieren können, die Events in typisierte Objekte deserialisieren. Dadurch entfällt manueller Code zum Parsen von JSON, und die Typsicherheit über ereignisgesteuerte Services hinweg wird gewährleistet. Sie können außerdem benutzerdefinierte Event-Schemas für Events registrieren, die von Ihren eigenen Anwendungen erzeugt werden.

# Enable schema discovery on a custom event bus
aws schemas create-discoverer \
  --source-arn arn:aws:events:us-east-1:123456789012:event-bus/my-app-bus \
  --description 'Auto-discover schemas from app bus'

# List discovered schemas
aws schemas list-schemas \
  --registry-name discovered-schemas

Schnelltest

Testen Sie Ihr Verständnis der Konzepte aus dieser Lektion für AWS Solutions Architect (SAA-C03).

Zusammenfassung der Lektion

In dieser Lektion haben Sie gelernt: EventBridge leitet Events mithilfe inhaltsbasierter Pattern-Regeln gleichzeitig an mehrere Ziele weiter, Archivierung und Replay ermöglichen es Ihnen, historische Events aufzubewahren und erneut zu verarbeiten, ohne den Code zu ändern, und EventBridge Pipes stellt verwaltete Pipelines von Streaming-Quellen zu Zielen bereit. Als Nächstes sehen wir uns Step Functions zur Orchestrierung mehrstufiger serverloser Workflows an.

Kostenlos starten

Lerne Cloud & IT Cert Prep mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
150
Lektionen
600

Häufig gestellte Fragen

Ist die Lektion „EventBridge: Event Bus und Regeln“ kostenlos?

Ja — der vollständige Text von „EventBridge: Event Bus und Regeln“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cloud & IT Cert Prep-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cloud & IT Cert Prep-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „EventBridge: Event Bus und Regeln“?

Veröffentlichen Sie Ereignisse in einem benutzerdefinierten EventBridge-Bus und schreiben Sie Ereignismusterregeln, um Ereignisse zu filtern und an Lambda-, SQS- oder Step-Functions-Ziele weiterzulei… Du übst Cloud & IT Cert Prep mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cloud & IT Cert Prep zu starten?

Keine Vorkenntnisse erforderlich. Cloud & IT Cert Prep auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „EventBridge: Event Bus und Regeln“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cloud & IT Cert Prep-Lektion Code schreiben und ausführen?

Ja. Jede Cloud & IT Cert Prep-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. EventBridge: Event Bus und Regeln
  2. Step Functions: Orchestrierung serverloser Workflows
  3. Kinesis Data Streams für die Echtzeit-Ereignisverarbeitung
  4. Muster: Choreografie im Vergleich zu Orchestrierung
← Zurück zu Cloud & IT Cert Prep