Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Apache Kafka streamt als Quelle in EventBridge Pipes

Fokusmodus
Apache Kafka streamt als Quelle in EventBridge Pipes - Amazon EventBridge

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Apache Kafka ist eine Open-Source-Event-Streaming-Plattform, die Workloads wie Datenpipelines und Streaming-Analysen unterstützt. Sie können Amazon Managed Streaming for Apache Kafka (Amazon MSK) oder einen selbstverwalteten Apache Kafka-Cluster verwenden. In der AWS Terminologie bezieht sich ein selbstverwalteter Cluster auf jeden Apache Kafka-Cluster, der nicht von gehostet wird. AWS Dazu gehören sowohl Cluster, die Sie selbst verwalten, als auch solche, die von einem Drittanbieter gehostet werden, z. B. Confluent Cloud, CloudKarafka, oder Redpanda.

Weitere Informationen zu anderen AWS Hosting-Optionen für Ihren Cluster finden Sie im AWS Big Data-Blog unter Best Practices for Running Apache Kafka. AWS

Apache Kafka als Quelle funktioniert ähnlich wie die Verwendung von Amazon Simple Queue Service (Amazon SQS) oder Amazon Kinesis. EventBridgefragt intern nach neuen Nachrichten von der Quelle ab und ruft dann synchron das Ziel auf. EventBridge liest die Nachrichten stapelweise und stellt sie Ihrer Funktion als Event-Payload zur Verfügung. Die maximale Batchgröße ist konfigurierbar. (Der Standardwert beträgt 100 Nachrichten.)

EventBridge Unterstützt bei Quellen, die auf Apache Kafka basieren, die Verarbeitung von Steuerungsparametern wie Stapelverarbeitungsfenstern und Batchgröße.

EventBridge sendet den Nachrichtenstapel im Event-Parameter, wenn es Ihre Pipe aufruft. Die Ereignisnutzlast enthält ein Array von Meldungen. Jedes Array-Element enthält Details zum Apache-Kafka-Thema und zur Apache-Kafka-Partitions-ID, zusammen mit einem Zeitstempel und einer base64-codierten Nachricht.

Beispielereignisse

Das folgende Beispielereignis zeigt die Informationen, die von der Pipe empfangen werden. Sie können dieses Ereignis verwenden, um Ihre Ereignismuster zu erstellen und zu filtern oder um die Eingabetransformation zu definieren. Nicht alle Felder können gefiltert werden. Weitere Informationen darüber, welche Felder Sie filtern können, finden Sie unter Filterung von Ereignissen in Amazon EventBridge Pipes.

[ { "eventSource": "SelfManagedKafka", "bootstrapServers": "b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092", "eventSourceKey": "mytopic-0", "topic": "mytopic", "partition": 0, "offset": 15, "timestamp": 1545084650987, "timestampType": "CREATE_TIME", "key":"abcDEFghiJKLmnoPQRstuVWXyz1234==", "value":"SGVsbG8sIHRoaXMgaXMgYSB0ZXN0Lg==", "headers": [ { "headerKey": [ 104, 101, 97, 100, 101, 114, 86, 97, 108, 117, 101 ] } ] } ]

Authentifizierung für Apache-Kafka-Cluster

EventBridge Pipes unterstützt mehrere Methoden zur Authentifizierung bei Ihrem selbst verwalteten Apache Kafka-Cluster. Stellen Sie sicher, dass Sie den Apache-Kafka-Cluster für die Verwendung einer der folgenden unterstützten Authentifizierungsmethoden konfigurieren. Weitere Informationen zur Sicherheit von Apache Kafka finden Sie unter Sicherheit in der Apache-Kafka-Dokumentation.

VPC-Zugriff

Wenn Sie eine selbstverwaltete Apache Kafka-Umgebung verwenden, in der nur Apache Kafka-Benutzer in Ihrer VPC Zugriff auf Ihre Apache Kafka-Broker haben, müssen Sie die Amazon Virtual Private Cloud (Amazon VPC) in der Apache Kafka-Quelle konfigurieren.

SASL/SCRAM-Authentifizierung

EventBridge Pipes unterstützt einfache Authentifizierung und Layer/Salted Challenge Response Authentication Mechanism (SASL/SCRAM) authentication with Transport Layer Security (TLS) encryption. EventBridge Pipes sends the encrypted credentials to authenticate with the cluster. For more information about SASL/SCRAM Sicherheitsauthentifizierung, siehe RFC 5802.

EventBridge Pipes unterstützt die SASL/PLAIN authentication with TLS encryption. With SASL/PLAIN Authentifizierung, EventBridge Pipes sendet Anmeldeinformationen als Klartext (unverschlüsselt) an den Server.

Für die SASL-Authentifizierung speichern Sie die Anmeldeinformationen als Secret in AWS Secrets Manager.

Gegenseitige TLS-Authentifizierung

Gegenseitige TLS (mTLS) bietet eine bidirektionale Authentifizierung zwischen Client und Server. Der Client sendet ein Zertifikat an den Server, damit der Server den Client überprüfen kann, und der Server sendet ein Zertifikat an den Client, damit der Client den Server überprüfen kann.

Im selbstverwalteten Apache Kafka fungiert EventBridge Pipes als Client. Sie konfigurieren ein Client-Zertifikat (als Secret in Secrets Manager), um EventBridge Pipes bei Ihren Apache Kafka-Brokern zu authentifizieren. Das Clientzertifikat muss von einer Zertifizierungsstelle (CA) im Trust Store des Servers signiert sein.

Der Apache Kafka-Cluster sendet ein Serverzertifikat an Pipes, um die Apache Kafka-Broker mit EventBridge Pipes zu authentifizieren. EventBridge Das Serverzertifikat kann ein öffentliches CA-Zertifikat oder ein privat CA/self-signed certificate. The public CA certificate must be signed by a CA that's in the EventBridge Pipes trust store. For a private CA/self signiertes Zertifikat sein. Sie konfigurieren das Root-CA-Zertifikat des Servers (als geheim in Secrets Manager). EventBridge Pipes verwendet das Stammzertifikat, um die Apache Kafka-Broker zu verifizieren.

Weitere Informationen über mTLS finden Sie unter Vorstellung von gegenseitiger TLS-Authentifizierung für Amazon MSK als Quelle.

Konfigurieren des Client-Zertifikat-Secrets

Das Secret CLIENT_CERTIFICATE_TLS_AUTH erfordert ein Zertifikatfeld und ein Feld für einen privaten Schlüssel. Für einen verschlüsselten privaten Schlüssel erfordert das Secret ein Passwort für den privaten Schlüssel. Sowohl das Zertifikat als auch der private Schlüssel müssen im PEM-Format vorliegen.

Anmerkung

EventBridge Pipes unterstützt die Verschlüsselungsalgorithmen mit privaten Schlüsseln PBES1(aber nicht PBES2).

Das Zertifikatfeld muss eine Liste von Zertifikaten enthalten, beginnend mit dem Client-Zertifikat, gefolgt von etwaigen Zwischenzertifikaten und endend mit dem Root-Zertifikat. Jedes Zertifikat muss in einer neuen Zeile mit der folgenden Struktur beginnen:

-----BEGIN CERTIFICATE----- <certificate contents> -----END CERTIFICATE-----

Secrets Manager unterstützt Secrets von bis zu 65 536 Bytes, was genügend Platz für lange Zertifikatsketten bietet.

Der private Schlüssel muss im Format PKCS #8 mit folgender Struktur vorliegen:

-----BEGIN PRIVATE KEY----- <private key contents> -----END PRIVATE KEY-----

Verwenden Sie für einen verschlüsselten privaten Schlüssel die folgende Struktur:

-----BEGIN ENCRYPTED PRIVATE KEY----- <private key contents> -----END ENCRYPTED PRIVATE KEY-----

Im folgenden Beispiel sehen Sie den Inhalt eines Secrets für mTLS-Authentifizierung mit einem verschlüsselten privaten Schlüssel. Fügen Sie für einen verschlüsselten privaten Schlüssel das Passwort für den privaten Schlüssel in das Secret ein.

{ "privateKeyPassword": "testpassword", "certificate": "-----BEGIN CERTIFICATE----- MIIE5DCCAsygAwIBAgIRAPJdwaFaNRrytHBto0j5BA0wDQYJKoZIhvcNAQELBQAw ... j0Lh4/+1HfgyE2KlmII36dg4IMzNjAFEBZiCRoPimO40s1cRqtFHXoal0QQbIlxk cmUuiAii9R0= -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- MIIFgjCCA2qgAwIBAgIQdjNZd6uFf9hbNC5RdfmHrzANBgkqhkiG9w0BAQsFADBb ... rQoiowbbk5wXCheYSANQIfTZ6weQTgiCHCCbuuMKNVS95FkXm0vqVD/YpXKwA/no c8PH3PSoAaRwMMgOSA2ALJvbRz8mpg== -----END CERTIFICATE-----", "privateKey": "-----BEGIN ENCRYPTED PRIVATE KEY----- MIIFKzBVBgkqhkiG9w0BBQ0wSDAnBgkqhkiG9w0BBQwwGgQUiAFcK5hT/X7Kjmgp ... QrSekqF+kWzmB6nAfSzgO9IaoAaytLvNgGTckWeUkWn/V0Ck+LdGUXzAC4RxZnoQ zp2mwJn2NYB7AZ7+imp0azDZb+8YG2aUCiyqb6PnnA== -----END ENCRYPTED PRIVATE KEY-----" }

Konfigurieren des Secrets des Server-Root-CA-Zertifikats

Sie erstellen dieses Secret, wenn Ihre Apache-Kafka-Broker TLS-Verschlüsselung mit Zertifikaten verwenden, die von einer privaten Zertifizierungsstelle signiert wurden. Sie können die TLS-Verschlüsselung für die VPC- SASL/SCRAM, SASL/PLAIN oder mTLS-Authentifizierung verwenden.

Das Secret des Server-Root-CA-Zertifikats erfordert ein Feld, das das Root-CA-Zertifikat des Apache-Kafka-Brokers im PEM-Format enthält. Das folgende Beispiel zeigt die Struktur des Secrets.

{ "certificate": "-----BEGIN CERTIFICATE----- MIID7zCCAtegAwIBAgIBADANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMCVVMx EDAOBgNVBAgTB0FyaXpvbmExEzARBgNVBAcTClNjb3R0c2RhbGUxJTAjBgNVBAoT HFN0YXJmaWVsZCBUZWNobm9sb2dpZXMsIEluYy4xOzA5BgNVBAMTMlN0YXJmaWVs ZCBTZXJ2aWNlcyBSb290IENlcnRpZmljYXRlIEF1dG... -----END CERTIFICATE-----"

Netzwerkkonfiguration

Wenn Sie eine selbstverwaltete Apache Kafka-Umgebung verwenden, die private VPC-Konnektivität verwendet, EventBridge müssen Sie Zugriff auf die Amazon Virtual Private Cloud (Amazon VPC) -Ressourcen haben, die Ihren Apache Kafka-Brokern zugeordnet sind.

  • Um auf die VPC Ihres Apache Kafka-Clusters zuzugreifen, EventBridge können Sie den ausgehenden Internetzugang für die Subnetze Ihrer Quelle verwenden. Für private Subnetze kann es sich um ein NAT-Gateway oder Ihr eigenes NAT handeln. Stellen Sie sicher, dass das NAT über eine öffentliche IP-Adresse verfügt und sich mit dem Internet verbinden kann. Für öffentliche Subnetze müssen Sie VPC-Endpunkte verwenden (siehe unten).

  • EventBridge Pipes unterstützt auch die Übertragung von Ereignissen durch AWS PrivateLink, sodass Sie Ereignisse von einer Ereignisquelle, die sich in an Amazon Virtual Private Cloud (Amazon VPC) befindet, an ein Pipes-Ziel senden können, ohne das öffentliche Internet zu durchqueren. Sie können Pipes für Abfragen von Amazon Managed Streaming for Apache Kafka (Amazon MSK), selbstverwaltetem Apache Kafka und Amazon MQ Quellen verwenden, die sich in einem privaten Subnetz befinden, ohne dass Sie ein Internet-Gateway einrichten, Firewallregeln konfigurieren oder Proxyserver einrichten müssen. Sie können auch VPC-Endpunkte verwenden, um die Bereitstellung von Kafka-Clustern in öffentlichen Subnetzen zu unterstützen.

    Informationen zum Einrichten eines VPC-Endpunkts finden Sie unter Erstellen eines VPC-Endpunkts im AWS PrivateLink Benutzerhandbuch. Wählen Sie als Dienstnamen aus. com.amazonaws.region.pipes-data

Konfigurieren Sie Ihre Amazon-VPC-Sicherheitsgruppen (mindestens) mit den folgenden Regeln:

  • Regeln für eingehenden Datenverkehr — Erlauben Sie den gesamten Datenverkehr auf dem Apache Kafka-Broker-Port für die für Ihre Quelle angegebenen Sicherheitsgruppen.

  • Ausgehende Regeln - Erlauben Sie allen Datenverkehr auf Port 443 für alle Ziele. Erlauben Sie den gesamten Verkehr auf dem Apache Kafka-Broker-Port für die für Ihre Quelle angegebenen Sicherheitsgruppen.

    Zu den Broker-Ports gehören:

    • 9092 für Klartext

    • 9094 für TLS

    • 9096 für SASL

    • 9098 für IAM

Automatische Skalierung für Verbraucher mit Apache Kafka-Quellen

Wenn Sie zum ersten Mal eine Apache Kafka-Quelle erstellen, EventBridge weist sie einem Verbraucher die Verarbeitung aller Partitionen im Kafka-Thema zu. Jeder Verbraucher hat mehrere Prozessoren, die parallel laufen, um erhöhte Workloads zu bewältigen. Darüber hinaus EventBridge wird die Anzahl der Verbraucher je nach Arbeitslast automatisch nach oben oder unten skaliert. Um die Nachrichtenreihenfolge in jeder Partition beizubehalten, ist die maximale Anzahl von Verbrauchern pro Partition im Thema ein Verbraucher pro Partition.

In Intervallen von einer Minute EventBridge wird die Consumer-Offset-Verzögerung aller Partitionen im Thema ausgewertet. Wenn die Verzögerung zu hoch ist, empfängt die Partition Nachrichten schneller, als sie verarbeiten EventBridge kann. EventBridge Fügt bei Bedarf Benutzer zum Thema hinzu oder entfernt sie aus dem Thema. Der Skalierungsprozess zum Hinzufügen oder Entfernen von Verbrauchern erfolgt innerhalb von drei Minuten nach der Bewertung.

Wenn Ihr Ziel überlastet ist, wird die Anzahl der Verbraucher EventBridge reduziert. Diese Aktion reduziert die Workload für die Funktion, indem die Anzahl der Nachrichten reduziert wird, die Verbraucher abrufen und an die Funktion senden können.

DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.