- Analytik›
- Amazon MSK›
- Häufig gestellte Fragen
Häufig gestellte Fragen zu Amazon Managed Streaming für Apache Kafka
Themen der Seite
AllgemeinesAllgemeines
Was ist Amazon Managed Streaming für Apache Kafka (Amazon MSK)?
Amazon MSK ist ein AWS-Streaming-Service, der die Infrastruktur und den Betrieb von Apache Kafka verwaltet und es Entwicklern und DevOps-Managern erleichtert, Apache Kafka-Anwendungen und Kafka Connect-Konnektoren auf AWS auszuführen, ohne Experten für den Betrieb von Apache Kafka werden zu 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.
Zunächst können Sie vorhandene Apache Kafka-Workloads und Kafka Connect-Konnektoren in Amazon MSK migrieren oder in nur wenigen Schritten neue Workloads erstellen. Für den Datenverkehr innerhalb des Clusters, der für die Replikation verwendet wird, fallen keine Gebühren für die Datenübertragung an. Es sind keine Verpflichtungen oder Vorauszahlungen erforderlich. Sie zahlen nur für die tatsächlich genutzten Ressourcen.
Was ist Apache Kafka?
Apache Kafka ist eine Open-Source-Plattform, die sich durch hohe Leistung, Fehlertoleranz und Skalierbarkeit auszeichnet und für die Erstellung von Echtzeit-Streaming-Datenpipelines und -Anwendungen verwendet werden kann. 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). Organisationen nutzen Apache Kafka als Datenquelle für Anwendungen, die kontinuierlich Streaming-Daten analysieren und darauf reagieren.
Was sind Streaming-Daten?
Streaming-Daten sind ein kontinuierlicher Strom kleiner Datensätze oder Ereignisse (ein Datensatz oder Ereignis ist in der Regel einige Kilobyte groß), die von Tausenden von Maschinen, Geräten, Websites und Anwendungen generiert werden. Streaming-Daten umfassen eine Vielzahl von Daten, wie etwa Protokolldateien, die von Kunden generiert werden, die Ihre mobilen oder Webanwendungen nutzen, E-Commerce-Käufe, Aktivitäten von Spielern in Spielen, Informationen aus sozialen Netzwerken, Finanzhandelsplattformen, Geodatendienste, Sicherheitsprotokolle, Metriken und Telemetrie von verbundenen Geräten oder Instrumenten in Rechenzentren. Streaming-Datenservices wie Amazon MSK und Amazon Kinesis Data Streams erleichtern Ihnen die kontinuierliche Erfassung, Verarbeitung und Bereitstellung von Streaming-Daten.
Was ist Kafka Connect?
Kafka Connect, eine Open-Source-Komponente von Apache Kafka, ist ein Framework zur Verbindung von Apache Kafka mit externen Systemen wie Datenbanken, Schlüsselwertspeichern, Suchindizes und Dateisystemen.
Was sind die Hauptfunktionen von Apache Kafka?
Die drei Hauptfunktionen von Apache Kafka sind:
- 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 – wie Websites, IoT-Geräten und Amazon Elastic Compute Cloud (Amazon EC2) Instances – kontinuierlich Streaming-Daten zu veröffentlichen und diese mithilfe von Apache Kafka-Themen zu kategorisieren. Mehrere Datenkonsumenten (wie Anwendungen für Machine Learning, AWS Lambda-Funktionen und Microservices) lesen diese Themen in ihrem eigenen Tempo, ähnlich wie bei einer Nachrichtenwarteschlange oder einem Unternehmensnachrichtensystem.
- Datenverbraucher können Daten aus Apache-Kafka-Themen nach dem First-in-First-out-Prinzip verarbeiten, wobei die Reihenfolge, in der die Daten produziert wurden, beibehalten wird.
Was sind die Schlüsselkonzepte von Apache Kafka?
Apache Kafka speichert Datensätze in Themen. Datenproduzenten schreiben Datensätze in Themen und Datenkonsumenten lesen Datensätze aus Themen. Jeder Datensatz in Apache Kafka besteht aus einem Schlüssel, einem Wert, einem Zeitstempel und manchmal aus Header-Metadaten. Apache Kafka partitioniert Themen und repliziert diese Partitionen über mehrere Knoten, die Broker genannt werden. Apache Kafka wird als Cluster auf einem oder mehreren Brokern ausgeführt, und die Broker befinden sich in mehreren AWS-Verfügbarkeitszonen, um einen hochverfügbaren Cluster zu erstellen. Apache Kafka stützt sich auf Apache ZooKeeper oder Apache Kafka Raft (KRaft), um die Cluster-Metadaten zu verwalten.
Wann sollte ich Apache Kafka verwenden?
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.
Unterstützt Amazon MSK die Schema-Registrierung?
Ja, Apache Kafka-Clients können die AWS Glue Schema Registry, ein Serverless Feature von AWS Glue, ohne zusätzliche Kosten nutzen. Besuchen Sie das AWS Glue Schema Registry Benutzerhandbuch, um loszulegen und mehr zu erfahren. |
Was macht Amazon MSK?
Amazon MSK erleichtert den Einstieg und die Ausführung von Apache Kafka auf AWS mit offener Hochverfügbarkeit und Sicherheit. Amazon MSK bietet auch die Integration mit AWS-Services ohne den betrieblichen Aufwand für den Betrieb eines Apache Kafka-Clusters. Amazon MSK ermöglicht Ihnen die Verwendung von Open-Source-Versionen von Apache Kafka, während der Service die Einrichtung, Bereitstellung, AWS-Integrationen und die laufende Wartung von Apache Kafka-Clustern verwaltet.
In nur wenigen Schritten in der Konsole können Sie einen Amazon MSK-Cluster erstellen. Von dort aus ersetzt Amazon MSK fehlerhafte Broker, repliziert Daten automatisch für eine hohe Verfügbarkeit, verwaltet Metadatenknoten, stellt bei Bedarf automatisch Hardware-Patches bereit, verwaltet die Integrationen mit AWS-Services, macht wichtige Metriken über die Konsole sichtbar und unterstützt Versions-Upgrades von Apache Kafka, sodass Sie von den Verbesserungen der Open-Source-Version von Apache Kafka profitieren können.
Ressourcen
Wie erstelle ich meinen ersten MSK-Cluster?
Sie können dem Amazon MSK-Leitfaden für den Einstieg folgen, um einen Cluster einzurichten und Daten zu produzieren und zu konsumieren. Zusammenfassend lässt sich sagen, dass Sie Ihren ersten Cluster in wenigen Schritten in der AWS-Managementkonsole oder mithilfe der AWS SDKs erstellen können. Wählen Sie zunächst in der Amazon MSK-Konsole eine AWS-Region aus, in der Sie einen MSK-Cluster erstellen möchten. Wählen Sie einen Namen für Ihren Cluster, die Virtual Private Cloud (VPC), mit der Sie den Cluster ausführen möchten, und die Subnetze für jede Availability Zone aus. Wenn Sie einen bereitgestellten Cluster erstellen, können Sie auch einen Broker-Instance-Typ und die Anzahl der Broker pro Availability Zone auswählen.
Welche Ressourcen befinden sich in einem Cluster?
Bereitgestellte Cluster enthalten Broker-Instances und abstrahierte Metadatenknoten. Serverless-Cluster sind eine Ressource an sich, die alle zugrunde liegenden Ressourcen abstrahiert.
Was sind Broker?
In Apache Kafka sind Broker die einzelnen Server, aus denen der Apache Kafka-Cluster besteht. Sie sind für die Speicherung und Replikation der in Kafka-Themen veröffentlichten Daten, die Verwaltung der Partitionen innerhalb dieser Themen, die Bearbeitung von Client-Anfragen (Erstellung und Nutzung von Nachrichten) und die Koordination untereinander zur Aufrechterhaltung des Gesamtzustands der Kafka-Bereitstellung verantwortlich. Broker sind die Kernkomponenten, die die verteilte, skalierbare und fehlertolerante Architektur von Kafka ermöglichen.
Welche Größen von Broker-Instanzen kann ich auf einem MSK-Cluster bereitstellen?
Für bereitgestellte Cluster können Sie EC2 T3.small-Instances oder Instances innerhalb der EC2 M7g- und M5-Instance-Familien auswählen. Bei Serverless Clustern sind die Broker vollständig abstrahiert. MSK bietet auch Standard- und Express-Broker-Typen an.
Muss ich Broker-Boot-Volumes bereitstellen und dafür bezahlen?
Nein, jeder Broker, den Sie bereitstellen, beinhaltet Boot-Volume-Speicher, der vom Amazon-MSK-Service verwaltet wird.
Wenn ich einen Apache-Kafka-Cluster erstelle, werden die zugrunde liegenden Ressourcen (etwa Amazon EC2 Instances) dann in meiner Amazon EC2-Konsole angezeigt?
Einige Ressourcen, wie etwa Elastic-Network-Schnittstellen (ENIs), werden in Ihrem Amazon EC2-Konto angezeigt. Andere Amazon MSK-Ressourcen werden nicht in Ihrem Amazon EC2-Konto angezeigt, da sie vom Amazon MSK-Service verwaltet werden.
Was muss ich innerhalb eines MSK-Clusters bereitstellen?
Für bereitgestellte Cluster müssen Sie mit jedem erstellten Cluster Broker-Instances bereitstellen. Bei Standard-Brokern stellen Sie Speicher bereit und aktivieren optional den bereitgestellten Durchsatz des Speichers für Speichervolumes, mit denen Sie die E/A skalieren können, ohne zusätzliche Broker bereitstellen zu müssen. Bei Express-Brokern müssen Sie keinen Speicher bereitstellen oder verwalten. Bei allen Clustertypen müssen Sie keine Metadatenknoten wie Apache ZooKeeper oder KRaft-Knoten bereitstellen, da diese Ressourcen ohne zusätzliche Kosten in jedem von Ihnen erstellten Cluster enthalten sind. Bei serverlosen Clustern erstellen Sie einfach einen Cluster als Ressource.
Wie funktioniert die Datenreplikation in Amazon MSK?
Amazon MSK verwendet die Leader-Follower-Replikation von Apache Kafka, um Daten zwischen Brokern zu replizieren. Amazon MSK erleichtert die Bereitstellung von Clustern mit Multi-AZ-Replikation. Bei Standard-Brokern haben Sie die Möglichkeit, eine benutzerdefinierte Replikationsstrategie nach Thema zu verwenden. Express-Broker garantieren eine höhere Verfügbarkeit, indem sie Ihre Daten immer über drei Availability Zones replizieren. Leader- und Follower-Broker werden unter Verwendung des angegebenen Brokertyps und der angegebenen Replikationsstrategie bereitgestellt und isoliert. Wenn Sie beispielsweise Standard-Broker mit einer Replikationsstrategie für drei Verfügbarkeitszonen und einem Broker pro Verfügbarkeitszonen-Cluster auswählen, erstellt Amazon MSK einen Cluster aus drei Brokern (ein Broker in drei Verfügbarkeitszonen in einer Region), und standardmäßig (es sei denn, Sie entscheiden sich dafür, den Replikationsfaktor für das Thema zu überschreiben) beträgt der Replikationsfaktor für das Thema ebenfalls drei. Um mehr darüber zu erfahren, was während eines Client-Failovers geschieht, lesen Sie unsere Dokumentation zum Client-Failover.
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. Express-Broker schützen mehr Konfigurationen vor suboptimalen Werten, die sich auf Verfügbarkeit und Haltbarkeit auswirken können. Express-Broker bieten auch eine einfachere Erfahrung, indem sie Konfigurationen abstrahieren, die mit der Speicherung zu tun haben, da Amazon MSK die Speicherebene vollständig verwaltet. Weitere Informationen zu benutzerdefinierten Konfigurationen finden Sie in der Konfigurationsdokumentation.
Wie erstelle ich 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 mithilfe von 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:
<Pfad-zu-Ihrer-Kafka-Installation>/bin/kafka-topics.sh --create – bootstrap-server <BootstrapBrokerString> --replication-factor 3 --partitions 1 – topic TopicName
Welche Optionen gibt es für die Bereitstellung von Amazon MSK?
Amazon MSK bietet zwei Optionen für die Bereitstellung von Apache Kafka-Clustern: Amazon MSK Provisioned und Amazon MSK Serverless. MSK Provisioned bietet Ihnen unterschiedliche Kontrollstufen über Ihren Cluster, während der Großteil des operativen Aufwands, der mit der Verwaltung von Apache Kafka-Clustern einhergeht, entfällt. Mit MSK Provisioned skalieren Sie Ihren Cluster in Einheiten von Brokern. Sie können aus verschiedenen Brokertypen wählen, darunter Standard- und Express-Broker. Im Gegensatz dazu ist MSK Serverless ein Clustertyp, der die Skalierung und Verwaltung von Clustern vollständig abstrahiert. 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. Amazon MSK bietet auch mehrere Optionen, um die Verbindung zu Ihren MSK-Clustern zu vereinfachen. Zu diesen Optionen gehören Amazon MSK Connect, Amazon MSK Replicator und andere native AWS-Integrationen. Weitere Informationen finden Sie in den nachfolgenden Abschnitten.
Amazon MSK Provisioned
Was ist MSK Provisioned?
MSK Provisioned ist eine Option zur Bereitstellung von MSK-Clustern, mit der Sie Ihre Apache Kafka-Cluster manuell konfigurieren und skalieren können. Dadurch erhalten Sie unterschiedliche Kontrollmöglichkeiten über die Infrastruktur, die Ihre Apache Kafka-Umgebung antreibt.
Mit MSK Provisioned können Sie die Instance-Typen, die Speichervolumes auf dem Standard-Brokertyp und die Anzahl der Broker-Knoten auswählen, aus denen Ihre Kafka-Cluster bestehen. Sie können Ihren Cluster auch skalieren, indem Sie Broker hinzufügen oder entfernen, wenn sich Ihre Anforderungen an die Datenverarbeitung ändern. Diese Flexibilität ermöglicht es Ihnen, die Cluster für Ihre spezifischen Anforderungen an den Workload zu optimieren, sei es durch Maximierung des Durchsatzes, der Aufbewahrungskapazität oder anderer Leistungsmerkmale.
Zusätzlich zu den Optionen für die Infrastrukturkonfiguration bietet MSK Provisioned Sicherheit, Überwachung und betriebliche Vorteile auf Unternehmensebene. Dazu gehören Features wie Versions-Upgrades für Apache Kafka, integrierte Sicherheit durch Verschlüsselung und Zugriffskontrolle sowie die Integration mit anderen AWS-Services wie Amazon CloudWatch für die Überwachung. MSK Provisioned bietet zwei Hauptbrokertypen: Standard und Express.
Standardbroker bieten Ihnen die größte Flexibilität bei der Konfiguration Ihrer Cluster, während Expressbroker mehr Elastizität, Durchsatz, Ausfallsicherheit und Benutzerfreundlichkeit für die Ausführung von Hochleistungs-Streaming-Anwendungen bieten. Weitere Informationen zu den einzelnen Angeboten finden Sie in den folgenden Unterabschnitten. In der folgenden Tabelle werden auch die wichtigsten Feature-Vergleiche zwischen Standard- und Express-Brokern hervorgehoben.
Feature | Standard | Express |
Speicherverwaltung | Vom Kunden verwaltet (Features umfassen EBS-Speicher, abgestufte Speicherung, bereitgestellter Speicherdurchsatz, automatische Skalierung, Speicherkapazitätswarnungen) | Vollständig von MSK verwaltet |
Unterstützte Instances | T3, M5, M7g | M7g |
Überlegungen zur Größe und Skalierung | Durchsatz, Verbindungen, Partitionen, Speicher | Durchsatz, Verbindungen, Partitionen |
Broker-Skalierung | Vertikale und horizontale Skalierung | Vertikale und horizontale Skalierung |
Kafka-Versionen | Dokumentation ansehen | Ab Version 3.6 |
Apache Kafka-Konfiguration | Mehr konfigurierbar | Größtenteils MSK-verwaltet für höhere Ausfallsicherheit |
Sicherheit | Verschlüsselung, privater/öffentlicher Zugriff, Authentifizierung und Autorisierung – IAM, SASL/SCRAM, mTLS, Klartext, Kafka ACLs | Verschlüsselung, privater/öffentlicher Zugriff, Authentifizierung und Autorisierung – IAM, SASL/SCRAM, mTLS, Klartext, Kafka ACLs |
Überwachung | CloudWatch, Open Monitoring | CloudWatch, Open Monitoring |
Unterstützt Amazon MSK M7g-Cluster?
Ja, Amazon MSK unterstützt AWS Graviton3-basierte M7g-Instances von der Größe .large bis .16xlarge, um alle Apache Kafka-Workloads auszuführen. Graviton-Instances bieten die gleichen Vorteile in Bezug auf Verfügbarkeit und Langlebigkeit wie Amazon MSK, jedoch mit bis zu 24 % geringeren Kosten im Vergleich zu entsprechenden M5-Instances. Graviton-Instanzen bieten im Vergleich zu Amazon MSK M5-Instanzen einen um bis zu 29 % höheren Durchsatz pro Instance, sodass Kunden MSK-Cluster mit weniger Brokern oder kleineren Instanzen ausführen können.
Standard-Broker
Was sind Standard-Broker?
Standard-Broker für MSK Provisioned bieten die größte Flexibilität bei der Konfiguration der Leistung Ihres Clusters. Sie können aus einer Vielzahl von Clusterkonfigurationen auswählen, um die für Ihre Anwendungen erforderlichen Eigenschaften in Bezug auf Verfügbarkeit, Haltbarkeit, Durchsatz und Latenz zu erreichen. Sie können auch Speicherkapazität bereitstellen und diese bei Bedarf erhöhen. Amazon MSK übernimmt die Hardware-Wartung von Standard-Brokern und angeschlossenen Speicherressourcen und repariert automatisch eventuell auftretende Hardware-Probleme.
Express-Broker
Was sind Express-Broker?
Express-Broker für MSK Provisioned machen Apache Kafka einfacher zu verwalten, kostengünstiger in der Ausführung in großem Maßstab und elastischer mit der geringen Latenz, die Sie erwarten. Die Broker enthalten einen Speicher mit nutzungsbasierter Bezahlung, der automatisch skaliert und keine Größenanpassung, Bereitstellung oder proaktive Überwachung erfordert. Je nach gewählter Größe der Instance kann jeder Broker-Knoten im Vergleich zu Standard-Apache-Kafka-Brokern einen bis zu dreimal höheren Durchsatz pro Broker bieten, bis zu 20-mal schneller skalieren und 90 % schneller wiederhergestellt werden. Express-Broker sind mit den bewährten Standardeinstellungen von Amazon MSK vorkonfiguriert und setzen Kundendurchsatzquoten durch, um Ressourcenkonflikte zwischen Kunden und den Hintergrundvorgängen von Kafka zu minimieren.
Was sind die Hauptvorteile von Express-Brokern?
- Keine Speicherverwaltung: Mit Express-Brokern entfällt die Notwendigkeit, Speicherressourcen bereitzustellen oder zu verwalten. Sie erhalten elastischen, praktisch unbegrenzten, vollständig verwalteten Speicher mit nutzungsbasierter Bezahlung. Bei Anwendungsfällen mit hohem Durchsatz müssen Sie sich keine Gedanken über die Interaktionen zwischen Instances und Speichervolumes und die damit verbundenen Engpässe beim Durchsatz machen. Diese Funktionen vereinfachen die Clusterverwaltung und eliminieren den betrieblichen Aufwand für die Speicherverwaltung.
- Schnellere Skalierung: Mit Express-Brokern können Sie Ihren Cluster schneller skalieren und Partitionen verschieben als mit Standard-Brokern. Diese Funktion ist von entscheidender Bedeutung, wenn Sie Ihren Cluster skalieren müssen, um aufkommende Lastspitzen zu bewältigen, oder Ihren Cluster skalieren müssen, um Kosten zu senken. Weitere Informationen zur Skalierung Ihres Clusters finden Sie in den Abschnitten zum Erweitern Ihres Clusters, zum Entfernen von Brokern, zum Neuzuweisen von Partitionen und zum Einrichten von LinkedIns Cruise Control für die Neuverteilung.
- Höherer Durchsatz: Express-Broker bieten bis zu dreimal mehr Durchsatz pro Broker als Standard-Broker. Beispielsweise können Sie mit jedem Express-Broker der Größe m7g.16xlarge Daten mit bis zu 500 MB/s sicher schreiben, verglichen mit 153,8 MB/s beim entsprechenden Standard-Broker (beide Zahlen setzen eine ausreichende Bandbreitenzuweisung für Hintergrundvorgänge wie Replikation und Neuverteilung voraus).
- Konfiguriert für hohe Ausfallsicherheit: Express-Broker bieten automatisch verschiedene vorkonfigurierte Best Practices, um die Ausfallsicherheit Ihres Clusters zu verbessern. Dazu gehören Integritätsschutz für kritische Apache Kafka-Konfigurationen, Quoten für den Durchsatz und Kapazitätsreservierungen für Hintergrundvorgänge und ungeplante Reparaturen. Diese Funktionen machen es sicherer und einfacher, große skalierte Apache Kafka-Anwendungen auszuführen. Weitere Informationen finden Sie in den Abschnitten über Express-Broker-Konfigurationen und Amazon MSK Express-Broker-Quoten.
- Keine Wartungsfenster: Für Express-Broker gibt es keine Wartungsfenster. Amazon MSK aktualisiert Ihre Cluster-Hardware automatisch und fortlaufend. Weitere Informationen finden Sie unter Amazon MSK Express-Broker.
Wie kann ich meine Kosten mit Express-Brokern optimieren?
Express-Broker bieten mehr Durchsatz pro Broker, sodass Sie Cluster mit weniger Brokern für den gleichen Workload erstellen können. Sobald Ihr Cluster eingerichtet und in Betrieb ist, können Sie außerdem die Nutzung Ihrer Clusterressourcen überwachen und die Kapazität schneller als mit Standard-Brokern richtig dimensionieren. Sie können daher Ressourcen bereitstellen, die für die von Ihnen benötigte Kapazität geeignet sind, und schneller skalieren, um Änderungen der Nachfrage gerecht zu werden.
Welche Apache Kafka-APIs und -Tools kann ich mit Express-Brokern verwenden?
Cluster mit Express-Brokern arbeiten mit Apache Kafka-APIs und -Tools, die den Standard-Apache Kafka-Client verwenden.
Welche Kafka-Konfigurationen muss ich für Express-Broker anpassen?
Express-Broker sind mit Amazon MSK-Standardeinstellungen für bewährte Verfahren vorkonfiguriert, die für Verfügbarkeit und Langlebigkeit optimiert sind. Sie können einige dieser Konfigurationen anpassen, um die Leistung Ihrer Cluster weiter zu optimieren. Weitere Informationen zu Express-Broker-Konfigurationen finden Sie im Amazon MSK Developer Guide.
Welche Verschlüsselungsoptionen sind mit Express-Brokern verfügbar?
Genau wie bei Standard-Brokern ist Amazon MSK in AWS Key Management Service (AWS KMS) integriert, um eine transparente serverseitige Verschlüsselung für die Speicherung in Express-Brokern zu bieten. Wenn Sie einen MSK-Cluster mit Express-Brokern erstellen, können Sie den AWS KMS-Schlüssel angeben, den Amazon MSK zum Verschlüsseln Ihrer ruhenden Daten verwenden soll. Wenn Sie keinen KMS-Schlüssel angeben, erstellt Amazon MSK einen von AWS verwalteten Schlüssel für Sie und verwendet diesen in Ihrem Namen. Amazon MSK verwendet TLS auch zur Verschlüsselung von Daten während der Übertragung für Express-Broker, wie dies auch bei Standard-Brokern der Fall ist.
Welche Unterschiede gibt es bei den Amazon MSK-Features zwischen Standard- und Express-Brokern?
Die meisten MSK Provisioned-Features und -Funktionen, die mit Standard-Brokern funktionieren, funktionieren auch mit Clustern, die Express-Broker verwenden. Einige Unterschiede sind: Speicherverwaltung, Verfügbarkeit von Instance-Typen und unterstützte Versionen. In der Tabelle zum Vergleich von Standard- und Express-Brokern unter MSK Provisioned werden einige wichtige Ähnlichkeiten und Unterschiede hervorgehoben.
Kann ich meinen vorhandenen Kafka-Workload zu Express-Brokern verschieben?
Ja, Sie können die Daten in Ihrem Kafka-Cluster mithilfe von MirrorMaker 2 oder Amazon MSK Replicator, der sowohl die Daten als auch die Metadaten Ihres Clusters in einen neuen Cluster kopiert, zu einem Cluster migrieren, der aus Express-Brokern besteht. Mehr über die Verwendung von MirrorMaker 2 und MSK Replicator erfahren Sie im Amazon MSK Developer Guide.
Wie sollte ich zwischen den bereitgestellten Brokertypen Standard und Express MSK wählen?
Express-Broker verbessern Ihr Preis-Leistungs-Verhältnis, bieten eine höhere Ausfallsicherheit und senken die Betriebskosten, was sie zur idealen Wahl für alle Apache Kafka-Workloads auf MSK Provisioned macht. Sie können jedoch Standard-Brokertypen wählen, wenn Sie mehr Konfigurationen und Einstellungen Ihrer Broker steuern möchten. Mit Standard-Brokern können Sie eine größere Anzahl von Kafka-Konfigurationen anpassen, darunter Replikationsfaktor, Größe der Protokolldateien und Richtlinien für die Wahl des Leiters, wodurch Sie mehr Flexibilität bei Ihren Clustereinstellungen erhalten.
Amazon MSK Serverless
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.
Gleicht MSK Serverless Partitionen innerhalb eines Clusters automatisch aus?
Ja, MSK Serverless verwaltet Partitionen vollständig, einschließlich der Überwachung und der gleichmäßigen Verteilung der Last auf die Partitionen eines Clusters.
Wie viel Durchsatzkapazitä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.
Welche Features bietet MSK Serverless im Bereich Sicherheit?
MSK Serverless verschlüsselt den gesamten Datenverkehr während der Übertragung und alle Daten im Ruhezustand mithilfe von durch den Service verwalteten Schlüsseln, die über AWS 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. Darüber hinaus bietet MSK Serverless die Zugriffssteuerung von AWS Identity and Access Management (IAM), mit der Sie die Client-Authentifizierung und Client-Autorisierung für Apache Kafka-Ressourcen wie Themen verwalten können.
Wie können Produzenten und Verbraucher auf meine MSK Serverless-Cluster zugreifen?
Wenn Sie einen MSK Serverless-Cluster erstellen, stellen Sie Subnetze einer oder mehrerer Amazon Virtual Private Clouds (Amazon VPCs) bereit, die die Clients des Clusters hosten. In einer dieser Amazon VPCs gehostete Clients können sich über die Bootstrap-Broker-Zeichenfolge mit dem MSK Serverless-Cluster verbinden.
In welchen Regionen ist MSK Serverless verfügbar?
Aktuelle Informationen zur regionalen Verfügbarkeit finden Sie auf der Amazon MSK-Preisseite.
Welche Authentifizierungstypen unterstützt MSK Serverless?
MSK Serverless unterstützt derzeit IAM (Identity Access Management) für die Client-Authentifizierung und -Autorisierung. Ihre Clients können eine IAM-Rolle für die Authentifizierung übernehmen, und Sie können die Zugriffssteuerung mithilfe einer zugehörigen IAM-Richtlinie durchsetzen.
Wie verarbeite ich Daten in meinem MSK Serverless-Cluster?
Sie können alle Apache-Kafka-kompatiblen Tools verwenden, um Daten in Ihren MSK Serverless Cluster-Themen zu verarbeiten. 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-Konnektoren verwenden, um Daten an ein beliebiges Ziel zu senden.
Wie stellt MSK Serverless eine hohe Verfügbarkeit sicher?
Wenn Sie eine Partition erstellen, erstellt MSK Serverless zwei Replikate davon und platziert sie in verschiedenen Availability Zones. Darüber hinaus erkennt und stellt MSK Serverless ausgefallene Backend-Ressourcen automatisch wieder her, um eine hohe Verfügbarkeit aufrechtzuerhalten.
Migration zu Amazon MSK
Kann ich Daten innerhalb meines bestehenden Apache Kafka-Clusters zu Amazon MSK migrieren?
Ja, Sie können Drittanbieter- oder Open-Source-Tools wie MirrorMaker2, die von Apache Kafka unterstützt werden, verwenden, um Daten von Clustern in einen MSK-Cluster zu replizieren. Sehen Sie sich dieses Amazon MSK Migration Lab an, um Ihre Migration zu planen.
Unterstützte Versionen
Werden Versions-Upgrades für Apache Kafka unterstützt?
Ja, Amazon MSK unterstützt vollständig verwaltete, direkte Versions-Upgrades für Apache Kafka für bereitgestellte Cluster. Wenn Sie mehr über das Upgrade Ihrer Apache Kafka-Version und bewährte Verfahren für hohe Verfügbarkeit erfahren möchten, lesen Sie die Dokumentation zu Versions-Upgrades.
Welche Versionen von Apache Kafka werden unterstützt?
Alle Apache Kafka-Versionen werden bis zum Ende des Support-Zeitraums unterstützt. Weitere Informationen zu den Richtlinien und Terminen für das Ende des Supports finden Sie in unserer Versionssupport-Dokumentation.
Networking
Läuft Amazon MSK in einer Amazon VPC?
Ja, Amazon MSK kann immer innerhalb einer Amazon VPC ausgeführt werden, die vom Amazon-MSK-Service verwaltet wird. Amazon MSK-Ressourcen stehen für Ihre eigene Amazon VPC, Ihr Subnetz und Ihre Sicherheitsgruppe zur Verfügung, die Sie bei der Einrichtung des Clusters auswählen. IP-Adressen aus Ihrer VPC werden über ENIs mit Ihren Amazon MSK-Ressourcen verknüpft, und der gesamte Netzwerkverkehr verbleibt innerhalb des AWS-Netzwerks und kann standardmäßig nicht über das Internet darauf zugreifen.
Wie werden die Broker in meinem Amazon MSK-Cluster für Kunden 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 eingehenden und ausgehenden Datenverkehrs, der auf Ihren Brokern zulässig ist.
Ist es möglich, über das öffentliche Internet eine Verbindung zu meinem Cluster herzustellen?
Ja, Amazon MSK bietet die Möglichkeit, über das Internet eine sichere Verbindung zu den Brokern von Amazon MSK-Clustern herzustellen, auf denen Apache Kafka 2.6.0 oder eine neuere Version ausgeführt wird. Durch die Aktivierung des öffentlichen Zugriffs können autorisierte Clients außerhalb einer privaten Amazon VPC verschlüsselte Daten in bestimmte Amazon MSK-Cluster und aus diesen heraus 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. Um mehr darüber zu erfahren, wie Sie den öffentlichen Zugriff aktivieren, lesen Sie die Dokumentation zum öffentlichen Zugriff.
Ist die Verbindung zwischen meinen Clients und einem Amazon MSK-Cluster privat?
Standardmäßig können Daten nur über eine private Verbindung zwischen Ihren Clients in Ihrer VPC und dem Amazon MSK-Cluster von einem Amazon MSK-Cluster produziert und konsumiert werden. Wenn Sie jedoch den öffentlichen Zugriff für Ihren MSK-Cluster aktivieren und sich über die öffentliche Bootstrap-Broker-Zeichenfolge mit Ihrem MSK-Cluster verbinden, gilt die Verbindung – obwohl authentifiziert, autorisiert und verschlüsselt – nicht mehr als privat. 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.
Wie kann ich mich mit meinem Amazon MSK-Cluster innerhalb des AWS-Netzwerks, aber außerhalb der Amazon VPC des Clusters verbinden?
Sie können sich von jedem VPC- oder AWS-Konto, das sich von der Amazon VPC Ihres MSK-Clusters unterscheidet, mit Ihrem MSK-Cluster verbinden, indem Sie die private Multi-VPC-Konnektivität für MSK-Cluster mit Apache Kafka 2.7.1 oder höheren Versionen aktivieren. Sie können die private Konnektivität für eines der unterstützten Authentifizierungsschemata (IAM-Authentifizierung, SASL/SCRAM und mTLS-Authentifizierung) nur nach der Clustererstellung aktivieren. Sie sollten Ihre Clients so konfigurieren, dass sie über von Amazon MSK verwaltete VPC-Verbindungen, die die PrivateLink-Technologie zur Aktivierung der privaten Konnektivität verwenden, eine private Verbindung zum Cluster herstellen. Weitere Informationen zum Einrichten der privaten Konnektivität finden Sie in der AWS-Dokumentation zum Zugriff.
Verschlüsselung
Kann ich Daten in meinem MSK-Cluster verschlüsseln?
Ja, Amazon MSK verwendet Amazon Elastic Block Store (Amazon EBS) serverseitige Verschlüsselung und AWS KMS Schlüssel, um Speichervolumes zu verschlüsseln.
Werden Daten während der Übertragung zwischen Brokern innerhalb eines MSK-Clusters verschlüsselt?
Ja, standardmäßig ist bei neuen Clustern die In-Transit-Verschlüsselung über TLS für die Kommunikation zwischen Brokern aktiviert. Bei bereitgestellten Clustern können Sie die Verwendung der In-Transit-Verschlüsselung beim Erstellen eines Clusters deaktivieren.
Werden Daten während der Übertragung zwischen meinen Apache-Kafka-Clients und Amazon MSK verschlüsselt?
Ja, standardmäßig ist die Verschlüsselung während der Übertragung nur für Cluster, die über die AWS-Befehlszeilenschnittstelle oder die AWS-Managementkonsole erstellt wurden, 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 über die Amazon MSK-Verschlüsselung.
Werden Daten während der Übertragung zwischen Brokern und Metadatenknoten in einem MSK-Cluster verschlüsselt?
Ja, MSK-Cluster unterstützen die TLS-Verschlüsselung während der Übertragung zwischen Kafka-Brokern und Metadatenknoten.
Zugriffsverwaltung
Wie steuere ich die Cluster-Authentifizierung und die Apache Kafka API-Autorisierung?
Bei Serverless-Clustern können Sie die IAM-Zugriffssteuerung sowohl für die Authentifizierung als auch für die Autorisierung verwenden. Für bereitgestellte Cluster haben Sie die folgenden Optionen:
- IAM-Zugriffssteuerung für AuthN/AuthZ (empfohlen)
- TLS-Zertifikatauthentifizierung für AuthN und Zugriffskontrolllisten für AuthZ
- SASL/SCRAM für AuthN und Zugriffskontrolllisten für AuthZ
Amazon MSK empfiehlt die Verwendung der IAM-Zugriffskontrolle. Es ist die am einfachsten zu verwendende und, da es standardmäßig mit geringstem Berechtigungen arbeitet, welches auch die sicherste Option ist.
Wie funktioniert die Autorisierung in Amazon MSK?
Wenn Sie die IAM-Zugriffssteuerung verwenden, verwendet Amazon MSK die von Ihnen erstellten 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 Client-Authentifizierung entweder mit TLS-Zertifikaten oder SASL/SCRAM aktivieren.
Wie kann ich einen Client gleichzeitig authentifizieren und autorisieren?
Wenn Sie die IAM-Zugriffskontrolle verwenden, authentifiziert und autorisiert Amazon MSK Sie ohne zusätzliche Einrichtung. Wenn Sie die TLS-Authentifizierung verwenden, können Sie den D-Namen der TLS-Zertifikate der Clients als Prinzip der Zugriffssteuerungsliste verwenden, um Client-Anfragen zu autorisieren. Wenn Sie SASL/SCRAM verwenden, können Sie den Benutzernamen als Prinzipal der ACL verwenden, um Client-Anfragen zu autorisieren.
Wie steuere ich Aktionen der Service-API?
Sie können Aktionen von Service-APIs über IAM steuern.
Kann ich die IAM-Zugriffssteuerung für einen vorhandenen Cluster aktivieren?
Ja, Sie können die IAM-Zugriffssteuerung für einen vorhandenen Cluster über die AWS-Managementkonsole oder mithilfe der UpdateSecurity-API aktivieren.
Kann ich die IAM-Zugriffssteuerung außerhalb von Amazon MSK verwenden?
Nein, die IAM-Zugriffssteuerung ist nur für MSK-Cluster verfügbar.
Wie kann ich einem Kafka-Client in einem AWS-Konto, das sich von meinem Amazon MSK-Konto unterscheidet, Berechtigungen für den kontoübergreifenden Zugriff erteilen, um eine private Verbindung zu meinem MSK-Cluster herzustellen?
Sie können Ihrem Amazon-MSK-Cluster eine Cluster-Richtlinie hinzufügen, um Ihrem kontoübergreifenden 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 Kafka-Datenebene für den verbindenden Client detailliert zu definieren. Mehr über Cluster-Richtlinien erfahren Sie in der Dokumentation zu Cluster-Richtlinien.
Überwachen, Metriken, Protokollieren und Markieren
Wie überwache ich die Leistung meiner Cluster oder Themen?
Sie können die Leistung Ihrer Cluster mithilfe der Amazon MSK-Konsole, der Amazon CloudWatch-Konsole oder über JMX und Host-Metriken mithilfe von Open Monitoring with Prometheus, einer Open-Source-Überwachungslösung, überwachen.
Wie hoch sind die Kosten für die verschiedenen CloudWatch-Überwachungsstufen?
Die Kosten für die Überwachung Ihres Clusters mit CloudWatch hängen von der Überwachungsstufe und der Größe Ihres Apache Kafka-Clusters ab. CloudWatch berechnet Gebühren pro Metrik und Monat und beinhaltet ein kostenloses AWS-Kontingent. Weitere Informationen finden Sie unter Amazon CloudWatch-Preise. Weitere Informationen zur Anzahl der für jede Überwachungsstufe verfügbaren Metriken finden Sie in der Amazon MSK-Überwachungsdokumentation.
Welche Überwachungstools sind mit Open Monitoring mit Prometheus kompatibel?
Tools, die für das Lesen von Prometheus-Exportern ausgelegt sind, sind mit Open Monitoring kompatibel, etwa Datadog, Lenses, New Relic, Sumo Logic oder ein Prometheus-Server. Weitere Informationen zu Open Monitoring finden Sie in der Amazon MSK Open Monitoring-Dokumentation.
Wie überwache ich den Zustand und die Leistung von Clients?
Sie können mit jeder Client-seitigen Überwachungsanwendung arbeiten, die von der von Ihnen verwendeten Apache-Kafka-Version unterstützt wird.
Kann ich Amazon-MSK-Ressourcen taggen?
Ja, Sie können Amazon-MSK-Cluster über die AWS-Befehlszeilenschnittstelle oder die AWS-Managementkonsole taggen.
Wie überwache ich die Verbraucherverzögerung?
Metriken zur Verbraucherverzögerung auf Themenebene sind als Teil des Standardsatzes von Metriken verfügbar, die Amazon MSK für alle Cluster in CloudWatch veröffentlicht. Es ist keine zusätzliche Einrichtung erforderlich, um diese Metriken zu erhalten.
Wie viel kostet die Veröffentlichung der Metrik für die Verbraucherverzögerung in CloudWatch?
Metriken auf Themenebene sind im Standardsatz der Amazon-MSK-Metriken enthalten, die kostenlos sind. Metriken auf Partitionsebene werden gemäß den Amazon-CloudWatch-Preisen berechnet.
Wie kann ich auf 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 (Amazon S3) und Amazon Data Firehose senden. Firehose unterstützt neben anderen Zielen auch Amazon OpenSearch Service. Informationen zum Aktivieren dieses Features finden Sie in der Amazon MSK-Protokollierungsdokumentation. Informationen zu Preisen finden Sie auf den Amazon CloudWatch Logs- und Amazon Data Firehose-Preisseiten.
Wie hoch ist die Protokollierungsstufe für Broker-Protokolle?
Amazon MSK stellt für alle Broker in einem bereitgestellten Cluster Protokolle auf INFO-Ebene bereit.
Kann ich die Verwendung von Apache Kafka-Ressourcen-APIs protokollieren, etwa „Thema erstellen“?
Ja, wenn Sie die IAM-Zugriffskontrolle verwenden, wird die Verwendung von Apache Kafka-Ressourcen-APIs in AWS CloudTrail protokolliert.
Verwaltung von Metadaten
Was ist Apache ZooKeeper?
Von https://zookeeper.apache.org: „Apache ZooKeeper ist ein zentralisierter Service, mit dem Sie Konfigurationsinformationen und Namen verwalten, verteilte Synchronisierung bereitstellen und Gruppendienste bereitstellen können. Alle diese Arten von Services werden in irgendeiner Form von verteilten Anwendungen genutzt“, einschließlich Apache Kafka.
Verwendet Amazon MSK Apache ZooKeeper?
Ja, Amazon MSK verwendet Apache ZooKeeper für die Metadatenverwaltung. Zusätzlich können Sie ab Apache Kafka Version 3.7 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.
Was ist Apache KRaft?
Apache KRaft ist das Konsensprotokoll, das die Metadatenverwaltung in Kafka-Clustern von externen Apache ZooKeeper-Knoten auf eine Gruppe von Controllern innerhalb von Kafka verlagert. Diese Änderung ermöglicht es, Metadaten als Themen in Kafka-Brokern zu speichern und zu replizieren, was zu einer schnelleren Verbreitung von Metadaten führt. Mehr erfahren Sie in unserer Apache-KRaft-Dokumentation.
Sind für die Verwendung des KRaft-Modus auf Amazon MSK im Vergleich zum ZooKeeper-Modus API-Änderungen erforderlich?
Für die Verwendung des KRaft-Modus auf Amazon MSK sind keine API-Änderungen erforderlich. Wenn Ihre Clients jedoch heute noch die Verbindungszeichenfolge „--zookeeper“ verwenden, sollten Sie Ihre Clients aktualisieren, damit sie die Verbindungszeichenfolge „--bootstrap-server“ verwenden, um eine Verbindung zu Ihrem Cluster herzustellen und Verwaltungsaktionen durchzuführen. Das Flag „--zookeeper“ ist in Apache Kafka Version 2.5 veraltet und wird ab Kafka 3.0 entfernt. Daher empfehlen wir Ihnen, aktuelle Apache Kafka-Client-Versionen und die Verbindungszeichenfolge „--bootstrap-server“ zu verwenden.
Ich habe Tools, die mit ZooKeeper verbunden sind. Wie funktionieren diese für KRaft-Cluster ohne ZooKeeper?
Sie sollten überprüfen, ob alle von Ihnen verwendeten Tools Kafka Admin APIs ohne ZooKeeper-Verbindungen verwenden können. Sehen Sie sich unsere aktualisierte Dokumentation zur Verwendung von Cruise Control für KRaft-Cluster an. Cruise Control hat auch Schritte veröffentlicht, die Sie befolgen müssen, um Kafka ohne ZooKeeper-Verbindung auszuführen.
Kann ich auf KRaft-basierten Clustern mehr Partitionen pro Broker hosten als auf ZooKeeper-basierten Clustern?
Die Anzahl der Partitionen pro Broker ist auf KRaft- und ZooKeeper-basierten Clustern gleich. KRaft ermöglicht es Ihnen jedoch, mehr Partitionen pro Cluster zu hosten, indem Sie mehr Broker in einem Cluster bereitstellen.
Integrationen
In welche AWS-Services lässt sich Amazon MSK integrieren?
Amazon MSK lässt sich in die folgenden AWS-Services integrieren:
- Amazon S3 mit Firehose für die Bereitstellung von Daten an Amazon S3 von Amazon MSK ohne Programmieraufwand
- Amazon VPC für Netzwerkisolation und -sicherheit
- Amazon CloudWatch für Metriken
- AWS KMS für die Verschlüsselung des Speichervolumens
- IAM für die Authentifizierung und Autorisierung von Apache Kafka und Service-APIs
- AWS Lambda für die Ereignisbeschaffung von Amazon MSK
- AWS IoT Core für die Ereignisbeschaffung von IoT
- 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 Certificate Manager für private Zertifizierungsstellen, die für die TLS-Authentifizierung von Clients verwendet werden
- AWS CloudFormation zur Beschreibung und Bereitstellung von Amazon MSK-Clustern mithilfe von Code
- Amazon Managed Service für Apache Flink für vollständig verwaltete Apache Flink-Anwendungen, die Streaming-Daten verarbeiten
- Amazon Managed Service für Apache Flink Studio für interaktives Streaming von SQL auf Apache Kafka
- AWS Secrets Manager für Anmeldeinformationen von Clients, die für die SASL/SCRAM-Authentifizierung verwendet werden
Amazon MSK Serverless lässt sich in die folgenden AWS-Services integrieren:
- Amazon S3 mit Firehose für die Bereitstellung von Daten an Amazon S3 von MSK auf codierungsfreie Weise
- Amazon VPC für Netzwerkisolation und -sicherheit
- Amazon CloudWatch für Metriken
- 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
Replikation
Was ist Amazon MSK Replicator?
Amazon MSK Replicator ist ein Feature von Amazon MSK, das Kunden dabei unterstützt, Daten zuverlässig über MSK-Cluster in verschiedenen AWS-Regionen (regionsübergreifende Replikation) oder innerhalb derselben AWS-Region (regionsinterne Replikation) zu replizieren, ohne Code schreiben oder die Infrastruktur verwalten zu müssen. Sie können die regionsübergreifende Replikation verwenden, um hochverfügbare und fehlertolerante Streaming-Anwendungen für mehrere Regionen zu erstellen und so die Ausfallsicherheit zu erhöhen. Sie können die regionsübergreifende Replikation auch verwenden, um Verbrauchern in verschiedenen geografischen Regionen mit geringerer Latenz auf Daten zuzugreifen. Sie können die replikation innerhalb derselben Region verwenden, um Daten von einem Cluster auf mehrere Cluster zu verteilen und sie mit Ihren Partnern und Teams zu teilen. Sie können die replikation innerhalb derselben Region auch verwenden, um Daten aus mehreren Clustern für Analysen in einem Cluster zusammenzufassen.
Wie verwende ich MSK Replicator?
Um eine Replikation zwischen einem Paar von MSK-Quell- und -Zielclustern einzurichten, müssen Sie einen Replicator in der Zielregion erstellen. Um einen Replikator zu erstellen, geben Sie Details an, darunter den Amazon Resource Name (ARN) der Quell- und Ziel-MSK-Cluster und eine IAM-Rolle, mit der der MSK-Replikator auf die Cluster zugreifen kann. Sie müssen den Ziel-MSK-Cluster erstellen, falls er noch nicht vorhanden ist.
Welche Art von Kafka-Clustern werden von MSK Replicator unterstützt?
Der MSK-Replikator unterstützt nur die Replikation zwischen MSK-Clustern. Es werden sowohl „Provisioned“- als auch „Serverless“-MSK-Cluster unterstützt. Sie können MSK Replicator auch verwenden, um von „Provisioned“ zu „Serverless“ zu wechseln oder umgekehrt, wenn Sie andere Kafka-Cluster verwenden, die nicht unterstützt werden.
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.
Repliziert MSK Replicator Themeneinstellungen und Verbrauchergruppen-Offsets?
Ja, MSK Replicator repliziert automatisch die erforderlichen Kafka-Metadaten, wie etwa Themenkonfiguration, ACLs und Verbrauchergruppen-Offsets, sodass verbrauchende Anwendungen die Verarbeitung nach einem Failover 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.
Muss ich die Replikation skalieren, wenn sich mein eingehender Durchsatz ändert?
Nein, MSK Replicator sorgt für die automatische Bereitstellung, Bereitstellung und Skalierung der zugrunde liegenden Replikationsinfrastruktur, um Änderungen Ihres eingehenden Durchsatzes zu unterstützen.
Kann ich Daten über MSK-Cluster in verschiedenen AWS-Konten hinweg replizieren?
Nein, der MSK-Replikator unterstützt nur die Replikation zwischen MSK-Clustern im selben AWS-Konto.
Wie kann ich die Replikation überwachen?
Sie können CloudWatch in der Zielregion verwenden, um Metriken für ReplicationLatency,
MessageLag und ReplicatorThroughput auf Themen- und Aggregatebene für jeden Replikator ohne zusätzliche Kosten anzuzeigen. Die Metriken sind unter „ReplicatorName“ im AWS/Kafka-Namespace sichtbar. Sie können auch die Metriken „ReplicatorFailure“, „AuthError“ und „ThrottleTime“ anzeigen, um zu überprüfen, ob bei Ihrem Replicator Probleme auftreten.
Wie kann ich die Replikation nutzen, um die Ausfallsicherheit meiner Streaming-Anwendung über Regionen hinweg zu erhöhen?
Sie können MSK Replicator verwenden, um Active-Active- oder Active-Passive-Cluster-Topologien einzurichten und so die Ausfallsicherheit Ihrer Kafka-Anwendung über Regionen hinweg zu erhöhen. In einem Active-Active-Setup bieten beide MSK-Cluster aktiv Lese- und Schreibvorgänge an. Im Vergleich dazu wird in einer Aktiv-Passiv-Konfiguration jeweils nur ein MSK-Cluster aktiv für Streaming-Daten verwendet, während der andere Cluster im Standby-Modus ist.
Kann ich MSK Replicator verwenden, um Daten von einem Cluster auf mehrere Cluster zu replizieren oder Daten von vielen Clustern auf einen zu replizieren?
Ja. Indem Sie für jedes Quell- und Ziel-Cluster-Paar einen anderen Replikator erstellen, können Sie Daten von einem Cluster auf mehrere Cluster replizieren oder Daten von vielen Clustern auf einen replizieren.
Wie stellt MSK Replicator eine Verbindung zu den MSK-Quell- und -Zielclustern her?
MSK Replicator verwendet die IAM-Zugriffssteuerung, um eine Verbindung zu Ihren Quell- und Zielclustern herzustellen. Sie müssen Ihre MSK-Quell- und -Zielcluster für die IAM-Zugriffssteuerung aktivieren, um einen Replicator 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.
Mit welcher 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 Regionen Ihrer MSK-Cluster, die Durchsatzkapazität Ihrer Quell- und Zielcluster und die Anzahl der Partitionen in Ihren Quell- und Zielclustern.
Kann ich die Namen der Themen mit MSK Replicator beibehalten?
Nein, der MSK-Replikator erstellt neue Themen im Ziel-Cluster mit einem automatisch generierten Präfix, das dem Themennamen hinzugefügt wird. Beispielsweise repliziert der MSK-Replikator Daten im Thema vom Quellcluster in ein neues Thema im Zielcluster, das als <sourceKafkaClusterAlias>.topic aufgerufen wird. Der MSK-Replikator unterscheidet auf diese Weise Themen, die replizierte Daten aus dem Quellcluster enthalten, von anderen Themen im Zielcluster und vermeidet, dass Daten zirkulär zwischen den Clustern repliziert werden. Das Präfix, das den Themennamen im Zielcluster hinzugefügt wird, finden Sie im Feld „sourceKafkaClusterAlias“ mithilfe der API „DescribeReplicator“ oder auf der Seite „Replicator details“ in der Amazon MSK-Konsole.
Kann ich vorhandene Daten auf dem Quellcluster 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.
Kann die Replikation zu einer Drosselung der Verbraucher im Quellcluster 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, dass Sie für Ihre Quell- und Zielcluster identische Kapazitäten bereitstellen und den Durchsatz der Replikation 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.
Kann ich Daten komprimieren, bevor ich sie in den Zielcluster schreibe?
Ja, Sie können beim Erstellen des Replikators einen Komprimierungscodec Ihrer Wahl angeben, darunter None, GZIP, Snappy, LZ4 und ZSTD.
Kann ich Daten komprimieren, bevor ich sie in den Zielcluster schreibe?
Ja, Sie können beim Erstellen des Replikators einen Komprimierungscodec Ihrer Wahl angeben, darunter None, GZIP, Snappy, LZ4 und ZSTD.
Skalierung
Wie kann ich den Speicher in meinem Cluster skalieren?
Sie können den Speicher in Ihrem bereitgestellten Cluster, der auf Standard-Brokern ausgeführt wird, mithilfe der AWS-Managementkonsole oder der AWS-Befehlszeilenschnittstelle skalieren. Sie können auch eine Richtlinie für die automatische Skalierung des Speichers mithilfe der AWS-Managementkonsole oder durch Erstellen einer AWS-Richtlinie für die automatische Skalierung von Anwendungen mithilfe der AWS-Befehlszeilenschnittstelle oder von APIs erstellen. Mit dem mehrstufigen Speicher auf Standard-Brokern können Sie praktisch unbegrenzt Daten in Ihrem Cluster speichern, ohne dass Sie Broker für den Speicher hinzufügen müssen. Mit Express-Brokern müssen Sie keinen Speicher bereitstellen oder verwalten und können auf praktisch unbegrenzten Speicher zugreifen. In Serverless Clustern wird der Speicher nahtlos entsprechend Ihrer Nutzung skaliert.
Wie funktioniert abgestufter Speicher?
Apache Kafka speichert Daten in Dateien, die als Protokollsegmente aufgerufen 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 in einem leistungsoptimierten Speicher für eine bestimmte Aufbewahrungszeit oder -größe aufbewahrt und dann gelöscht. Für den kostengünstigen Speicher gibt es eine separate Zeit- und Größenbeschränkung, die länger ist als die primäre Speicherebene. Wenn Clients Daten aus Segmenten anfordern, die in der kostengünstigen Ebene gespeichert sind, liest der Broker die Daten daraus und stellt sie auf die gleiche Weise bereit, als würden sie aus dem primären Speicher bereitgestellt.
Kann ich die Anzahl der Broker in einem vorhandenen Cluster skalieren?
Ja, Sie können die Anzahl der Broker für bereitgestellte MSK-Cluster erhöhen oder verringern.
Kann ich die Broker-Größe in einem vorhandenen Cluster skalieren?
Ja, Sie können Ihre bereitgestellten MSK-Cluster auf einen kleineren oder größeren Brokertyp skalieren.
Wie kann ich Partitionen über Broker hinweg ausgleichen?
Sie können Cruise Control für die automatische Neuverteilung von Partitionen verwenden, um die I/O-Wärme zu verwalten. Weitere Informationen finden Sie in der Cruise-Control-Dokumentation. Alternativ können Sie die 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
Wie funktioniert die Preisgestaltung von Amazon MSK?
Der Preis hängt von den Ressourcen ab, die Sie erstellen. Mehr erfahren Sie unter Preisgestaltung von Amazon MSK.
Muss ich für die Datenübertragung infolge der Datenreplikation bezahlen?
Nein, die Datenübertragung innerhalb eines Clusters ist ohne zusätzliche Kosten im Service enthalten.
In welchen Regionen ist Amazon MSK verfügbar?
Informationen zu den Regionen, in denen Amazon MSK verfügbar ist, finden Sie in der Tabelle „AWS-Regionen“.
Wie funktioniert die Preisgestaltung für die Datenübertragung?
Bei bereitgestellten Clustern zahlen Sie die Standard-AWS-Gebühren für die Datenübertragung für Daten, die in einen MSK-Cluster übertragen und aus diesem übertragen werden. Für die Datenübertragung innerhalb des Clusters in einer Region fallen keine Gebühren an, einschließlich der Datenübertragung zwischen Brokern und der Datenübertragung zwischen Brokern und Metadatenverwaltungsknoten.
Bei Serverless-Clustern zahlen Sie die Standard-AWS-Datenübertragungsgebühren für Daten, die in eine andere Region oder aus einer anderen Region übertragen werden, sowie für Daten, die an das öffentliche Internet übertragen werden.
Bietet Amazon MSK Preise für Reserved Instances an?
Nein, derzeit nicht.
Compliance
Welche Compliance-Programme gelten für Amazon MSK?
Amazon MSK ist mit den folgenden Programmen konform oder für diese berechtigt:
- HIPAA-konform
- PCI
- ISO
- SOC 1, 2 und 3
Eine vollständige Liste der AWS-Services und Compliance-Programme finden Sie unter AWS-Services im Geltungsbereich nach Compliance-Programm.
Service Level Agreement
Was garantiert die Amazon MSK-SLA?
Unser Amazon-MSK-SLA garantiert einen monatlichen Verfügbarkeitsprozentsatz von mindestens 99,9 % für Amazon MSK (einschließlich MSK Serverless und MSK Connect).
Wie erfahre ich, ob ich für eine Gutschrift aus dem SLA qualifiziert bin?
Wenn Bereitstellungen von Multi-AZ auf Amazon MSK während eines monatlichen Abrechnungszyklus eine monatliche Verfügbarkeit von weniger als 99,9 % aufweisen, haben Sie Anspruch auf eine SLA-Gutschrift für Amazon MSK gemäß der Amazon MSK-SLA.
Ausführliche Informationen zu allen Bedingungen der SLA sowie Einzelheiten zur Einreichung eines Anspruchs finden Sie auf der Seite der Amazon MSK-SLA.