Managed Service for Apache Kafka – Übersicht

Managed Service for Apache Kafka ist ein Google Cloud Dienst, mit dem Sie sichere, skalierbare Open-Source-Apache Kafka-Cluster ausführen können. Auf dieser Seite finden Sie einen Überblick darüber, was der Dienst für Sie automatisiert und vereinfacht. Weitere Informationen zu Apache Kafka finden Sie auf der Apache Kafka-Website.

Einfache Größenanpassung und Skalierung

Wenn Sie einen Managed Service for Apache Kafka-Cluster erstellen, geben Sie die Gesamtzahl der vCPUs und den Arbeitsspeicher für den Cluster an. Der Dienst stellt automatisch eine Anzahl von Brokern basierend auf der Anzahl der vCPUs bereit.

Um den Anforderungen von Clients gerecht zu werden, können Sie die Ressourcennutzung überwachen und Ihren Cluster bei Bedarf skalieren, indem Sie die Anzahl der vCPUs und den Arbeitsspeicher aktualisieren. Beim Hochskalieren eines Clusters können zusätzliche Broker bereitgestellt werden. Wenn für die Erhöhung der Clustergröße ein neuer Broker erforderlich ist, kann der Dienst Partitionen automatisch auf Broker neu verteilen.

Informationen zur Auswahl einer Clustergröße finden Sie unter Größe des Kafka-Clusters planen.

Speicherverwaltung

Managed Service for Apache Kafka verwendet Tiered Storage. Beim mehrstufigen Speicher werden zwei Speicherebenen kombiniert:

  • Eine begrenzte Menge an schnellem lokalen Speicher in Form von vorab bereitgestellten Laufwerken, die an die Broker angehängt sind.
  • Praktisch unbegrenzter Remotespeicher. Remotespeicher ist kostengünstiger und muss nicht vorab bereitgestellt werden.

Mit dem mehrstufigen Speichersystem können Sie große Datenmengen speichern, ohne dass das Risiko besteht, dass der Speicherplatz ausgeht. Außerdem kann es weniger kosten als die alleinige Verwendung von lokalem Speicher.

Sie sind dafür verantwortlich, die Aufbewahrungsdauer für einzelne Themen festzulegen, um die Kosten zu kontrollieren oder Ihre Richtlinien zur Datenaufbewahrung zu erfüllen.

Flexibles Netzwerk

Der Dienst macht einen Cluster sicher von jeder VPC aus zugänglich. Dazu gehört der Zugriff über mehrere VPCs, Projekte und Regionen hinweg.

Um das Netzwerk für einen Cluster zu konfigurieren, geben Sie die Subnetze an, in denen der Cluster zugänglich ist. Der Dienst stellt private IP-Adressen für die Bootstrap-Server und Broker in jedem Subnetz bereit. Außerdem wird privates Cloud DNS mit URLs für jede IP-Adresse eingerichtet. Die Bootstrap-Server haben einen Load Balancer, sodass es pro Cluster eine einzelne Bootstrap-URL gibt. Die URLs sind in allen VPCs gleich, sodass Clientkonfigurationen in allen Umgebungen einheitlich sein können.

Diese Flexibilität wird durch Private Service Connect (PSC) erreicht. Für jede IP-Adresse, die einem Cluster zugewiesen ist, ist ein PSC-Endpunkt erforderlich. Die Endpunkte werden automatisch bereitgestellt.

Cluster sichern

Der Dienst bietet die folgenden Funktionen für die Sicherheit der Cluster: Authentifizierung, Autorisierung, Verschlüsselung, Patchen und Ressourcenisolation. Außerdem werden nicht authentifizierte und unverschlüsselte Verbindungen und Speicher nicht zugelassen.

Authentifizierung

Der Dienst unterstützt zwei Authentifizierungsmethoden: Simple Authentication and Security Layer (SASL) und gegenseitiges TLS (mTLS). Die mTLS-Authentifizierung ist für Cluster verfügbar, die nach dem 24. Juni 2025 erstellt wurden. Alle Verbindungen zu verwalteten Clustern werden mit einem Hauptkonto authentifiziert, das eine IAM-Identität mit SASL oder ein Clientzertifikat mit mTLS ist. Bei Verwendung von SASL werden Nutzerkonten, Dienstkonten und föderierte Konten als Hauptkonten unterstützt.

Der Dienst unterstützt keine anderen Protokolle, einschließlich SASL/GSSAPI, SASL/SCRAM-SHA-256 und SASL/SCRAM-SHA-512. Der Dienst lässt auch keine nicht authentifizierten Verbindungen zu.

Autorisierung

Der Dienst verwendet einen mehrschichtigen Ansatz für die Autorisierung. IAM steuert Clusterverwaltungsaktionen wie das Erstellen, Aktualisieren und Löschen von Ressourcen. Die Autorisierung für authentifizierte Hauptkonten hängt von der verwendeten Methode ab:

  • SASL: Hauptkonten, die IAM verwenden, werden überGoogle Cloud IAM-Rollenbindungen oder mit Kafka-ACLs im Cluster autorisiert. Weitere Informationen finden Sie unter SASL-Authentifizierung konfigurieren.

  • mTLS: Mit mTLS authentifizierte Principals werden über Kafka-ACLs autorisiert. Weitere Informationen finden Sie unter mTLS-Authentifizierung konfigurieren.

Sie können Kafka-ACLs mit den Google Cloud Tools oder Kafka-Tools von Drittanbietern verwalten. Weitere Informationen zum Konfigurieren von IAM und Kafka-ACLs finden Sie unter Zugriffssteuerung mit IAM und Kafka-ACLs.

Verschlüsselung

Verschlüsselung ist erforderlich. Alle Verbindungen zu Clustern müssen TLS verwenden. Die von den Brokern präsentierten TLS-Zertifikate sind von der Public Certificate Authority signiert. Gespeicherte Daten werden immer verschlüsselt. Wählen Sie aus, ob Sie von Google verwaltete oder kundenverwaltete Verschlüsselungsschlüssel (CMEK) für die Verschlüsselung ruhender Daten verwenden möchten.

Patchen

Das Serviceteam verfolgt Sicherheitslücken, die im Open-Source-Code entdeckt wurden. Wenn der Dienst Sicherheitslücken erkennt, werden Ihre Cluster automatisch gepatcht.

Ressourcenisolation

Eine weitere Sicherheitsfunktion des Dienstes ist die Ressourcenisolation. Der verwaltete Dienst stellt Cluster in Mandantenprojekten in einer privaten VPC bereit, auf die nicht über öffentliche IP-Adressen zugegriffen werden kann. Jedes Ihrer Projekte hat ein eigenes Mandantenprojekt mit einem eigenen Dienst-Agent-Konto. So wird der Umfang des Zugriffs, der dem Dienst gewährt wird, eingeschränkt.

Schema-Registry

Um die Koordination zwischen Erstellern und Nutzern zu vereinfachen, enthält Managed Service for Apache Kafka eine Schema-Registry-API. Eine vom Dienst bereitgestellte Registry dient als Repository für Schemas, die von Anwendungen gemeinsam genutzt werden.

Der Dienst implementiert die Confluent Schema Registry REST API, die die Integration in bestehende Kafka-Anwendungen erleichtert. Die Schemaformate Apache Avro und Protocol Buffer (Protobuf) werden unterstützt. JSON wird nicht unterstützt.

Managed Service for Apache Kafka bietet außerdem eine Verwaltungs-API und ein Toolset zum Verwalten von Schema-Registries und Schemas. Das Toolset umfasst dieGoogle Cloud -Konsole, die gcloud CLI und Clientbibliotheken.

Weitere Informationen zur Schemaregistrierung finden Sie unter Schemaregistrierung – Übersicht.

Datenintegration mit Kafka Connect

Managed Service for Apache Kafka vereinfacht die Datenintegration über Kafka Connect. Kafka Connect bietet mehrere integrierte Connector-Plug‑ins, die in Connect-Clustern gehostet werden. Diese Connectors werden für Migration, Sicherung, Notfallwiederherstellung, Hochverfügbarkeit und Datenintegration verwendet. Mit diesen Connectors können Sie Ihre Managed Service for Apache Kafka-Cluster mit verschiedenen Systemen verbinden, darunter andere Kafka-Bereitstellungen und Google Cloud Dienste wie BigQuery, Cloud Storage und Pub/Sub. Kafka Connect bietet eine skalierbare, zuverlässige Datenintegration mit geringerem Betriebsaufwand sowie integriertem Monitoring und Logging.

Weitere Informationen zu Kafka Connect finden Sie in der Übersicht über Kafka Connect.

Cluster mit Hochverfügbarkeit

Ziel des Dienstes ist es, regionale Cluster für geschäftskritische Anwendungen bereitzustellen. Der Dienst schützt Sie vor Ausfällen einzelner Zonen oder Broker.

Dazu werden alle Cluster in einer rack-fähigen Konfiguration mit drei Zonen bereitgestellt. Für die Standardkonfiguration von Themen sind mindestens drei Replikate erforderlich. Durch die Rack-Awareness wird dafür gesorgt, dass Replikate in verschiedenen Zonen erstellt werden. Die standardmäßige Mindestanzahl synchronisierter Replikate ist zwei. Das bedeutet, dass Ihr Cluster den vollständigen Verlust einer Zone oder eines Brokers tolerieren kann.

Wenn ein Broker aufgrund eines Software-, Hardware- oder Netzwerkausfalls ausfällt, wird er automatisch ersetzt. Wenn der Dienst einen Brokerfehler erkennt, wird er automatisch neu gestartet, bei Bedarf auf einem anderen Computer. Sobald der Broker verfügbar ist, wird er von Apache Kafka in den Cluster eingebunden. Bei einem vollständigen Zonenausfall ist es möglicherweise nicht möglich, einen neuen Broker zu erstellen. Der Cluster wird jedoch weiter ausgeführt, solange die anderen beiden Zonen verfügbar bleiben.

Zusätzlich zu diesen spezifischen Funktionen wird der Dienst, der Apache Kafka-Code und die Updates durch eine wachsende Liste interner Tools und Prozesse proaktiv gewartet. Sicherungen von Daten und Metadaten werden auf mehreren Ebenen verwaltet, sodass der Dienst nach vielen menschlichen Fehlern und Softwarefehlern wiederhergestellt werden kann.

Der Dienst bietet keinen Schutz vor regionalen oder Dual-Zone-Ausfällen. Für Anwendungen, die dieses Schutzniveau erfordern, empfehlen wir, zwei separate regionale Cluster auszuführen. Sie können die Daten zwischen zwei Clustern mit Tools wie MirrorMaker 2.0 von Kafka Connect synchronisieren.

Tools für Ihren Verwaltungsstil

Der Dienst soll ein umfassendes Set an Tools für die Verwaltung und Fehlerbehebung von Clustern bieten. Dazu gehören Tools für die Verwaltung, das Monitoring und das Logging.

Der Managed Service for Apache Kafka wird als Google Cloud API bereitgestellt. Das bedeutet, dass Sie Cluster und Clusterressourcen mit REST- und gRPC-APIs verwalten können. Für diese APIs sind mehrere Clients und Schnittstellen verfügbar, darunter

  • Terraform-Anbieter, wenn Sie den Infrastructure-as-Code-Ansatz bevorzugen.
  • UI in der Google Cloud Console für die interaktive Arbeit in einem Browser.
  • Die gcloud CLI für die interaktive Arbeit in einer Shell.
  • Clientbibliotheken in Java, Python, Go und anderen Sprachen für die benutzerdefinierte Entwicklung und das Scripting.

Zur Überwachung und Fehlerbehebung exportiert der Dienst Messwerte nach Cloud Monitoring. Einige der Messwerte sind in der Benutzeroberfläche des Dienstes verfügbar. Ein vollständiger Satz ist in Cloud Monitoring für interaktive Arbeit, das Konfigurieren von Benachrichtigungen und den Export in andere Systeme verfügbar.

Der Dienst exportiert auch Broker-Logs nach Cloud Logging. Sie sind durchsuchbar und können zum Erstellen von logbasierten Messwerten und Benachrichtigungen verwendet werden.

Upgrades und Patches

Managed Service for Apache Kafka-Cluster werden mit Apache Kafka-Version 3.7.1 ausgeführt. Der Dienst patcht kritische Sicherheitslücken automatisch.

Updates der zugrunde liegenden Infrastruktur, einschließlich der Betriebs- und Orchestrierungsebenen, erfolgen kontinuierlich und automatisch. Broker werden mit einem rollierenden Neustart aktualisiert, ohne dass es zu Ausfallzeiten im Cluster kommt.

Der Dienst führt kein automatisches Upgrade des auf den Brokern ausgeführten Apache Kafka-Codes auf neue Nebenversionen durch.

Transparente Kosten

Das Preismodell für Managed Service for Apache Kafka ähnelt den Gebühren, die anfallen, wenn Sie Apache Kafka selbst in Compute Engine ausführen. Sie zahlen für die Ressourcen, die Sie bereitstellen (vCPU, RAM und lokaler Speicher) und nutzen (nichtflüchtiger Speicher und Datenübertragung). Die Kosten für nichtflüchtigen Speicher und vCPUs sind bei Managed Service for Apache Kafka höher als bei der Einrichtung eines ähnlichen Systems. Im Gegensatz dazu sind die Preise für Datenübertragung und lokalen Speicher bei Managed Service for Apache Kafka und selbstverwaltetem Kafka ähnlich. Weitere Informationen zu den Preisen finden Sie unter Preise für Managed Service for Apache Kafka.

Kompatibel, da wir Apache Kafka ausführen

Schließlich wird im Managed Service for Apache Kafka dieselbe Open-Source-Software ausgeführt, die Sie möglicherweise bereits in Ihrer Umgebung verwenden. Sie müssen Ihren Anwendungscode nicht ändern, um ihn zum Dienst zu migrieren.

Beschränkungen

Für Managed Service for Apache Kafka gelten die folgenden Einschränkungen:

  • Jeder Cluster muss in jeder der drei Zonen über die gleichen Ressourcen verfügen. Managed Service for Apache Kafka-Cluster mit einer oder zwei Zonen werden nicht unterstützt.

  • Sie können die Zonen beim Erstellen des Clusters nicht auswählen.

  • Sie können das Volumen des lokalen Speichers in einem Cluster nicht konfigurieren.

  • Managed Service for Apache Kafka wird im KRaft-Modus ausgeführt. Der Zookeeper-Modus wird nicht unterstützt.

  • JMX-APIs für Messwerte werden nicht unterstützt.

  • Sie können die Brokerkonfigurationen jederzeit mit dem read-only-Aktualisierungsmodus ändern. Diese Änderungen werden jedoch erst wirksam, wenn die Broker neu gestartet werden. Neustarts erfolgen regelmäßig im Rahmen der Wartungs- und Upgradeprozesse von Google. Es gibt jedoch keinen festgelegten Zeitplan und keine Möglichkeit, sie manuell auszulösen. Daher können Sie nicht steuern, wann diese Änderungen in Kraft treten. Beispiele für read-only-Konfigurationen sind auto.create.topics.enable und background.threads. Aktualisierungen von Konfigurationen mit dem Aktualisierungsmodus cluster-wide, z. B. message.max.bytes, erfordern keinen Neustart und werden sofort wirksam.

  • Einige Brokerkonfigurationsparameter werden vom Dienst verwaltet und können nicht aktualisiert werden. Dazu gehören broker.id und speicherbezogene Einstellungen wie remote.log.storage.system.enable.

Nächste Schritte

Apache Kafka® ist eine eingetragene Marke der Apache Software Foundation oder ihrer verbundenen Unternehmen in den USA und/oder anderen Ländern.