Allgemeines

F: Was ist Amazon MSK?
Amazon Managed Streaming for Kafka (Amazon MSK) ist ein neuer AWS-Streaming-Datenservice, der die Infrastruktur und den Betrieb von Apache Kafka verwaltet und es Entwicklern und DevOps-Managern ermöglicht, Apache Kafka-Anwendungen auf AWS auszuführen, ohne dass sie zu Experten im Betrieb von Apache Kafka-Clustern werden müssen. Amazon MSK ist der ideale Ort, um bestehende oder neue Apache Kafka-Anwendungen in AWS auszuführen. Amazon MSK betreibt und wartet Apache Kafka -Cluster, bietet sofort einsatzbereite Sicherheitsfunktionen für Unternehmen und verfügt über eingebaute AWS-Integrationen, die die Entwicklung von Streaming-Datenanwendungen beschleunigen. Als Einstieg können Sie bestehende Apache Kafka-Workloads in Amazon MSK migrieren oder mit wenigen Klicks neue Workloads innerhalb von Minuten 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.
 
F: Was ist Apache Kafka?
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.
 
F: Was sind Streaming-Daten?
Als Streaming-Daten bezeichnet man einen kontinuierlichen Strom von kleinen Datensätzen (ein Datensatz ist typischerweise einige Kilobyte groß), die von Tausenden von Maschinen, Geräten, Websites und Anwendungen erzeugt 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 oder raumbezogene Daten und Telemetriedaten von verbundenen Geräten oder Instrumenten in Rechenzentren. Streaming-Daten-Services wie Amazon Managed Streaming for Kafka und Amazon Kinesis Data Streams erleichtern Ihnen die kontinuierliche Erfassung, Verarbeitung und Bereitstellung von Streaming-Daten.
 
F: Was sind die wichtigsten Funktionen von Apache Kafka?
Apache Kafka verfügt über drei Hauptfunktionen:
  • Apache Kafka speichert Streaming-Daten fehlertolerant als kontinuierliche Datensätze und bewahrt die Reihenfolge, in der die Datensätze produziert wurden.
  • Apache Kafka fungiert als Puffer zwischen Datenproduzenten und Datenkonsumenten. Apache Kafka ermöglicht es vielen Datenproduzenten (z. B. Websites, IoT-Geräte, Amazon EC2-Instances), kontinuierlich Streaming-Daten zu veröffentlichen und diese Daten anhand von Apache Kafka-Themen zu kategorisieren. Zahlreiche Datenkonsumenten (z. B. Machine Learning-Anwendungen, Lambda-Funktionen) 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.
 
F: Welches sind die Kernkonzepte 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 und einem Zeitstempel. Apache Kafka partitioniert und repliziert Themen über mehrere Knoten, die „Broker“ genannt werden. Apache Kafka läuft als Cluster auf einem oder mehreren Brokern, und Broker können sich in mehreren AWS-Verfügbarkeitszonen befinden, um einen hochverfügbaren Cluster zu erstellen. Apache Kafka basiert auf Apache Zookeeper, um Cluster-Aufgaben zu koordinieren und den Status für Ressourcen beizubehalten, die mit dem Cluster interagieren.
 
F: Wann sollte ich Apache Kafka einsetzen?
Apache Kafka wird verwendet, um Echtzeitanwendungen zu unterstützen, die Streaming-Daten umwandeln, bereitstellen und darauf reagieren, und um Echtzeit-Streaming-Datenpipelines aufzubauen, die zuverlässig Daten zwischen mehreren Systemen oder Anwendungen übertragen.
 
F: Was macht Amazon Managed Streaming for Kafka?
Amazon Managed Streaming for Kafka (Amazon MSK) erleichtert den Einstieg und den Betrieb von Open Source-Versionen von Apache Kafka in AWS mit hoher Verfügbarkeit und Sicherheit und bietet gleichzeitig die Integration mit AWS-Services ohne den operativen Aufwand durch den Betrieb eines Apache Kafka-Clusters. Amazon MSK ermöglicht es Ihnen, Open Source-Versionen von Apache Kafka zu verwenden und zu konfigurieren, während der Service die Einrichtung, Bereitstellung, AWS-Integration und laufende Wartung von Apache Kafka-Clustern verwaltet.
 
Mit nur wenigen Klicks in der Konsole können Sie einen Amazon MSK-Cluster einrichten. 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 mit AWS-Services, macht wichtige Metriken über die Konsole sichtbar und unterstützt Apache Kafka-Versionsupgrades, wenn mehr als eine Version unterstützt wird, so dass Sie von Verbesserungen an der Open Source-Version von Apache Kafka profitieren können.
 
F: Welche Apache Kafka-Versionen werden von Amazon MSK unterstützt?
Amazon MSK unterstützt derzeit Apache Kafka Version 1.1.1.
 
F: Sind Apache Kafka-APIs mit Amazon MSK kompatibel?
Ja, alle Datenebenen- und Admin-APIs werden von Amazon MSK nativ unterstützt.
 
F: Wird der Apache Kafka AdminClient von Amazon MSK unterstützt?
Ja.

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 AdminClient nutzt. Tools, die .jar-Dateien in Apache Kafka-Cluster hochladen, sind derzeit nicht mit Amazon MSK kompatibel, darunter Confluent Control Center, Confluent Auto Data Balancer, Uber  uReplicator und LinkedIn  Cruise Control.

Migration zu Amazon MSK

F: Kann ich Daten innerhalb meines bestehenden Apache Kafka-Clusters nach Amazon MSK migrieren?
Ja, Sie können Drittanbieter-Tools oder Open Source-Tools wie MirrorMaker verwenden, die mit Open Source-Apache Kafka geliefert werden, um Daten aus Clustern in einen Amazon MSK-Cluster zu replizieren.

Versionsupgrades

F: Wie kann ich mit Amazon MSK Versionupgrades – kleine wie große – für Apache Kafka-Cluster bereitstellen, wenn der Service mehr als eine Version unterstützt?
UpdateClusterSoftware wird während des Zeitraums, in dem nur die Vorversion von Amazon MSK verfügbar ist, nicht unterstützt.
 
F: Wie funktioniert der Upgrade-Prozess im Hintergrund?
Wenn Sie eine neue Version bereitstellen, verwendet Amazon MSK einen rollierenden Prozess, der jeweils einen Broker oder Apache Zookeeper-Knoten aktualisiert, bevor er zur nächsten Ressource übergeht. Während des gesamten Upgrade-Prozesses befindet sich Ihr Cluster im Zustand „Aktualisierung“ und geht nach Abschluss in den Zustand „Aktiv“ über. Es ist wichtig zu beachten, dass, wenn Sie sich dafür entscheiden, Daten nicht an mehrere Broker innerhalb eines Clusters zu replizieren, der aktualisiert wird, Ihr Cluster Ausfallzeiten hat.

Cluster

F: Wie erstelle ich meinen ersten Amazon MSK-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. Bestimmen Sie einen Namen für Ihren Cluster, die VPC, mit der Sie den Cluster betreiben möchten, eine Datenreplikationsstrategie für den Cluster (drei AZ ist Standard für eine hohe Lebensdauer) und die Subnetze für jede AZ. Wählen Sie anschließend einen Broker-Instance-Typ und die Anzahl der Broker pro AZ aus und klicken Sie auf „Erstellen“.

F: Welche Ressourcen befinden sich in einem Cluster?
Jeder Cluster enthält Broker-Instances, bereitgestellten Speicher und Apache Zookeeper-Knoten.

F: Welche Broker-Instance-Typen kann ich innerhalb eines Amazon MSK-Clusters bereitstellen?
Sie können Instances der EC2 M5-Instance-Familie verwenden.

F: Muss ich für die Bereitstellung und Bezahlung von Broker-Boot-Volumes sorgen?
Nein, jeder Broker, den Sie bereitstellen, beinhaltet Boot-Volume-Speicher, der vom Amazon MSK-Service verwaltet wird.

F: Wenn ich einen Apache Kafka-Cluster erstelle, erscheinen dann die zugrunde liegenden Ressourcen (z. B. Amazon EC2-Instances) in meiner EC2-Konsole?
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: Was muss ich innerhalb eines Amazon MSK-Clusters bereitstellen?
Sie müssen Broker-Instances und Broker-Speicher mit jedem Cluster, den Sie erstellen, bereitstellen. Sie brauchen keine Apache Zookeeper-Knoten zur Verfügung zu stellen, da diese Ressourcen ohne Aufpreis bei jedem von Ihnen erstellten Cluster enthalten sind.

F: Wie lautet die standardmäßige Broker-Konfiguration für einen Cluster?
Sofern nicht anders angegeben, verwendet Amazon MSK die gleichen Standardwerte, die auch in der Open Source-Version von Apache Kafka angegeben sind. Nachfolgend sind die vom Service verwendeten Standardwerte aufgeführt. Diese Konfiguration kann während des Zeitraums, in der die Vorversion des Service verwendet wird, nicht geändert werden.

Broker-Replikationsstrategie

3-AZ

Min.Insync.Replicas

2

Broker.ID

Vom Service festgelegt

Default.Replication.Factor

3 für 3-AZ

security.inter.broker.protocol

Klartext

Serverseitige Verschlüsselung

Aktivierung von AWS KMS über AWS-Service-Schlüssel

F: Kann ich Broker so bereitstellen, dass sie über AZs hinweg unausgewogen sind (z. B. 3 in us-east-1a, 2 in us-east-1b, 1 in us-east-1c)?
Nein, Amazon MSK setzt die bewährte Vorgehensweise durch, Brokermengen über AZs hinweg innerhalb eines Clusters zu verteilen.

F: 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 ermöglicht den Einsatz gängiger Replikationsstrategien und bietet Ihnen darüber hinaus die Möglichkeit, eine individuelle Replikationsstrategie zu verwenden. Standardmäßig werden bei jeder der Replikationsoptionen Leader- und Follower-Broker unter Verwendung der angegebenen Replikationsstrategie eingesetzt und isoliert. Wenn Sie beispielsweise eine Replikationsstrategie für 3 AZ-Broker mit einem Broker pro AZ-Cluster auswählen, erstellt Amazon MSK einen Cluster von drei Brokern (1 Broker in drei AZs in einer Region), und standardmäßig ist der Replikationsfaktor des Themas ebenfalls drei (es sei denn, Sie überschreiben den Replikationsfaktor des Themas). Die von Ihnen gewählte Replikationsstrategie bestimmt auch die Mindestanzahl der Apache Zookeeper-Knoten, die Ihrem Cluster im Hintergrund zugeordnet werden.

Themen

F: 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 über Apache Kafka-APIs durchgeführt.
 
 
F: Wie lautet die Standardkonfiguration für ein neues Thema?
Amazon MSK verwendet die Standardkonfiguration von Apache Kafka, wenn im Folgenden nichts anderes angegeben wird:  

Replikationsfaktor

Cluster-Standard

Min.Insync.Replicas

2

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. P-Adressen Ihrer VPCs sind über elastische Netzwerkschnittstellen (ENIs) mit Ihren Amazon MSK-Ressourcen verbunden, und der gesamte Netzwerkverkehr bleibt im AWS-Netzwerk und ist nicht über das Internet zugänglich.
 
F: Ist die Verbindung zwischen meinen Clients und einem Amazon MSK-Cluster immer privat?
Ja, die einzige Möglichkeit, Daten aus einem Amazon MSK-Cluster zu produzieren und zu konsumieren, besteht über eine private Verbindung zwischen den Clients in Ihrer VPC und dem Amazon MSK-Cluster. Amazon MSK unterstützt keine öffentlichen Endpunkte.

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 elastische Netzwerkschnittstellen (ENIs) zugänglich gemacht, die in Ihrem Konto erscheinen. Die Sicherheitsgruppen auf den ENIs bestimmen die Quelle und Art des Ein- und Ausgangsverkehrs, der auf Ihren Brokern zulässig ist.

F: Wie kann ich Clients, die in verschiedenen AWS-Konten betrieben werden, Zugriff auf meinen Cluster gewähren?
Sie können VPC-Peering verwenden, um Clients, die in verschiedenen AWS-Konten betrieben werden, Zugriff auf Ihren Cluster zu gewähren.

Verschlüsselung

F: Kann ich in meinem Amazon MSK-Cluster Daten verschlüsseln?
Ja, Amazon MSK verwendet die serverseitige Amazon EBS-Verschlüsselung und AWS KMS-Schlüssel zur Verschlüsselung von Speichervolumes.

F: Werden die Daten über die Leitung verschlüsselt, während sie zwischen den Brokern in einem Amazon MSK-Cluster ausgetauscht werden?
Nein, derzeit nicht.
 
F: Werden die Daten über die Leitung verschlüsselt, während sie zwischen den Brokern und Apache Zookeper-Knoten in einem Amazon MSK-Cluster ausgetauscht werden?
Nein, derzeit nicht.
 
F: Kann ich Daten über die Leitung zwischen meinen Apache Kafka-Clients und dem Amazon MSK-Service verschlüsseln?
Nein, derzeit nicht.

Überwachung, Metriken, Protokolle

F: Wie überwache ich die Leistung meiner Cluster oder Themen?
Sie können die Leistung Ihrer Cluster mithilfe von Standardmetriken überwachen, und Sie können die Leistung Ihrer Themen mit Hilfe von erweiterten Metriken in der Amazon CloudWatch-Konsole überwachen.
 
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.

Apache Zookeeper

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 Gruppendiensten. 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 und verwaltet Apache Zookeeper innerhalb jedes Clusters als Teil des Amazon MSK-Service. Apache Zookeeper-Knoten sind in jedem Cluster ohne zusätzliche Kosten enthalten.
 
F: Wie interagieren meine Clients mit Apache Zookeeper?
Ihre Clients können mit Apache Zookeeper über einen Apache Zookeeper-Endpunkt interagieren, der vom Service bereitgestellt wird. Dieser Endpunkt wird in der AWS-Verwaltungskonsole oder über die DescribeCluster-API bereitgestellt.

Integrationen

F: Mit welchen AWS-Services ist Amazon MSK integriert?
Amazon MSK ist mit folgenden Services integriert:

Skalierung

F: Wie kann ich meinen Cluster vergrößern?
Die Skalierung eines vorhandenen Clusters wird während des Zeitraums, in dem nur die Vorversion von Amazon MSK verfügbar ist, nicht unterstützt.

Preise und Verfügbarkeit

F: Wie sieht die Preisgestaltung von Amazon MSK aus?
Die Preise werden pro Apache Kafka Broker-Stunde und pro bereitgestellter Speicherstunde berechnet. Die AWS-Datenübertragungstarife gelten für den Datentransfer in und aus Amazon MSK. Auf unserer Seite mit Preisen finden Sie entsprechende Informationen hierzu.

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 Regionen bieten Amazon MSK an?
Die Vorversion von Amazon MSK ist in der AWS-Region USA Ost (Nord-Virginia) verfügbar.

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.

Erste Schritte mit Amazon MSK

Product-Page_Standard-Icons_01_Product-Features_SqInk
Kosten berechnen

Zur Seite mit den Preisen für Amazon MSK

Product-Page_Standard-Icons_01_Product-Features_SqInk
Lesen Sie das Handbuch „Erste Schritte“

In dieser Schritt-für-Schritt-Anleitung erfahren Sie, wie Sie Ihren Apache Kafka-Cluster auf Amazon MSK einrichten können.

Product-Page_Standard-Icons_03_Start-Building_SqInk
Führen Sie Ihren Apache Kafka-Cluster aus.

Führen Sie Ihren Apache Kafka-Cluster jetzt auf Amazon MSK aus. Melden Sie sich bei der Amazon MSK-Konsole an.