Allgemeines
Amazon Managed Streaming für Apache Kafka (Amazon MSK) ist ein AWS-Streaming-Datenservice, der die Apache-Kafka-Infrastruktur und Betrieb verwaltet und es Entwicklern und DevOps-Managern erleichtert, Apache-Kafka-Anwendungen und Apache-Kafka-Connect-Konnektoren auf AWS auszuführen, ohne dass sie Experten für den Betrieb von Apache Kafka werden müssen. Mit Amazon MSK werden Apache-Kafka-Cluster betrieben, gewartet und skaliert. Amazon MSK bietet standardmäßig Sicherheitsfeatures auf Unternehmensniveau und verfügt über eingebaute AWS-Integrationen, die die Entwicklung von Streaming-Datenanwendungen beschleunigen. Für den Einstieg können Sie bestehende Apache-Kafka-Workloads und Apache-Kafka-Connect-Konnektoren in Amazon MSK migrieren oder mit wenigen Klicks von Grund auf neu erstellen. Es fallen keine Datentransfergebühren für den Datenverkehr in Clustern an und es sind keine Verpflichtungen oder Vorauszahlungen erforderlich. Sie zahlen nur für die tatsächlich genutzten Ressourcen.
Apache Kafka ist eine leistungsstarke, fehlertolerante und skalierbare Open-Source-Plattform für den Aufbau von Echtzeit-Streaming-Datenpipelines und -Anwendungen. Apache Kafka ist ein Streaming-Datenspeicher, der Anwendungen, die Streaming-Daten in seinen Datenspeicher produzieren (Produzenten), von solchen Anwendungen entkoppelt, die Streaming-Daten aus dem Datenspeicher verwenden (Konsumenten). Unternehmen nutzen Apache Kafka als Datenquelle für Anwendungen, die kontinuierlich Streaming-Daten analysieren und darauf reagieren. Erfahren Sie mehr über Apache Kafka.
Apache Kafka Connect, eine Open-Source-Komponente von Apache Kafka, ist ein Framework zur Verbindung von Apache Kafka mit externen Systemen wie Datenbanken, Schlüssel-Werte-Datenbank, Suchindex und Dateisystemen.
Beim Streaming von Daten handelt es sich um einen kontinuierlichen Stream kleiner Datensätze oder Ereignisse (ein Datensatz oder Ereignis besteht normalerweise aus wenigen Kilobyte), die von Tausenden von Computern, Geräten, Websites und Anwendungen generiert werden. Zu den Streaming-Daten gehören eine Vielzahl an Daten, wie Protokolldateien, die von Kunden auf Ihren Mobil- oder Webanwendungen generiert werden, E-Commerce-Käufe, Spieleraktivitäten im Spiel, Informationen aus sozialen Netzwerken, Börsenmarktinformationen, Geodaten-Services, Sicherheitsprotokolle, Metriken und Telemetriedaten von verbundenen Geräten oder Instrumenten in Rechenzentren. Mit Streaming-Datendiensten wie Amazon MSK und Amazon Kinesis Data Streams können Sie Streaming-Daten auf einfache Weise kontinuierlich erfassen, verarbeiten und bereitstellen. Erfahren Sie mehr über Streaming-Daten.
- Apache Kafka speichert Streaming-Daten auf fehlertolerante Weise und stellt einen Puffer zwischen Produzenten und Konsumenten bereit. Es speichert Ereignisse als kontinuierliche Datensätze und bewahrt die Reihenfolge, in der die Datensätze produziert wurden.
- Apache Kafka ermöglicht es vielen Datenproduzenten – z. B. Websites, Internet of Things(IoT)-Geräte, Amazon Elastic Compute Cloud (Amazon EC2) – kontinuierlich Streaming-Daten zu veröffentlichen und sie anhand von Apache-Kafka-Themen zu kategorisieren. Zahlreiche Datenkonsumenten (z. B. Machine Learning-Anwendungen, AWS-Lambda-Funktionen oder Microservices) lesen diese Themen in eigener Geschwindigkeit aus, ähnlich einer Nachrichtenwarteschlange oder einem Unternehmensnachrichtensystem.
- Datenkonsumenten verarbeiten Daten aus Apache-Kafka-Themen auf First-in-First-out-Basis, wobei die Reihenfolge, in der die Daten produziert wurden, erhalten bleibt.
Apache Kafka unterstützt die Echtzeitanwendungen, die Streaming-Daten umwandeln, bereitstellen und auf sie reagieren. Mit Apache Kafka lassen sich Echtzeit-Pipelines für Streaming-Daten entwickeln, die Daten zuverlässig zwischen mehreren Systemen oder Anwendungen übertragen.
Mit nur wenigen Klicks in der Konsole können Sie einen Amazon-MSK-Cluster erstellen. Von dort aus ersetzt Amazon MSK unbrauchbare Broker, repliziert automatisch Daten für Hochverfügbarkeit, verwaltet Apache-ZooKeeper-Knoten, stellt bei Bedarf automatisch Hardware-Patches bereit, verwaltet die Integration in AWS-Services, macht wichtige Metriken über die Konsole sichtbar und unterstützt Apache-Kafka-Versionsupgrades, sodass Sie von Verbesserungen an der Open-Source-Version von Apache Kafka profitieren können.
Die unterstützten Apache-Kafka-Versionen sind in der Amazon-MSK-Dokumentation aufgeführt.
Ja, alle Datenebenen- und Admin-APIs werden von Amazon MSK nativ unterstützt.
Ja.
Ja, Apache Kafka Kunden können die AWS Glue Schema Registry, eine serverlose Funktion von AWS Glue, ohne zusätzliche Kosten nutzen. Besuchen Sie die Benutzerdokumentation von Schema Registry für die ersten Schritte und weitere Informationen.
Amazon MSK unterstützt jetzt Graviton 3-basierte M7g-Instances in den Größen „large“ bis „16xlarge“, um alle Apache-Kafka-Workloads auszuführen. Graviton-Instances bieten dieselben Verfügbarkeits- und Haltbarkeitsvorteile wie MSK, wobei die Kosten im Vergleich zu entsprechenden M5-Instances um bis zu 24 % niedriger sind. Graviton-Instances bieten im Vergleich zu den M5-Instances von MSK einen um bis zu 29 % höheren Durchsatz pro Instance, sodass Kunden MSK-Cluster mit weniger Brokern oder kleineren Instances ausführen können.
MSK Serverless
F: Was ist MSK Serverless?
MSK Serverless ist ein Clustertyp für Amazon MSK, der es Ihnen vereinfacht, Apache-Kafka-Cluster zu betreiben, ohne Rechen- und Speicherkapazität verwalten zu müssen. Sie können Ihre Anwendungen mit MSK Serverless ausführen, ohne Cluster bereitstellen, konfigurieren oder optimieren zu müssen und Sie zahlen für das Datenvolumen, das Sie streamen und aufbewahren.
F: Balanciert MSK Serverless automatisch Partitionen innerhalb eines Clusters aus?
Ja. Mit MSK Serverless können Partitionen vollständig verwaltet, überwacht und verschoben werden, um eine gleichmäßige Auslastung des Clusters zu erreichen.
F: Wie viel Datendurchsatzkapazität unterstützt MSK Serverless?
MSK Serverless bietet eine Schreibkapazität von bis zu 200 MB/s und eine Lesekapazität von 400 MB/s pro Cluster. Um außerdem eine ausreichende Durchsatzverfügbarkeit für alle Partitionen in einem Cluster zu gewährleisten, weist MSK Serverless bis zu 5 MBps an sofortiger Schreibkapazität und 10 MBps an sofortiger Lesekapazität pro Partition zu.
F: Welche Sicherheitsfunktionen bietet MSK Serverless?
Der gesamte Datenverkehr während der Übertragung und alle Daten im Ruhezustand werden von MSK Serverless mit vom Service verwalteten Schlüsseln verschlüsselt, die über den AWS Key Management Service (KMS) ausgegeben werden. Die Verbindung zwischen Clients und MSK Serverless erfolgt über eine private Verbindung mit AWS PrivateLink, ohne dass Ihr Datenverkehr dem öffentlichen Internet ausgesetzt ist. Zusätzlich bietet MSK Serverless eine IAM-Zugriffskontrolle, mit der Sie die Client-Authentifizierung und Client-Autorisierung für Apache-Kafka-Ressourcen wie beispielsweise Themen verwalten können.
F: Wie können Produzenten und Konsumenten auf meine MSK-Serverless-Cluster zugreifen?
Wenn Sie einen MSK Serverless-Cluster erstellen, stellen Sie Subnetze einer oder mehrerer Amazon Virtual Private Clouds (VPCs) bereit, die die Clients des Clusters hosten. Clients, die in einer dieser VPCs gehostet werden, können sich mit dem MSK-Serverless-Cluster über dessen Broker-Bootstrap-String verbinden.
F: In welchen Regionen ist MSK Serverless verfügbar?
Die aktuelle regionale Verfügbarkeit entnehmen Sie bitte der Webseite mit Preisinformationen zu MSK.
Q: Welche Arten der Authentifizierung unterstützt MSK Serverless?
MSK Serverless unterstützt derzeit AWS IAM für die Client-Authentifizierung und -Autorisierung. Ihre Clients können zur Authentifizierung eine AWS-IAM-Rolle übernehmen, und Sie können die Zugriffskontrolle mit eine zugeordneten IAM-Richtlinie umsetzen.
Q: Wie kann ich in meinem MSK Serverless-Cluster Daten verarbeiten?
Zur Verarbeitung von Daten in Ihren MSK-Serverless-Cluster-Themen können Sie alle mit Apache Kafka kompatiblen Tools einsetzen. MSK Serverless ist mit Amazon Managed Service für Apache Flink für zustandsbehaftete Stream-Verarbeitung und AWS Lambda für Ereignisverarbeitung integriert. Sie können auch Apache-Kafka-Connect-Sink-Konnektoren verwenden, um Daten an jedes gewünschte Ziel zu senden.
F: Wie gewährleistet MSK Serverless eine hohe Verfügbarkeit?
Wenn Sie eine Partition anlegen, erstellt MSK Serverless 2 Repliken davon und platziert sie in verschiedenen Availability Zones. Darüber hinaus werden ausgefallene Backend-Ressourcen von MSK Serverless automatisch erkannt und wiederhergestellt, um eine hohe Verfügbarkeit zu wahren.
Datenproduktion und -konsum
F: Kann ich Apache-Kafka-APIs verwenden, um Daten von und nach Apache Kafka zu übertragen?
Ja, Amazon MSK unterstützt die nativen Produzenten- und Konsumenten-APIs von Apache Kafka. Ihr Anwendungscode muss nicht geändert werden, wenn Clients innerhalb von Amazon MSK mit Clustern arbeiten.
F: Kann ich Apache Kafka Connect, Apache Kafka Streams oder jede andere Ökosystemkomponente von Apache Kafka mit Amazon MSK verwenden?
Ja, Sie können jede Komponente verwenden, die die Apache Kafka Produzenten- und Konsumenten-APIs sowie den Apache Kafka Admin Client nutzt. Werkzeuge, die .jar-Dateien in Apache Kafka-Cluster hochladen, sind derzeit nicht mit Amazon MSK kompatibel, darunter Confluent Control Center, Confluent Auto Data Balancer und Uber uReplicator.
Migration zu Amazon MSK
Ja, Sie können Tools von Drittanbietern oder Open-Source-Tools wie MirrorMaker verwenden, die von Apache Kafka unterstützt werden, um Daten aus Clustern in einen Amazon-MSK-Cluster zu replizieren. Hier finden Sie ein Amazon- MSK-Migrationslabor, das Ihnen hilft, eine Migration durchzuführen.
Versionsupgrades
F: Werden Upgrades der Apache-Kafka-Version unterstützt?
Ja, Amazon MSK unterstützt vollständig verwaltete In-Place-Apache-Kafka-Versions-Upgrades für bereitgestellte Cluster. Weitere Informationen zu Upgrades ihrer Apache-Kafka-Version und bewährten Methoden zu hoher Verfügbarkeit finden Sie in der Dokumentation zu Versionsupgrades.
Cluster
Sie können Ihren ersten Cluster mit nur wenigen Klicks in der AWS-Managementkonsole oder mit Hilfe der AWS-SDKs erstellen. Wählen Sie zunächst in der Amazon-MSK-Konsole eine AWS-Region aus, in der ein Amazon-MSK-Cluster erstellt werden soll. Wählen Sie einen Namen für Ihren Cluster, die Virtual Private Cloud (VPC), in der Sie den Cluster betreiben möchten und die Subnetze für jede AZ. Bei der Erstellung eines bereitgestellten Clusters können Sie auch den Typ der Maklerinstanz, die Anzahl der Makler pro AZ und den Speicherplatz pro Makler auswählen.
Bereitgestellte Cluster enthalten Broker-Instances, bereitgestellten Speicher und abstrahierte Apache-ZooKeeper-Knoten. Serverlose Cluster sind eine eigenständige Ressource, die alle zugrunde liegenden Ressourcen abstrahiert.
Für bereitgestellte Cluster können Sie EC2 T3.small oder Instanzen aus den EC2-M7g- und M5-Instance-Familien wählen. Bei Serverless Clustern sind die Broker vollständig abstrahiert.
Nein, derzeit nicht.
Nein, jeder Broker, den Sie bereitstellen, beinhaltet Boot-Volume-Speicher, der vom Amazon-MSK-Service verwaltet wird.
Einige Ressourcen, wie z. B. elastische Netzwerkschnittstellen (ENIs), werden in Ihrem Amazon EC2-Konto angezeigt. Andere Amazon-MSK-Ressourcen werden in Ihrem EC2-Konto nicht angezeigt, da diese vom Amazon-MSK-Service verwaltet werden.
Für bereitstellgestellte Cluster müssen Sie Broker-Instances und Broker-Speicher mit jedem Cluster, den Sie erstellen, bereitstellen. Optional können Sie Speicherdurchsatz für Speichervolumen bereitstellen, der zur nahtlosen Skalierung von E/A eingesetzt werden kann, ohne dass zusätzliche Broker bereitgestellt werden müssen. Sie brauchen keine Apache ZooKeeper-Knoten bereitzustellen, da diese Ressourcen ohne Aufpreis bei jedem von Ihnen erstellten Cluster enthalten sind. Bei serverlosen Clustern erstellen Sie einfach einen Cluster als Ressource.
Sofern nicht anders angegeben, verwendet Amazon MSK die gleichen Standardwerte, die auch in der Open Source-Version von Apache Kafka angegeben sind. Die Standardeinstellungen für beide Clustertypen sind hier dokumentiert.
F: Kann ich die Standard-Broker-Konfigurationen ändern oder eine Cluster-Konfiguration in Amazon MSK hochladen?
Ja, mit Amazon MSK können Sie benutzerdefinierte Konfigurationen erstellen und auf neue und bestehende Cluster anwenden. Weitere Informationen zu benutzerdefinierten Konfigurationen finden Sie in der Konfigurationsdokumentation.
F: Welche Konfigurationseigenschaften kann ich anpassen?
Die Konfigurationseigenschaften, die Sie anpassen können, werden hier dokumentiert.
F: Wie lautet die Standardkonfiguration für ein neues Thema?
Amazon MSK verwendet die Standardkonfiguration von Apache Kafka, wenn hier nichts anderes angegeben ist.
Themen
Nachdem Ihr Apache-Kafka-Cluster erstellt wurde, können Sie mit Hilfe der Apache-Kafka-APIs Themen erstellen. Alle Aktionen und Konfigurationen auf Themen- und Partitionsebene werden über Apache-Kafka-APIs durchgeführt. Der folgende Befehl ist ein Beispiel für die Erstellung eines Themas mit den Apache-Kafka-APIs und den für Ihren Cluster verfügbaren Konfigurationsdetails:
bin/kafka-topics.sh --create —bootstrap-server <BootstrapBrokerString> --replication factor 3 --partitions 1 --topic TopicName
Netzwerk
F: Kann Amazon MSK in einer Amazon VPC ausgeführt werden?
Ja, Amazon MSK kann immer innerhalb einer Amazon VPC ausgeführt werden, die vom Amazon-MSK-Service verwaltet wird. Amazon-MSK-Ressourcen sind für Ihre eigene Amazon VPC-, Subnetz- und Sicherheitsgruppe verfügbar, die Sie beim Einrichten des Clusters auswählen. IP-Adressen Ihrer VPCs sind über elastische Netzwerkschnittstellen (ENIs) mit Ihren Amazon-MSK-Ressourcen verbunden, und der gesamte Netzwerkverkehr bleibt im AWS-Netzwerk und ist standardmäßig nicht über das Internet zugänglich.
F: Wie werden die Broker in meinem Amazon-MSK-Cluster den Clients in meiner VPC zugänglich gemacht?
Die Broker in Ihrem Cluster werden den Clients in Ihrer VPC über ENIs, die in Ihrem Konto erscheinen, zugänglich gemacht. Die Sicherheitsgruppen auf den ENIs bestimmen die Quelle und Art des Ein- und Ausgangsverkehrs, der auf Ihren Brokern zulässig ist.
F: Ist es möglich, eine Verbindung zu meinem Cluster über das öffentliche Internet herzustellen?
Ja, Amazon MSK bietet eine Option zum sicheren Herstellen einer Verbindung mit den Brokern von Amazon-MSK-Clustern, auf denen Apache Kafka 2.6.0 oder höher über das Internet ausgeführt wird. Durch die Aktivierung des öffentlichen Zugriffs können autorisierte Clients außerhalb einer privaten Amazon Virtual Private Cloud (VPC) verschlüsselte Daten in und aus bestimmten Amazon-MSK-Clustern streamen. Sie können den öffentlichen Zugriff für MSK-Cluster ohne zusätzliche Kosten aktivieren, nachdem ein Cluster erstellt wurde, es fallen jedoch die standardmäßigen AWS-Datenübertragungskosten für Cluster-Ingress und -Egress an. Weitere Informationen zum Aktivieren des öffentlichen Zugriffs finden Sie in der Dokumentation zum öffentlichen Zugriff.
F: Ist die Verbindung zwischen meinen Clients und einem Amazon-MSK-Cluster privat?
Standardmäßig ist die einzige Möglichkeit, Daten von einem Amazon-MSK-Cluster zu produzieren und zu konsumieren, über eine private Verbindung zwischen Ihren Clients in Ihrer VPC und dem Amazon-MSK-Cluster. Wenn Sie jedoch den öffentlichen Zugriff für Ihren Amazon-MSK-Cluster aktivieren und eine Verbindung zu Ihrem MSK-Cluster mithilfe der öffentlichen Bootstrap-Broker-Zeichenfolge herstellen, wird die Verbindung, obwohl authentifiziert, autorisiert und verschlüsselt, nicht mehr als privat betrachtet. Wir empfehlen, dass Sie die Sicherheitsgruppen des Clusters so konfigurieren, dass sie über eingehende TCP-Regeln verfügen, die den öffentlichen Zugriff von Ihrer vertrauenswürdigen IP-Adresse zulassen, und diese Regeln so restriktiv wie möglich gestalten, wenn Sie den öffentlichen Zugriff aktivieren.
Mit der VPC verbinden
Frage: Wie stelle ich über das Internet eine Verbindung zu meinem Amazon-MSK-Cluster her?
Der einfachste Weg besteht darin, die öffentliche Konnektivität über das Internet zu den Brokern von MSK-Clustern zu aktivieren, auf denen Apache Kafka 2.6.0 oder höher ausgeführt wird. Aus Sicherheitsgründen können Sie den öffentlichen Zugriff beim Erstellen eines MSK-Clusters nicht aktivieren. Sie können jedoch einen vorhandenen Cluster aktualisieren, um ihn öffentlich zugänglich zu machen. Sie können auch einen neuen Cluster erstellen und ihn dann aktualisieren, um ihn öffentlich zugänglich zu machen. Weitere Informationen zum Aktivieren des öffentlichen Zugriffs finden Sie in der Dokumentation zum öffentlichen Zugriff.
Frage: Wie stelle ich innerhalb des AWS-Netzwerks, aber außerhalb der Amazon VPC des Clusters eine Verbindung zu meinem Amazon-MSK-Cluster her?
Sie können die Verbindung zu Ihrem MSK-Cluster von einem anderen VPC- oder AWS-Konto als dem Ihres MSK-Clusters aus herstellen, indem Sie die private Multi-VPC-Konnektivität für MSK-Cluster aktivieren, auf denen die Apache-Kafka-Versionen 2.7.1. oder höher ausgeführt werden. Sie können die private Konnektivität erst nach der Cluster-Erstellung für eines der unterstützten Authentifizierungsschemata (IAM-Authentifizierung, SASL SCRAM und mTLS-Authentifizierung) aktivieren. Sie sollten Ihre Clients so konfigurieren, dass sie sich über von Amazon MSK verwaltete VPC-Verbindungen, die die AWS-PrivateLink-Technologie verwenden, privat mit dem Cluster verbinden, um private Konnektivität zu ermöglichen. Weitere Informationen zum Einrichten privater Konnektivität finden Sie in der Dokumentation zum Zugriff über AWS.
Verschlüsselung
F: Kann ich in meinem Amazon-MSK-Cluster Daten verschlüsseln?
Ja, Amazon MSK verwendet die serverseitige Verschlüsselung von Amazon Elastic Block Store (Amazon EBS) und Schlüssel von AWS Key Management Service (AWS KMS) zur Verschlüsselung von Speichervolumen.
F: Werden Daten während der Übertragung zwischen Brokern in einem Amazon-MSK-Cluster verschlüsselt?
Ja, in neuen Clustern ist standardmäßig die Verschlüsselung während der Übertragung über TLS für die Kommunikation zwischen Brokern aktiviert. Bei bereitgestellten Clustern können Sie bei der Erstellung eines Clusters die Verwendung der Verschlüsselung bei der Übertragung deaktivieren.
F: Werden Daten während der Übertragung zwischen meinen Apache-Kafka-Clients und dem Amazon-MSK-Dienst verschlüsselt?
Ja, standardmäßig ist die In-Transit-Verschlüsselung nur für über die CLI- oder AWS-Managementkonsole erstellte Cluster auf TLS eingestellt. Für Clients ist zur Kommunikation mit Clustern, welche die TLS-Verschlüsselung nutzen, weitere Konfiguration erforderlich. Für bereitgestellte Cluster können Sie die Standardverschlüsselungseinstellung ändern, indem Sie die Einstellungen TLS/Klartext oder Klartext auswählen. Lesen Sie mehr zu MSK-Verschlüsselung
F: Werden Daten während der Übertragung zwischen Brokern und Apache-ZooKeeper-Knoten in einem Amazon-MSK-Cluster verschlüsselt?
Ja, Amazon-MSK-Cluster mit Apache Kafka Version 2.5.1 oder höher unterstützen TLS-Verschlüsselung im Transit zwischen Apache-Kafka-Brokern und ZooKeeper-Knoten.
Zugriffsverwaltung
F: Wie steuere ich die Cluster-Authentifizierung und die Apache-Kafka-API-Autorisierung?
Für Serverless-Cluster können Sie IAM Access Control sowohl für die Authentifizierung als auch für die Autorisierung verwenden. Für bereitgestellte Cluster haben Sie drei Optionen: 1) Zugriffskontrolle zu AWS Identity and Access Management (IAM) für beide AuthN/Z (empfohlen), 2) TLS-Zertifikat-Authentifizierung (CA) für AuthN und Zugriffskontrolllisten für AuthZ und 3) SASL/SCRAM für AuthN und Zugriffskontrolllisten für AuthZ. Amazon MSK empfiehlt die Verwendung von IAM-Zugriffskontrolle. Es ist die am einfachsten zu verwendende und, da es standardmäßig mit geringstem Berechtigungen arbeitet, welches auch die sicherste Option ist.
F: Wie funktioniert die Autorisierung in Amazon MSK?
Wenn Sie IAM-Zugriffskontrolle verwenden, verwendet Amazon MSK die von Ihnen geschriebenen Richtlinien und seinen eigenen Autorisierer, um Aktionen zu autorisieren. Wenn Sie TLS-Zertifikat-Authentifizierung oder SASL/SCRAM verwenden, verwendet Apache Kafka Zugriffskontrolllisten (ACLs) für die Autorisierung. Um ACLs zu aktivieren, müssen Sie die Clientauthentifizierung mithilfe von TLS-Zertifikaten oder SASL/SCRAM aktivieren.
F: Wie kann ich einen Client gleichzeitig authentifizieren und autorisieren?
Wenn Sie die IAM-Zugriffskontrolle verwenden, authentifiziert und autorisiert Amazon MSK für Sie, ohne dass Sie zusätzliche Einstellungen vornehmen müssen. Wenn Sie die TLS-Authentifizierung verwenden, können Sie den D-Namen von Client-TLS-Zertifikaten als Prinzipal der ACL verwenden, um Client-Anforderungen zu autorisieren. Wenn Sie SASL/SCRAM verwenden, können Sie den Benutzernamen als Prinzipal der ACL verwenden, um Client-Anfragen zu autorisieren.
F: Wie steuere ich Service-API-Aktionen?
Mit AWS Identity and Access Management (IAM) können Sie die Aktionen der Service-API steuern.
F: Kann ich die IAM-Zugriffskontrolle für einen bestehenden Cluster aktivieren?
Ja, Sie können die IAM-Zugangskontrolle für einen bestehenden Cluster über die AWS-Konsole oder über die UpdateSecurity-API aktivieren.
F: Kann ich IAM-Zugriffskontrolle außerhalb von Amazon MSK verwenden?
Nein, IAM-Zugriffskontrolle ist nur für Amazon-MSK-Cluster verfügbar.
F: Wie erteile ich einem Apache-Kafka-Client in einem anderen AWS-Konto als dem von Amazon MSK kontoübergreifende Zugriffsberechtigungen, um eine private Verbindung zu meinem Amazon-MSK-Cluster herzustellen?
Sie können Ihrem Amazon-MSK-Cluster eine Cluster-Richtlinie hinzufügen, um Ihrem kontoübergreifenden Apache-Kafka-Client Berechtigungen zum Einrichten privater Konnektivität zu Ihrem Amazon-MSK-Cluster zu gewähren. Wenn Sie die IAM-Client-Authentifizierung verwenden, können Sie die Cluster-Richtlinie auch verwenden, um die Berechtigungen der Apache-Kafka-Datenebene für den verbindenden Client detailliert zu definieren. Weitere Informationen zu Cluster-Richtlinien finden Sie in der Dokumentation zur Cluster-Richtlinie.
Überwachung, Metriken, Protokoll und Markierung
Sie können die Leistung Ihrer Cluster mit der Amazon-MSK-Konsole, der Amazon-CloudWatch-Konsole oder mit JMX und Host-Metriken mit Open Monitoring mit Prometheus, einer Open-Source-Überwachungslösung, überwachen.
F: Wie hoch sind die Kosten für die verschiedenen CloudWatch- Überwachungslevels?
Die Kosten der Überwachung Ihres Clusters mit Amazon CloudWatch hängt vom Überwachungslevel und der Größe Ihres Apache-Kafka-Clusters ab. Amazon CloudWatch wird pro Metrik und Monat berechnet und enthält darunter auch ein kostenloses Kontingent; weitere Informationen finden Sie unter Preisübersicht für Amazon CloudWatch. Einzelheiten zur Anzahl der Metriken, die für jede Überwachungsebene angezeigt werden, finden Sie in der Dokumentation zu Amazon-MSK-Überwachung.
F: Welche Überwachungswerkzeuge sind mit Open Monitoring mit Prometheus kompatibel?
Werkzeuge, die für das Lesen aus Prometheus-Exportern konzipiert wurden, sind mit Open Monitoring kompatibel, darunter: Datadog, Lenses, New Relic, Sumo Logic oder Prometheus-Server. Weitere Details zum Open Monitoring finden Sie in der Amazon-MSK-Dokumentation zum Open Monitoring.
F: Wie kann ich den Betriebszustand und die Leistung von Clients überwachen?
Sie können mit jeder Client-seitigen Überwachungsanwendung arbeiten, die von der von Ihnen verwendeten Apache-Kafka-Version unterstützt wird.
F: Kann ich Amazon-MSK-Ressourcen mit Tags versehen?
Ja, Sie können Amazon-MSK-Cluster über die AWS Command Line Interface (AWS CLI) oder -Konsole kennzeichnen.
F: Wie überwache ich den Verbraucher-Lag?
Metriken zur Verbraucherverzögerung auf Themenebene sind als Teil des Standardsatzes an Metriken verfügbar, den Amazon MSK bei Amazon CloudWatch für alle Cluster veröffentlicht. Es ist keine zusätzliche Einrichtung erforderlich, um diese Metriken zu erhalten. Bei bereitgestellten Clustern können Sie auch Metriken zur Verzögerung des Verbrauchs auf Partitionsebene erhalten (Partitionsdimension). Aktivieren Sie dazu die erweiterte Überwachung (PER_PARTITION_PER_TOPIC) in Ihrem Cluster. Alternativ können Sie die Offene Überwachung auf Ihrem Cluster aktivieren und einen Prometheus-Server verwenden, um Metriken auf Partitionsebene von den Brokern in Ihrem Cluster zu erfassen. Verbraucherverzögerungsmetriken sind, wie auch andere Apache-Kafka-Metriken, unter Port 11001 verfügbar.
F: Was kostet es, die Metrik der Verzögerung der Verbraucher bei Amazon CloudWatch zu veröffentlichen?
Metriken auf Themenebene sind im Standardsatz der MSK-Metriken von Amazon enthalten, die kostenlos sind. Partition Level Metriken werden gemäß den Amazon-CloudWatch-Preisen berechnet.
F: Wie kann ich auf die Apache-Kafka-Broker-Protokolle zugreifen?
Sie können die Broker-Protokollübermittlung für bereitgestellte Cluster aktivieren. Sie können Broker-Protokolle an Amazon CloudWatch Logs, Amazon Simple Storage Service (S3) und Amazon Kinesis Data Firehose liefern. Kinesis Data Firehose unterstützt unter anderem den Amazon OpenSearch Service. Wie Sie diese Funktion aktivieren können, erfahren Sie in der Dokumentation zur Protokollierung in Amazon MSK. Informationen zu den Preisen finden Sie auf den Preisübersichten von CloudWatch Logs und Kinesis Data Firehose.
F: Wie hoch ist die Protokollierungsstufe für Maklerprotokolle?
Amazon MSK bietet INFO-Level-Protokolle für alle Broker innerhalb eines bereitgestellten Clusters.
F: Wie kann ich auf die Apache-ZooKeeper-Protokolle zugreifen?
Sie können Apache-ZooKeeper-Protokolle über ein Support-Ticket anfordern.
F: Kann ich die Verwendung von Apache-Kafka-Ressourcen-APIs protokollieren, z. B. Thema erstellen?
Ja, wenn Sie IAM-Zugriffskontrolle verwenden, wird die Verwendung von Apache-Kafka-Ressourcen-APIs in AWS CloudTrail protokolliert.
Verwaltung von Metadaten
F: Was ist Apache ZooKeeper?
Von https://zookeeper.apache.org: „Apache ZooKeeper ist ein zentralisierter Service zur Verwaltung von Konfigurationsinformationen, Benennung, verteilten Synchronisierung und zur Bereitstellung von Gruppenservices. Alle diese Arten von Services werden in irgendeiner Form von verteilten Anwendungen genutzt“, einschließlich Apache Kafka.
F: Verwendet Amazon MSK Apache ZooKeeper?
Ja, Amazon MSK verwendet Apache ZooKeeper für die Metadatenverwaltung. Ab Apache Kafka Version 3.7 können Sie Cluster entweder im ZooKeeper-Modus oder im KRaft-Modus erstellen. Ein im KRaft-Modus erstellter Cluster verwendet KRaft-Controller für die Metadatenverwaltung anstelle von ZooKeeper-Knoten.
F: Was ist KRaft
KRaft (Apache Kafka Raft) ist das Konsensprotokoll, das die Metadatenverwaltung in Apache-Kafka-Clustern von externen Apache-ZooKeeper-Knoten auf eine Gruppe von Controllern innerhalb von Apache Kafka verlagert. Diese Änderung ermöglicht es, Metadaten als Themen in Apache-Kafka-Brokern zu speichern und zu replizieren, was zu einer schnelleren Verbreitung von Metadaten führt. Lesen Sie unseren Entwicklerleitfaden.
F: Sind API-Änderungen erforderlich, um den KRaft-Modus im Amazon-MSK- oder ZooKeeper-Modus zu verwenden?
Für die Verwendung des KRaft-Modus in Amazon MSK sind keine API-Änderungen erforderlich. Wenn Ihre Clients heute noch die Verbindungszeichenfolge „--zookeeper“ verwenden, sollten Sie Ihre Clients so aktualisieren, dass sie die Verbindungszeichenfolge „--bootstrap-server“ verwenden, um eine Verbindung zu Ihrem Cluster herzustellen und Admin-Aktionen auszuführen. Das Flag „--zookeeper“ ist in Apache Kafka Version 2.5 veraltet und wird ab Apache Kafka 3.0 entfernt. Wir empfehlen daher, aktuelle Apache-Kafka-Client-Versionen und die Verbindungszeichenfolge --bootstrap-server zu verwenden.
F: Ich habe Tools, die eine Verbindung zu ZooKeeper herstellen. Wie funktionieren diese ohne ZooKeeper für KRaft-Cluster?
Sie sollten überprüfen, ob alle von Ihnen verwendeten Tools in der Lage sind, Apache-Kafka-Admin-APIs ohne ZooKeeper-Verbindungen zu verwenden. Sehen Sie sich zum Beispiel unsere aktualisierte Dokumentation zur Verwendung von Cruise Control für KRaft-Modus-Cluster an. Cruise Control hat auch Schritte veröffentlicht, die Sie befolgen müssen, um Apache Kafka ohne ZooKeeper-Verbindung auszuführen.
F: Kann ich auf KRaft-basierten Clustern mehr Partitionen pro Broker hosten als auf ZooKeeper-basierten Clustern?
Die Anzahl der Partitionen pro Broker ist in KRaft- und ZooKeeper-basierten Clustern identisch. KRaft ermöglicht es Ihnen jedoch, mehr Partitionen pro Cluster zu hosten, indem Sie mehr Broker in einem Cluster bereitstellen.
Integrationen
- Amazon S3 verwendet Kinesis Data Firehose für die einfache und programmfreie Übertragung von Daten von MSK an Amazon S3.
- Amazon Virtual Private Cloud (Amazon VPC) für Netzwerkisolierung und Sicherheit
- Amazon CloudWatch für Metriken
- AWS Key Management Service (AWS KMS) für die Verschlüsselung von Speichervolumen
- Amazon IAM für die Authentifizierung und Autorisierung von Apache Kafka und Service-APIs
- AWS Lambda für MSK-Ereignisbeschaffung
- AWS IoT für IoT-Ereignisbeschaffung
- AWS Glue Schema Registry zur Steuerung der Entwicklung von Schemas, die von Apache-Kafka-Anwendungen verwendet werden
- AWS CloudTrail für AWS-API-Protokolle
- AWS Certificate Manager für private Zertifizierungsstellen, die für die Client-TLS-Authentifizierung verwendet werden
- AWS CloudFormation zum Beschreiben und Bereitstellen von Amazon-MSK-Clustern mittels Code
- Amazon Managed Service für Apache Flink für vollständig verwaltete Apache-Flink-Anwendungen, die Streaming-Daten verarbeiten
- Studio von Amazon Managed Service für Apache Flink für interaktives Streaming von SQL auf Apache Kafka
- AWS Secrets Manager für Client-Anmeldeinformationen zur SASL/SCRAM-Authentifizierung
- Amazon S3 verwendet Kinesis Data Firehose für die einfache und programmfreie Übertragung von Daten von MSK an Amazon S3.
- Amazon VPC für Netzwerkisolierung und Sicherheit
- Amazon CloudWatch für Metriken
- Amazon IAM für die Authentifizierung und Autorisierung von Apache Kafka und Service-APIs
- AWS Glue Schema Registry zur Steuerung der Entwicklung von Schemata, die von Apache-Kafka-Anwendungen verwendet werden
- AWS CloudTrail für AWS-API-Protokolle
- AWS PrivateLink für private Konnektivität
Skalierung
Sie können den Speicher in Ihren bereitgestellten Clustern mithilfe der AWS-Managementkonsole oder der AWS-CLI vergrößern. Sie können auch gestaffelte Speicherung verwenden, um praktisch unbegrenzt Daten auf Ihrem Cluster zu speichern, ohne dass Sie Makler für die Speicherung hinzufügen müssen. In Serverless Clustern wird der Speicher nahtlos entsprechend Ihrer Nutzung skaliert.
Apache Kafka speichert Daten in Dateien, die als Protokollsegment bezeichnet werden. Sobald jedes Segment vollständig ist, wird es je nach der auf Cluster- oder Themenebene konfigurierten Größe auf die kostengünstige Speicherebene kopiert. Die Daten werden für eine bestimmte Aufbewahrungszeit oder Größe im leistungsoptimierten Speicher gehalten und dann gelöscht. Es gibt eine separate Zeit- und Größenbegrenzung für die kostengünstige Speicherung, der länger ist als der primäre Speicher. Wenn Clients Daten aus Segmenten anfordern, die im kostengünstigen Kontingent gespeichert sind, liest der Broker die Daten daraus und stellt sie auf dieselbe Weise bereit, als ob sie aus dem primären Speicher bereitgestellt würden.
F: Wie kann ich den Speicher in meinem Cluster automatisch erweitern?
Sie können eine Speicherrichtlinie für die automatische Skalierung über die AWS-Mangementkonsole oder eine AWS-Application-Auto-Scaling-Richtlinie über die AWS CLI oder APIs erstellen.
F: Kann ich die Anzahl der Broker in einem vorhandenen Cluster skalieren?
Ja. Sie können wählen, ob Sie die Anzahl der Broker für bereitgestellte Amazon-MSK-Cluster erhöhen oder verringern möchten.
F: Kann ich die Broker-Größe in einem vorhandenen Cluster skalieren?
Ja. Sie können auf Ihren bereitgestellten Amazon-MSK-Clustern auf einen kleineren oder größeren Broker-Typ skalieren.
F: Wie verteile ich Partitionen auf Broker?
Sie können Cruise Control für die automatische Neuverteilung von Partitionen verwenden, um die I/O-Wärme zu verwalten. In der Cruise-Control-Dokumentation finden Sie weitere Informationen. Alternativ können Sie die Apache-Kafka-Admin-API "kafka-reassign-partitions.sh" verwenden, um Partitionen neu auf Broker zu verteilen. In Serverless-Clustern gleicht Amazon MSK automatisch Partitionen aus.
Preise und Verfügbarkeit
F: Wie sieht die Preisgestaltung von Amazon MSK aus?
Der Preis hängt von den Ressourcen ab, die Sie erstellen. Weitere Informationen finden Sie auf der Preisseite.
F: Bezahle ich für die Datenübertragung infolge einer Datenreplikation?
Nein, die gesamte Datenübertragung innerhalb des Clusters ist ohne Aufpreis im Service enthalten.
F: Welche AWS-Regionen bieten Amazon MSK an?
Die Amazon-MSK-Regionsverfügbarkeit ist hierdokumentiert.
F: Wie sieht die Preisgestaltung für Datenübertragungen aus?
Sie zahlen standardmäßige AWS-Datenübertragungskosten für Daten, die in und aus einem Amazon-MSK-Cluster übertragen werden. Für die Datenübertragung innerhalb des Clusters in einer Region, einschließlich der Datenübertragung zwischen Brokern und der Datenübertragung zwischen Brokern und Apache ZooKeeper-Knoten, wird Ihnen keine Gebühr berechnet.
Bei Serverless-Clustern zahlen Sie die üblichen AWS-Datenübertragungsgebühren für Daten, die in eine andere Region oder aus einer anderen Region übertragen werden, sowie für Daten, die in das öffentliche Internet übertragen werden.
Compliance
- HIPAA-konform
- PCI
- ISO
- SOC 1,2,3
Eine vollständige Liste der AWS Services und Compliance-Programme finden Sie unter AWS Services im Geltungsbereich nach Compliance-Programm.
Servicevereinbarung
Replikation
F: Was ist der Amazon MSK Replicator?
Amazon MSK Replicator ist ein Feature von Amazon MSK, das es Kunden ermöglicht, Daten zuverlässig zwischen Amazon-MSK-Clustern in verschiedenen AWS-Regionen (regionenübergreifende Replikation) oder innerhalb derselben AWS-Region (regionengleiche Replikation) zu replizieren, ohne Code schreiben oder die Infrastruktur verwalten zu müssen. Mithilfe der regionsübergreifenden Replikation (CRR) können Sie hochverfügbare und fehlertolerante Streaming-Anwendungen mit mehreren Regionen erstellen und so die Ausfallsicherheit erhöhen. Sie können CRR auch verwenden, um Verbrauchern in verschiedenen geografischen Regionen einen Zugang mit geringerer Latenz zu ermöglichen. Sie können SRR verwenden, um Daten von einem Cluster auf viele Cluster zu verteilen, um Daten mit Ihren Partnern und Teams zu teilen. Sie können SRR oder CRR auch verwenden, um Daten aus mehreren Clustern zu Analytikzwecken zu aggregieren.
F: Wie verwende ich den MSK Replicator?
Um die Replikation zwischen einem Paar MSK-Cluster einzurichten, müssen Sie einen Replikator in der AWS-Zielregion erstellen. Um einen Replikator zu erstellen, geben Sie Details an, die den Amazon-Ressourcennamen (ARN) des Quell- und Ziel-MSK-Clusters und eine AWS Identity and Access Management (IAM)-Rolle umfassen, die der MSK-Replikator für den Zugriff auf die Cluster verwenden kann. Sie müssen den Ziel-MSK-Cluster erstellen, falls er noch nicht vorhanden ist. Sie haben auch die Möglichkeit, zusätzliche Einstellungen zu konfigurieren, einschließlich der Konfiguration des Themennamens und der Startposition des Replicators.
F: Welche Arten von Kafka-Clustern werden vom MSK Replicator unterstützt?
Der MSK-Replikator unterstützt nur die Replikation zwischen MSK-Clustern. Sowohl bereitgestellte als auch Serverless-MSK-Cluster werden unterstützt. Sie können den MSK-Replikator auch verwenden, um von Bereitgestellt auf Serverless oder umgekehrt zu wechseln. Andere Kafka-Cluster werden nicht unterstützt.
F: Kann ich angeben, welche Themen ich replizieren möchte?
Ja, Sie können bei der Erstellung des Replikators mithilfe von Zulassungs- und Ablehnungslisten angeben, welche Themen repliziert werden sollen.
F: Repliziert der MSK-Replikator Themeneinstellungen und Nutzergruppen-Offsets?
Ja. Der MSK-Replikator repliziert automatisch die erforderlichen Kafka-Metadaten wie Themenkonfiguration, Zugriffssteuerungslisten (ACLs) und Nutzergruppen-Offsets, sodass nutzende Anwendungen die Verarbeitung nach einem Ausfall nahtlos fortsetzen können. Sie können wählen, ob Sie eine oder mehrere dieser Einstellungen deaktivieren möchten, wenn Sie nur die Daten replizieren möchten. Sie können bei der Erstellung des Replikators auch angeben, welche Nutzergruppen Sie replizieren möchten, indem Sie Zulassen- oder Ablehnungslisten verwenden.
F: Muss ich die Replikation skalieren, wenn sich mein Eingangsdurchsatz ändert?
Nein, der MSK-Replikator stellt die zugrunde liegende Replikationsinfrastruktur automatisch bereit und skaliert sie, um Änderungen des Eingangsdurchsatzes zu unterstützen.
F: Kann ich Daten über MSK-Cluster in verschiedenen AWS-Konten replizieren?
Nein, der MSK-Replikator unterstützt nur die Replikation zwischen MSK-Clustern im selben AWS-Konto.
F: Wie kann ich die Replikation überwachen?
Sie können Amazon CloudWatch in der Zielregion verwenden, um Metriken für „ReplicationLatency, MessageLag und ReplicatorThroughput“ auf Themen- und Aggregatebene für jeden Replicator ohne zusätzliche Kosten anzuzeigen. Die Metriken wären unter ReplicatorName im Namensraum „AWS/Kafka“ sichtbar. Sie können sich auch die Metriken „ReplicatorFailure, AuthError und ThrottleTime“ ansehen, um zu überprüfen, ob Ihr Replicator Probleme hat.
F: Kann ich den MSK-Replikator verwenden, um Daten von einem Cluster auf mehrere Cluster oder von mehreren Clustern auf einen zu replizieren?
Ja. Sie müssen lediglich für jedes Quell- und Ziel-Clusterpaar einen anderen Replikator erstellen.
F: Wie stellt der MSK-Replikator eine Verbindung zu den Quell- und Ziel-MSK-Clustern her?
Der MSK-Replikator verwendet IAM Access Control, um eine Verbindung zu Ihren Quell- und Ziel-Clustern herzustellen. Sie müssen Ihre Quell- und Ziel-MSK-Cluster für IAM Access Control einschalten, um einen Replikator zu erstellen. Sie können weiterhin andere Authentifizierungsmethoden, einschließlich SASL/SCRAM und mTLS, gleichzeitig für Ihre Kunden verwenden, da Amazon MSK mehrere Authentifizierungsmethoden gleichzeitig unterstützt.
F: Mit wie viel Replikationslatenz muss ich beim MSK-Replikator rechnen?
Der MSK Replicator repliziert Daten asynchron. Die Replikationslatenz hängt von vielen Faktoren ab, darunter die Netzwerkentfernung zwischen den AWS-Regionen Ihrer MSK-Cluster, die Durchsatzkapazität Ihrer Quell- und Ziel-Cluster und die Anzahl der Partitionen auf Ihren Quell- und Ziel-Clustern. Wenn Sie eine hohe Latenz haben, folgen Sie unserer Anleitung zur Fehlerbehebung.
F: Kann ich die Themennamen mit dem MSK Replicator unverändert lassen?
Ja. Mit MSK Replicator können Sie beim Erstellen eines neuen Replikators eine Themennamenkonfiguration zwischen „Präfix“ und „Identisch“ auswählen. MSK Replicator erstellt standardmäßig neue Themen im Ziel-Cluster mit einem automatisch generierten Präfix, das dem Themennamen hinzugefügt wird. Zum Beispiel repliziert MSK Replicator Daten in „Thema“ aus dem Quell-Cluster in ein neues Thema im Ziel-Cluster mit dem Namen „<sourceKafkaClusterAlias>.topic“. Das Präfix, das den Themennamen im Zielcluster hinzugefügt wird, finden Sie im Feld „sourceKafkaClusterAlias“ unter Verwendung der DescribeReplicator-API oder der Replicator-Detailseite in der MSK-Konsole. Wenn Sie Themen auf den Zielcluster replizieren und dabei die ursprünglichen Namen beibehalten möchten, setzen Sie einfach die Konfiguration der Themennamen auf „Identisch“.
F: Warum sollte ich die Konfiguration „Identischer“ Themennamen verwenden?
Sie sollten die Konfiguration mit identischen Themennamen verwenden, um den Aufbau hochverfügbarer, robuster Streaming-Datenarchitekturen in allen AWS-Regionen zu vereinfachen. Durch die Replikation von Kafka-Themen auf andere Amazon-MSK-Cluster unter Beibehaltung der ursprünglichen Themennamen reduziert diese Konfiguration die Notwendigkeit, Client-Anwendungen während der Replikationseinrichtung oder bei Failover-Ereignissen neu zu konfigurieren. Dies erleichtert die Einrichtung von Aktiv-Passiv-Cluster-Konfigurationen, die sich über mehrere Regionen erstrecken, um die Stabilität und Verfügbarkeit zu erhöhen. Es optimiert auch Anwendungsfälle wie die Cluster-übergreifende Datenaggregation, Migrationen zwischen MSK-Clustern und die Datenverteilung an mehrere Regionen. Sie sollten diese Konfiguration nicht verwenden, wenn Ihre Kunden keine Daten verarbeiten können, wenn Ihren Kafka-Datensatz-Headern zusätzliche Metadaten hinzugefügt wurden.
F: Besteht das Risiko unendlicher Replikationsschleifen bei der Konfiguration „identischer“ Themennamen?
Nein. MSK Replicator verhindert automatisch, dass Datensätze zurück zu dem Kafka-Thema repliziert werden, aus dem sie stammen, und vermeidet so unendliche Replikationsschleifen. Um dies zu erreichen, fügt MSK Replicator im Rahmen der Replikation Metadaten zu den Headern Ihrer Datensätze hinzu.
F: Kann ich meinen vorhandenen Replikator so aktualisieren, dass er die Konfiguration mit identischen Themennamen verwendet?
Nein. Die Konfiguration des Themennamens kann nicht geändert werden, nachdem ein Replikator erstellt wurde.
F: Wie kann ich die Replikation verwenden, um die Stabilität meiner Streaming-Anwendung in allen Regionen zu erhöhen?
Sie können den MSK-Replikator verwenden, um Aktiv-Aktiv- oder Aktiv-Passiv-Cluster-Topologien einzurichten, um die Resilienz Ihrer Kafka-Anwendung in allen Regionen zu erhöhen. In einem Active-Active-Setup bieten beide MSK-Cluster aktiv Lese- und Schreibvorgänge an. Im Vergleich dazu ist bei einer aktiv-passiven Konfiguration jeweils nur ein MSK-Cluster aktiv mit Streaming-Daten versorgt, während der andere Cluster in Bereitschaft ist. Es wird empfohlen, die Konfiguration „identischer“ Themennamen für das Aktiv-Passiv-Setup und die Konfiguration „Präfix“ für das Aktiv-Aktiv-Setup zu verwenden. Wenn Sie die „Präfix“ -Konfiguration verwenden, müssen Sie Ihre Verbraucher jedoch neu konfigurieren, damit sie die replizierten Themen lesen können. Wenn Sie eine Neukonfiguration Ihrer Clients vermeiden möchten, können Sie die Konfiguration „Identisch“ auch für das Aktiv-Aktiv-Setup verwenden. Sie zahlen jedoch zusätzliche Datenverarbeitungs- und Datenübertragungsgebühren für jeden Replikator, da jeder Replikator das Doppelte der üblichen Datenmenge verarbeiten muss, einmal für die Replikation und ein weiteres zur Vermeidung von Endlosschleifen.
F: Welche Kafka-Versionen unterstützen die Konfiguration identischer Themennamen?
Es wird für alle MSK-Cluster unterstützt, die auf den Kafka-Versionen 2.8.1 und höher ausgeführt werden.
F: Kann ich bestehende Daten auf dem Quell-Cluster replizieren?
Ja. Wenn Sie einen neuen Replikator erstellen, beginnt er standardmäßig mit der Replikation von Daten ab der Spitze des Streams (letzter Offset) auf dem Quell-Cluster. Wenn Sie vorhandene Daten replizieren möchten, können Sie alternativ einen neuen Replikator so konfigurieren, dass er mit der Replikation von Daten ab dem frühesten Offset in den Themenpartitionen des Quell-Clusters beginnt.
F: Kann die Replikation zu einer Drosselung der Verbraucher auf dem Quell-Cluster führen?
Da der MSK-Replikator als Verbraucher für Ihren Quell-Cluster fungiert, ist es möglich, dass die Replikation dazu führt, dass andere Verbraucher in Ihrem Quell-Cluster gedrosselt werden. Dies hängt davon ab, wie viel Lesekapazität Sie auf Ihrem Quell-Cluster haben und wie viel Durchsatz die Daten haben, die Sie replizieren. Wir empfehlen, identische Kapazität für Ihre Quell- und Ziel-Cluster bereitzustellen und den Replikationsdurchsatz zu berücksichtigen, während Sie berechnen, wie viel Kapazität Sie benötigen. Sie können auch Kafka-Quoten für den Replicator auf Ihren Quell- und Ziel-Clustern festlegen, um zu kontrollieren, wie viel Kapazität der Replikator nutzen kann.
F: Kann ich Daten komprimieren, bevor ich in den Ziel-Cluster schreibe?
Ja, Sie können bei der Erstellung des Replikators den gewünschten Komprimierungscodec zwischen None, GZIP, Snappy, LZ4 und ZSTD angeben.
Erste Schritte mit Amazon MSK
Zur Seite mit den Preisen für Amazon MSK
In dieser Schritt-für-Schritt-Anleitung erfahren Sie, wie Sie Ihren Apache-Kafka-Cluster auf Amazon MSK einrichten können.
Führen Sie Ihren Apache Kafka-Cluster jetzt auf Amazon MSK aus. Melden Sie sich bei der Amazon-MSK-Konsole an.