Amazon Managed Streaming für Apache Kafka – Features

Warum Amazon MSK?

Amazon Managed Streaming für Apache Kafka (Amazon MSK) bietet vollständig verwaltetes Apache Kafka, Kafka Connect und Amazon MSK Replicator. Apache Kafka ist ein verteilter Datenspeicher, der für die Erfassung und Verarbeitung von Streaming-Daten in Echtzeit optimiert ist. Amazon MSK stellt Ihre Cluster-Infrastruktur bereit, konfiguriert Ihre Apache Kafka-Cluster, ersetzt Server, wenn sie ausfallen, koordiniert Server-Patches und -Upgrades, entwirft Cluster für hohe Verfügbarkeit, stellt sicher, dass Daten dauerhaft gespeichert und gesichert werden, richtet Überwachung und Alarme ein und skaliert, um Laständerungen zu unterstützen. Mit Amazon MSK können Sie mehr Zeit damit verbringen, Anwendungen für das Streaming von Ereignissen zu entwickeln und auszuführen, als Ihre Apache Kafka-Cluster zu verwalten.

Vogelperspektive auf die Straße

Skalierbare Integration

Amazon MSK ist das Integrations-Backbone für moderne Messaging- und ereignisgesteuerte Anwendungen, die im Mittelpunkt von Datenerfassungs- und -verarbeitungsservices sowie Microservice-Anwendungsarchitekturen stehen. Es gibt mehrere Möglichkeiten, sich mit anderen Systemen zu integrieren, darunter eine Vielzahl anderer AWS-Services, die die Anwendungsentwicklung einfacher und schneller machen. Sie können Ihren eigenen Konnektor mitbringen und ihn über Amazon MSK Connect in einer vollständig verwalteten Infrastruktur bereitstellen. Alternativ können Sie aus einer ständig wachsenden Liste nativer Integrationen mit anderen AWS-Services wie Amazon S3, Amazon Redshift, Amazon Managed Service für Apache Flink und AWS Lambda wählen. Amazon MSK lässt sich auch in AWS Identity and Access Management (IAM), AWS Certificate Manager (ACM) und AWS Key Management Service (AWS KMS) integrieren, um einen sicheren, authentifizierten und autorisierten Zugriff auf Ihre Daten zu ermöglichen. Sie haben auch die Möglichkeit, die Schemagovernance über AWS Glue Schema Registry durchzusetzen.

Stadtbild

Kompatibel mit Apache Kafka

Amazon MSK unterstützt alle Features von Apache Kafka sofort und stellt neuere Versionen von Apache Kafka innerhalb weniger Wochen nach der öffentlichen Verfügbarkeit bereit.

Amazon MSK ist vollständig kompatibel mit dem Open-Source-Client-Protokoll von Apache Kafka, sodass für Apache Kafka entwickelte Anwendungen und Tools ohne Änderungen am Anwendungscode sofort mit Amazon MSK funktionieren.

Sie können Apache Kafka-Versionen auf bereitgestellten Clustern in nur wenigen Schritten aktualisieren und so selbst entscheiden, wann Sie die in neuen Apache Kafka-Versionen enthaltenen Features und Fehlerbehebungen nutzen möchten. Amazon MSK automatisiert die Bereitstellung von Versions-Upgrades auf laufenden Clustern, um die E/A-Verfügbarkeit für Sie aufrechtzuerhalten.

Wählen Sie Ihren eigenen Clustertyp

Amazon MSK Provisioned bietet eine detaillierte Kontrolle über Ihren Apache Kafka-Cluster. Sie können Ihren Brokertyp auswählen, Server-Instances vorab bereitstellen, den gewünschten Speichertyp auswählen und die gewünschte Apache Kafka-Version auswählen. Sie können auch festlegen, wann und um wie viel Sie Ihre Cluster als Reaktion auf Schwankungen des Workloads skalieren möchten.

Amazon MSK Serverless verwaltet Ihren Apache Kafka-Cluster vollständig, sodass Sie nicht abschätzen müssen, wie viel Kapazität Sie für Ihren Workload benötigen, oder entscheiden müssen, wann Sie ihn als Reaktion auf Änderungen im Datenverkehr skalieren müssen.

Keine Server zu verwalten

Unabhängig davon, für welchen Clustertyp Sie sich entscheiden, können Sie mit wenigen Schritten in der AWS-Managementkonsole einen vollständig verwalteten Cluster erstellen, der hochverfügbar und sicher ist und durch die fortschrittlichen Überwachungs- und Erkennungssysteme von Amazon MSK unterstützt wird, die automatisch den Betriebszustand Ihres Clusters aufrechterhalten.

Apache Kafka verwendet entweder Apache Kafka Raft (KRaft) oder Apache ZooKeeper für die Metadatenverwaltung. Amazon MSK ermöglicht Ihnen die Erstellung von Clustern in beiden Modi auf unterstützten Apache Kafka-Versionen. Amazon MSK verwaltet diese zusätzlichen Metadatenknoten auch ohne zusätzliche Kosten für Sie.

Mehrere Brokertypen

Express-Broker sind eine Art von Broker, die im Rahmen von MSK Provisioned angeboten werden. Express-Broker machen Apache Kafka einfacher zu verwalten, kostengünstiger in der Ausführung in großem Maßstab und elastischer, und das bei der gewohnt niedrigen Latenz. Express-Broker bieten eine praktisch unbegrenzte und elastische Speicherkapazität, die keinen Verwaltungsaufwand erfordert, bis zu dreimal mehr Durchsatz pro Broker und eine bis zu 20-mal schnellere Skalierung. Sie können auch bis zu 90 % schneller wiederherstellen als Standard-Apache-Kafka-Broker in Amazon Managed Streaming Services für Apache Kafka (Amazon MSK).

Standard-Broker unter MSK-Bereitstellung bieten die größte Flexibilität bei der Konfiguration der Leistung Ihres Clusters. Sie können aus einer Vielzahl von Konfigurationen im Cluster auswählen, um die Dimensionen anzupassen, einschließlich Verfügbarkeit, Haltbarkeit, Durchsatz und Latenz. Bei Standard-Brokern steuern Sie auch die Speicherkonfigurationen in Ihrem Cluster und sind für die Verwaltung der Speicherbereitstellung und -nutzung verantwortlich.

Speicheroptionen

Express-Broker bieten eine praktisch unbegrenzte und elastische Speicherkapazität, die keine Größenanpassung, Bereitstellung oder fortlaufende Kapazitätsverwaltung erfordert. Die Speicherkapazität skaliert automatisch, um Ihren Datenaufbewahrungsanforderungen gerecht zu werden, und Sie zahlen nur für den Speicher, den Sie nutzen.

Mit dem mehrstufigen Speicher können Sie praktisch unbegrenzte Datenmengen in Amazon MSK speichern, ohne Speicherkapazität bereitstellen und verwalten zu müssen. Sie können den mehrstufigen Speicher in wenigen Schritten für vorhandene Cluster aktivieren und zahlen nur für das, was Sie nutzen. Sie können Daten zunächst in einer leistungsoptimierten primären Speicherebene speichern und dann Amazon MSK die Daten automatisch in die kostengünstigere Ebene verschieben lassen, um sie länger aufzubewahren. Das Feature wird in allen AWS-Regionen unterstützt, in denen Amazon MSK verfügbar ist. Informationen zu den ersten Schritten mit mehrstufigem Speicher finden Sie im Amazon MSK Developer Guide.

Sehr belastbar

Alle Cluster sind über mehrere Verfügbarkeitszonen verteilt (drei sind der Standard), und Amazon MSK bietet die Replikation von Daten über diese Verfügbarkeitszonen hinweg ohne zusätzliche Kosten an. Die Verfügbarkeit Ihres Clusters wird auch durch die Amazon MSK Service Level Agreement abgesichert, die eine Verfügbarkeit von drei 9ern garantiert.

Amazon MSK verfügt über automatisierte Systeme, die Probleme schnell erkennen und darauf reagieren. Wenn eine Komponente ausfällt, ersetzt Amazon MSK sie automatisch und ohne Ausfallzeiten für Ihre Anwendungen. Wir stellen außerdem bei Bedarf automatisch Software-Patches bereit, um Ihren Cluster auf dem neuesten Stand zu halten und einen reibungslosen Betrieb zu gewährleisten.

Amazon MSK Serverless und Express Broker in MSK Provisioned setzen Best-Practice-Konfigurationen wie die Drei-Wege-Replikation durch und reservieren Bandbreite für Hintergrundvorgänge wie Replikation und Wiederherstellung, sodass Sie die Verfügbarkeit Ihrer Cluster-Ressourcen leichter vorhersagen können.

Mit Amazon MSK Replicator können Sie eine kontinuierliche Datenreplikation in einem sekundären Backup-Cluster in einer anderen Region einrichten und so hochverfügbare und fehlertolerante Anwendungen in mehreren Regionen für eine höhere Ausfallsicherheit erstellen. Sie können MSK Replicator auch verwenden, um in verschiedenen geografischen Regionen mit geringerer Latenz auf Daten zuzugreifen oder um Daten an Ihre Partner zu verteilen.

Sehr sicher

Ihr Apache Kafka-Cluster wird in einer Amazon Virtual Private Cloud (Amazon VPC) ausgeführt, die von Amazon MSK verwaltet wird. Kafka-Clients in Ihrer eigenen Amazon VPC können über eine Elastic Network Interface (ENI) mit mehreren Konten, die Amazon MSK in Ihrer VPC bereitstellt, privat auf den Cluster zugreifen. Wenn Ihre Kafka-Clients über eine oder mehrere VPCs oder AWS-Konten verteilt sind, können Sie dennoch eine private Verbindung zu Ihrem Cluster herstellen, indem Sie das Multi-VPC-Feature für private Konnektivität verwenden. Dieses Feature beseitigt den betrieblichen Aufwand für die Selbstverwaltung einer AWS PrivateLink-Lösung und skaliert nahtlos mit dem Amazon MSK-Cluster, sodass Sie die private Konnektivität zum Cluster aufrechterhalten können, ohne zusätzliche Konfigurationsänderungen vornehmen zu müssen. Die private Multi-VPC-Konnektivität beseitigt auch die Herausforderungen bei der Verwaltung nicht überlappender IPs, komplexer Peering- und Routing-Tabellen, die mit anderen VPC-Konnektivitätslösungen verbunden sind.  Das Feature „private Multi-VPC-Konnektivität“ ermöglicht überlappende IPs über verbundene VPCs hinweg.

IAM-Zugriffskontrolle ist eine kostenlose Sicherheitsoption, die die Cluster-Authentifizierung und die Autorisierung der Apache Kafka-API mithilfe von IAM-Rollen oder Benutzerrichtlinien zur Zugriffssteuerung vereinfacht. Mit der IAM-Zugriffskontrolle müssen Sie keine einmaligen Zugriffsverwaltungssysteme mehr erstellen und ausführen, um die Client-Authentifizierung und -Autorisierung für Apache Kafka zu steuern. Ihre Cluster sind standardmäßig mit Berechtigungen mit geringsten Berechtigungen gesichert. Für bereitgestellte Cluster können Sie auch Simple Authentication and Security Layer (SASL) / Salted Challenge Response Authentication Mechanism (SCRAM) oder gegenseitige Transport Layer Security (TLS)-Authentifizierung mit Apache-Kafka-Zugangskontrolllisten (ACLs) verwenden, um den Client-Zugriff zu steuern.

Amazon MSK verschlüsselt Ihre Daten im Ruhezustand ohne spezielle Konfiguration oder Tools von Drittanbietern. Bei bereitgestellten Clustern können alle Daten im Ruhezustand standardmäßig mit einem AWS KMS-Schlüssel oder Ihrem eigenen Schlüssel verschlüsselt werden. Sie können Daten auch während der Übertragung über TLS zwischen Brokern und zwischen Clients und Brokern in Ihrem Cluster verschlüsseln. Bei Serverless-Clustern werden alle Daten im Ruhezustand standardmäßig mit vom Service verwalteten Schlüsseln verschlüsselt und alle Daten während der Übertragung standardmäßig über TLS.

Amazon MSK bietet die Option, über das Internet eine sichere Verbindung mit den Brokern von Amazon-MSK-Clustern herzustellen, auf denen Apache Kafka 2.6.0 oder höher ausgeführt wird. Durch die Aktivierung des öffentlichen Zugriffs können autorisierte Kunden außerhalb einer privaten Amazon VPC verschlüsselte Daten in und aus bestimmten Amazon MSK-Clustern streamen.

Skalierbar

Sie können Ihre bereitgestellten MSK-Cluster skalieren, indem Sie innerhalb weniger Minuten und ohne Ausfallzeiten weitere Broker hinzufügen oder zu einer größeren Broker-Instance wechseln. Ebenso können Sie Ihre Clusterkapazität verringern, indem Sie Broker entfernen oder zu einer kleineren Broker-Instance wechseln.

Amazon MSK Serverless-Cluster passen die für Ihre Workloads verfügbaren Rechen- und Speicherressourcen automatisch an die Anforderungen Ihres Anwendungsdurchsatzes an.

Amazon MSK lässt sich in Cruise Control integrieren, ein beliebtes Open-Source-Tool für Apache Kafka, das Partitionszuweisungen automatisch für Sie verwaltet. Bei Serverless Clustern verwaltet Amazon MSK die Partitionszuweisungen automatisch für Sie.

Sie können die Menge des bereitgestellten Speichers pro Broker nahtlos hochskalieren, um Änderungen des Speicherbedarfs über die AWS.Managementkonsole oder die AWS Command Line Interface (AWS CLI) zu berücksichtigen. Sie können auch eine Richtlinie zur automatischen Skalierung erstellen, um den Speicherplatz automatisch zu erweitern, wenn die Streaming-Anforderungen steigen.

Konfigurierbar

Mit Amazon MSK können Sie wählen, wie konfigurierbar Ihre Cluster sein sollen. Express-Broker sind mit den von Amazon MSK empfohlenen Best-Practice-Standardeinstellungen vorkonfiguriert. Dies bietet eine optimale Verfügbarkeit, Haltbarkeit und Durchsatzleistung. Sie können ausgewählte Konfigurationen an die spezifischen Anforderungen Ihres Workloads anpassen. Standard-Broker bieten Ihnen hingegen die Flexibilität, mehr als 30 verschiedene Clusterkonfigurationen zu ändern. So können Sie die Verfügbarkeit, das Preis-Leistungs-Verhältnis und das allgemeine Verhalten des Clusters genau an Ihre Anforderungen anpassen. Sie können auch auf die gesamte Palette der dynamischen und themenbezogenen Konfigurationen von Kafka zugreifen, um Ihre Erfahrung weiter zu verfeinern. Weitere Informationen finden Sie in der Dokumentation zu benutzerdefinierten MSK-Konfigurationen.

Beobachtbar

Sie können wichtige Metriken mit CloudWatch visualisieren und überwachen, um die Leistung von Streaming-Anwendungen zu verstehen und aufrechtzuerhalten. Ein Standardsatz von über 50 Metriken ist ohne zusätzliche Kosten verfügbar. Sie können auch eine erweiterte Überwachung auf Broker- und Themenebene aktivieren, um bestimmte Probleme zu beheben. Erweiterte Metriken werden zu den Standardtarifen von CloudWatch abgerechnet.

Mit der offenen Überwachung mit Prometheus können Sie Amazon MSK mithilfe von Lösungen wie Datadog, Lenses, New Relic, Sumo Logic oder einem Prometheus-Server überwachen und Ihre vorhandenen Überwachungs-Dashboards einfach zu Amazon MSK migrieren. Weitere Informationen finden Sie in der Dokumentation Open monitoring with Prometheus.

Broker-Protokolle ermöglichen es Ihnen, Fehler in Ihren Apache-Kafka-Anwendungen zu beheben und deren Kommunikation mit Ihrem MSK-Cluster zu analysieren. Sie können Apache-Kafka-Broker-Protokolle an einen oder mehrere der folgenden Zieltyp(en) senden: Amazon CloudWatch Logs, Amazon Simple Storage Service (Amazon S3) und Amazon Data Firehose. Sie können auch Amazon-MSK-API-Aufrufe mit AWS CloudTrail protokollieren.

Tiefe Integration

Wir bieten eine Vielzahl von AWS-Integrationen in Amazon MSK an. Diese Integrationen umfassen Folgendes: