Managed Service per Apache Kafka è un Google Cloud servizio che ti aiuta a eseguire cluster Apache Kafka open source sicuri e scalabili. Questa pagina fornisce una panoramica di ciò che il servizio automatizza e semplifica per te. Per maggiori informazioni su Apache Kafka, visita il sito web di Apache Kafka.
Dimensionamento e scalabilità semplici
Quando crei un cluster Managed Service per Apache Kafka, specifichi il numero totale di vCPU e la memoria per il cluster. Il servizio esegue automaticamente il provisioning di un numero di broker in base al conteggio delle vCPU.
Per soddisfare le richieste dei clienti, puoi monitorare l'utilizzo delle risorse e, se necessario, scalare il cluster aggiornando il numero di vCPU e la memoria. L'aumento delle dimensioni di un cluster potrebbe comportare il provisioning di broker aggiuntivi. Se l'aumento delle dimensioni del cluster richiede un nuovo broker, il servizio può ribilanciare automaticamente le partizioni tra i broker.
Per informazioni sulla scelta delle dimensioni di un cluster, consulta Pianificare le dimensioni del cluster Kafka.
Gestione dell'archiviazione
Managed Service per Apache Kafka utilizza l'archiviazione a livelli. L'archiviazione a livelli combina due livelli di archiviazione:
- Una quantità limitata di spazio di archiviazione locale veloce, sotto forma di dischi di cui è stato eseguito il provisioning preliminare collegati ai broker.
- Spazio di archiviazione remoto praticamente illimitato. Lo spazio di archiviazione remoto è meno costoso e non deve essere sottoposto a provisioning preventivo.
Il sistema di archiviazione a livelli ti consente di archiviare grandi volumi di dati con un rischio minore di esaurire lo spazio su disco. Inoltre, può costare meno dell'utilizzo del solo spazio di archiviazione locale.
Sei responsabile dell'impostazione del tempo di conservazione per i singoli argomenti per controllare i costi o soddisfare le tue policy sulla conservazione dei dati.
Networking flessibile
Il servizio rende un cluster accessibile in modo sicuro da qualsiasi VPC. Ciò include l'accesso da più VPC, progetti e regioni.
Per configurare il networking per un cluster, fornisci l'insieme di subnet in cui il cluster è accessibile. Il servizio esegue il provisioning degli indirizzi IP privati per i server di bootstrap e i broker in ogni subnet. Configura anche Cloud DNS privato con URL per ogni indirizzo IP. I server bootstrap hanno un bilanciatore del carico, quindi esiste un solo URL bootstrap per cluster. Gli URL sono gli stessi in tutti i VPC, quindi le configurazioni client possono essere coerenti tra gli ambienti.
Questo livello di flessibilità è possibile grazie a Private Service Connect (PSC). Ogni indirizzo IP allocato per un cluster richiede un endpoint PSC. Gli endpoint vengono sottoposti a provisioning automaticamente.
Cluster sicuri
Il servizio offre le seguenti funzionalità per la sicurezza dei cluster: autenticazione, autorizzazione, crittografia, applicazione di patch e isolamento delle risorse. Inoltre, non consente connessioni e archiviazione non autenticate e non criptate.
Autenticazione
Il servizio supporta due metodi di autenticazione: Simple Authentication and Security Layer (SASL) e mutual TLS (mTLS). L'autenticazione mTLS è disponibile sui cluster creati dopo il 24 giugno 2025. Tutte le connessioni ai cluster gestiti vengono autenticate con un'entità che è un'identità IAM utilizzando SASL o un certificato client utilizzando mTLS. Gli account utente, di servizio e federati sono supportati come entità quando si utilizza SASL.
Il servizio non supporta altri protocolli, tra cui SASL/GSSAPI, SASL/SCRAM-SHA-256 e SASL/SCRAM-SHA-512. Il servizio non consente inoltre connessioni non autenticate.
Autorizzazione
Il servizio utilizza un approccio a più livelli per l'autorizzazione. IAM controlla le azioni di gestione del cluster, come la creazione, l'aggiornamento e l'eliminazione delle risorse. L'autorizzazione per le entità autenticate dipende dal metodo utilizzato:
SASL: le entità che utilizzano IAM vengono autorizzate tramite Google Cloud associazioni di ruoli IAM o con ACL Kafka sul cluster. Per saperne di più, consulta Configura l'autenticazione SASL.
mTLS: i principal che si autenticano con mTLS vengono autorizzati tramite le ACL Kafka. Per saperne di più, consulta Configura l'autenticazione mTLS.
Puoi gestire gli ACL Kafka con gli Google Cloud strumenti o con strumenti Kafka di terze parti. Per saperne di più sulla configurazione di IAM e degli ACL Kafka, consulta Controllo dell'accesso con IAM e ACL Kafka.
Crittografia
La crittografia è obbligatoria. Tutte le connessioni ai cluster devono utilizzare TLS. I certificati TLS presentati dai broker sono firmati dalla Public Certificate Authority. I dati archiviati sono sempre criptati. Scegli se utilizzare chiavi di crittografia gestite da Google o chiavi di crittografia gestite dal cliente (CMEK) per la crittografia at-rest.
Applicazione patch in corso…
Il team di assistenza tiene traccia delle vulnerabilità della sicurezza scoperte nel codice open source. Quando il servizio rileva vulnerabilità, applica automaticamente patch ai cluster.
Isolamento delle risorse
Un'altra funzionalità di sicurezza del servizio è l'isolamento delle risorse. Il servizio gestito esegue il deployment dei cluster nei progetti tenant in un VPC privato inaccessibile tramite indirizzi IP pubblici. Ciascuno dei tuoi progetti ha un progetto tenant dedicato, con un account agente di servizio dedicato. Ciò contribuisce a limitare l'ambito dell'accesso concesso al servizio.
Registro di schema
Per semplificare il coordinamento tra produttori e consumatori, Managed Service per Apache Kafka include un'API di registro degli schemi. Un registro fornito dal servizio funge da repository di schemi condivisi tra le applicazioni.
Il servizio implementa l'API REST Confluent Schema Registry, che facilita l'integrazione con le applicazioni Kafka esistenti. Sono supportati i formati di schema Apache Avro e Protocol Buffer (Protobuf). JSON non è supportato.
Managed Service per Apache Kafka offre anche un'API e un set di strumenti amministrativi per gestire i registri di schema e gli schemi. Il set di strumenti include la consoleGoogle Cloud , gcloud CLI e le librerie client.
Per saperne di più sul registro di schemi, consulta la panoramica del registro di schemi.
Integrazione dei dati con Kafka Connect
Managed Service per Apache Kafka semplifica l'integrazione dei dati tramite Kafka Connect. Kafka Connect offre diversi plug-in dei connettori incorporati ospitati nei cluster di connessione. Questi connettori vengono utilizzati per la migrazione, il backup, ripristino di emergenza, l'alta affidabilità e l'integrazione dei dati. Questi connettori ti consentono di connettere i cluster Managed Service per Apache Kafka a vari sistemi, inclusi altri deployment Kafka e Google Cloud servizi come BigQuery, Cloud Storage e Pub/Sub. Kafka Connect fornisce un'integrazione dei dati scalabile e affidabile con un overhead operativo inferiore e monitoraggio e logging integrati.
Per saperne di più su Kafka Connect, consulta la panoramica di Kafka Connect.
Cluster ad alta affidabilità
L'obiettivo del servizio è fornire cluster regionali per applicazioni mission critical. In particolare, il servizio ti protegge dai guasti di singole zone o singoli broker.
Per ottenere questo risultato, tutti i cluster vengono sottoposti a provisioning in una configurazione a tre zone compatibile con i rack. La configurazione predefinita dell'argomento richiede almeno tre repliche. La consapevolezza del rack assicura che le repliche vengano create in zone diverse. Il numero minimo predefinito di repliche sincronizzate è due. Ciò significa che il cluster può tollerare la perdita completa di una zona o di un broker.
Quando un broker non funziona a causa di un guasto al software, all'hardware o alla rete, viene sostituito automaticamente. Quando il servizio rileva un errore del broker, lo riavvia automaticamente, su una macchina diversa, se necessario. Una volta disponibile, Apache Kafka integra il broker nel cluster. Un errore completo della zona potrebbe rendere impossibile la creazione di un nuovo broker. Tuttavia, il cluster continua a funzionare finché le altre due zone rimangono disponibili.
Oltre a queste funzionalità specifiche, un elenco crescente di strumenti e processi interni mantiene in modo proattivo l'integrità del servizio, del codice Apache Kafka e degli aggiornamenti. I backup di dati e metadati vengono mantenuti a più livelli, consentendo al servizio di recuperare da molti errori umani e guasti software.
Il servizio non fornisce protezione da errori regionali o a due zone. Per le applicazioni che richiedono questo livello di protezione, consigliamo di eseguire due cluster regionali separati. Puoi sincronizzare i dati tra due cluster utilizzando strumenti come MirrorMaker 2.0 di Kafka Connect.
Strumenti per il tuo stile di amministrazione
Il servizio mira a offrire un insieme completo di strumenti per il tuo stile di gestione e risoluzione dei problemi dei cluster. Ciò include strumenti per l'amministrazione, il monitoraggio e la registrazione.
Managed Service per Apache Kafka è esposto come API Google Cloud. Ciò significa che puoi gestire i cluster e le risorse del cluster utilizzando le API REST e gRPC. Per queste API vengono forniti diversi client e interfacce, tra cui
- Provider Terraform se preferisci l'approccio Infrastructure as Code.
- UI nella console Google Cloud per il lavoro interattivo in un browser.
- gcloud CLI per il lavoro interattivo in una shell.
- Librerie client in Java, Python, Go e altri linguaggi per lo sviluppo e lo scripting personalizzati.
Per il monitoraggio e la risoluzione dei problemi, il servizio esporta le metriche in Cloud Monitoring. Alcune metriche sono disponibili nell'interfaccia utente del servizio. Un set completo è disponibile in Cloud Monitoring per il lavoro interattivo, la configurazione degli avvisi e l'esportazione in altri sistemi.
Il servizio esporta anche i log del broker in Cloud Logging. Questi sono ricercabili e possono essere utilizzati per creare metriche basate su log e avvisi.
Upgrade e patch
I cluster Managed Service per Apache Kafka vengono eseguiti sulla versione 3.7.1 di Apache Kafka. Il servizio applica automaticamente patch alle vulnerabilità di sicurezza critiche.
Gli aggiornamenti dell'infrastruttura sottostante, inclusi il sistema operativo e i livelli di orchestrazione, sono continui e automatici. I broker vengono aggiornati con un riavvio in sequenza, senza tempi di inattività per il cluster.
Il servizio non esegue automaticamente l'upgrade del codice Apache Kafka in esecuzione sui broker alle nuove versioni secondarie.
Costo trasparente
Il modello di prezzi per Managed Service per Apache Kafka è simile agli addebiti visualizzati quando esegui Apache Kafka autonomamente su Compute Engine. Paghi le risorse di cui esegui il provisioning (vCPU, RAM e spazio di archiviazione locale) e che utilizzi (spazio di archiviazione permanente e trasferimento di dati). L'archiviazione permanente e il costo delle vCPU sono più elevati con Managed Service per Apache Kafka rispetto alla configurazione autonoma di un sistema simile. Al contrario, i prezzi del trasferimento dei dati e dell'archiviazione locale sono simili tra Managed Service per Apache Kafka e Kafka autogestito. Per ulteriori informazioni sui prezzi, consulta Prezzi di Managed Service per Apache Kafka.
Compatibile perché eseguiamo Apache Kafka
Infine, Managed Service per Apache Kafka esegue lo stesso software open source che potresti già eseguire nel tuo ambiente. Non devi modificare il codice dell'applicazione per eseguirne la migrazione al servizio.
Limitazioni
Managed Service per Apache Kafka presenta le seguenti limitazioni:
Ogni cluster deve avere risorse uguali in ciascuna delle tre zone. I cluster Managed Service per Apache Kafka a una o due zone non sono supportati.
Non puoi scegliere le zone quando crei il cluster.
Non puoi configurare il volume dello spazio di archiviazione locale su un cluster.
Managed Service per Apache Kafka viene eseguito in modalità KRaft. La modalità Zookeeper non è supportata.
Le API JMX per le metriche non sono supportate.
Anche se puoi modificare le configurazioni dei broker con la modalità di aggiornamento
read-onlyin qualsiasi momento, queste modifiche hanno effetto solo al riavvio dei broker. I riavvii si verificano periodicamente nell'ambito dei processi di manutenzione e upgrade di Google, ma non esiste una pianificazione prestabilita o un modo per attivarli manualmente. Di conseguenza, non puoi controllare quando queste modifiche diventano effettive. Esempi di configurazioniread-onlyincludonoauto.create.topics.enableebackground.threads. Gli aggiornamenti alle configurazioni con la modalità di aggiornamentocluster-wide, ad esempiomessage.max.bytes, non richiedono riavvii e hanno effetto immediato.Alcuni parametri di configurazione del broker sono gestiti dal servizio e non possono essere aggiornati. Sono incluse
broker.ide le impostazioni relative allo spazio di archiviazione, ad esempioremote.log.storage.system.enable.
Passaggi successivi
- Crea un cluster Managed Service per Apache Kafka.
- Invia e ricevi messaggi utilizzando un cluster Managed Service per Apache Kafka.
- Genera dati sintetici per un cluster Managed Service per Apache Kafka.
- Esamina le limitazioni di Managed Service per Apache Kafka.
- Scopri di più sui prezzi di Managed Service per Apache Kafka.