Allgemeines
Amazon MSK ist ein neuer AWS-Streaming-Datendienst, der die Apache Kafka-Infrastruktur und den Apache Kafka-Betrieb verwaltet. Entwickler und DevOps-Manager können Apache Kafka-Anwendungen auf AWS problemlos ausführen, ohne Experten für den Betrieb von Apache Kafka-Clustern zu werden. 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.
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.
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 oder raumbezogene Daten 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 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.
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.
Mit Amazon MSK ist es einfach, Open-Source-Versionen von Apache Kafka in AWS mit hoher Verfügbarkeit und Sicherheit zu starten und gleichzeitig die Integration mit AWS-Diensten zu ermöglichen, ohne dass ein Apache Kafka-Cluster ausgeführt werden muss. 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.
Die unterstützten Kafka-Versionen sind in der Amazon MSK-Dokumentation aufgeführt.
Ja, alle Datenebenen- und Admin-APIs werden von Amazon MSK nativ unterstützt.
Ja.
Datenproduktion und -konsum
Migration zu Amazon MSK
Versionsupgrades
Cluster
Jeder Cluster enthält Broker-Instances, bereitgestellten Speicher und Apache ZooKeeper-Knoten.
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?
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 Cluster anwenden. Benutzerdefinierte Konfigurationen können mit der AWS-CLI oder -Konsole erstellt werden. Die Unterstützung für benutzerdefinierte Konfigurationen für vorhandene Cluster wird ab Juni 2019 verfügbar sein.
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 im Folgenden nichts anderes angegeben wird:
Replikationsfaktor |
Cluster-Standard |
Min.Insync.Replicas |
2 |
Themen
Netzwerk
Mit der VPC verbinden
Q: Wie verbinde ich mich mit meinem AWS MSK-Cluster außerhalb der VPC?
Es gibt verschiedene Methoden, um eine Verbindung zu Ihren AWS MSK-Clustern außerhalb Ihrer VPC herzustellen.
- VPN: https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html
- VPC Peering: https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html
- VPC Transit Gateway: https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html
- AWS Direct Connect: https://aws.amazon.com/directconnect/
- REST-Proxy: Ein REST-Proxy kann auf einer Instanz installiert werden, die in Ihrer VPC ausgeführt wird. Mit REST-Proxys können Ihre Produzenten und Konsumenten über HTTP-API-Anforderungen mit dem Cluster kommunizieren.
Verschlüsselung
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. Sie können die Verwendung der Verschlüsselung während der Übertragung deaktivieren, wenn ein Cluster erstellt wird.
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-Konsole erstellte Cluster auf TLS eingestellt. Für Clients ist zur Kommunikation mit Clustern, welche die TLS-Verschlüsselung nutzen, weitere Konfiguration erforderlich. Sie können die Standardverschlüsselungseinstellung durch Auswahl der TLS/Klartext- oder Klartext-Einstellungen ändern. Weitere Informationen: MSK-Verschlüsselung
F: Werden Daten während der Übertragung zwischen Brokern und Apache ZooKeeper-Knoten in einem Amazon MSK-Cluster verschlüsselt?
Nein, die mit Apache Kafka gelieferte Standardversion von Apache Zookeeper unterstützt keine Verschlüsselung. Beachten Sie jedoch, dass die Kommunikation zwischen Apache Zookeeper und Apache Kafka-Brokern auf Informationen zu Brokern, Themen und Partitionsstatus beschränkt ist.
Authentifizierung und Autorisierung
F: Wie kann ich den Konnektivitätsbereich auf einen Amazon MSK-Cluster für mehrere Clients in meiner VPC einschränken?
Amazon MSK unterstützt die TLS-basierte Authentifizierung. Mit dieser Funktion können Sie Clientverbindungen zu einem Amazon MSK-Cluster authentifizieren. Mit Amazon MSK können Sie private Zertifizierungsstellen innerhalb des AWS Certificate Manager-Dienstes in einem MSK-Cluster bereitstellen. Wenn die TLS-Clientauthentifizierung aktiviert ist, können sich nur Clients mit TLS-Zertifikaten, die von zuvor geladenen privaten Zertifizierungsstellen generiert wurden, beim Cluster authentifizieren.
F: Wie funktioniert die Autorisierung in Amazon MSK?
Apache Kafka verwendet Zugriffssteuerungslisten (ACLs) für die Autorisierung und Amazon MSK unterstützt die Verwendung von ACLs. Um ACLs zu aktivieren, müssen Sie die Clientauthentifizierung mithilfe von TLS aktivieren.
F: Wie kann ich einen Client gleichzeitig authentifizieren und autorisieren?
Amazon MSK-Kunden, die die Client-TLS-Authentifizierung verwenden, können den D-Namen von Client-TLS-Zertifikaten als Prinzipal der ACL verwenden, um Client-Anforderungen zu authentifizieren und zu autorisieren.
Überwachung, Metriken, Protokolle, Tagging
Ja, Sie können Amazon MSK-Cluster über die AWS-CLI oder -Konsole kennzeichnen.
Der Verbraucher-Lag innerhalb Ihres Amazon MSK-Clusters kann mithilfe von Verbraucher-Lag-Tools wie Burrow von LinkedIn überwacht werden: https://github.com/linkedin/Burrow
Apache ZooKeeper
Integrationen
- Amazon VPC für Netzwerkisolierung und Sicherheit
- Amazon CloudWatch für Metriken
- Amazon KMS für die Verschlüsselung von Speichervolumes
- Amazon IAM für die Authentifizierung von Cluster-APIs
- 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 über Code
Skalierung
Ja. Sie können die Anzahl der Broker für bestehende Amazon MSK-Cluster nach unten oder oben skalieren.
Nein. Die Skalierung der Instance-Größe von Brokern in einem vorhandenen Cluster wird derzeit von Amazon MSK nicht unterstützt, ist aber für die Zukunft geplant.
Preise und Verfügbarkeit
F: Bezahle ich für die Datenübertragung infolge einer Datenreplikation?
Compliance
F: Ist Amazon MSK für HIPAA qualifiziert?
Ja. Amazon MSK ist HIPAA-fähig. Eine vollständige Liste der AWS-Services und Compliance-Programme finden Sie auf der Webseite AWS-Services in Scope nach Compliance-Programm.
Service Level Agreement
Erste Schritte mit 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.