Domande generali

D: Cos'è Amazon MSK?
Streaming gestito da Amazon per Apache Kafka (Amazon MSK) è un servizio di dati in streaming di AWS che gestisce l'infrastruttura e le operazioni di Apache Kafka, rendendo facile per gli sviluppatori e i manager DevOps eseguire applicazioni Apache Kafka e connettori Apache Kafka Connect su AWS, senza dover diventare esperti nel funzionamento di Apache Kafka. Amazon MSK gestisce, mantiene e scala i cluster Apache Kafka, fornisce funzionalità di sicurezza di livello aziendale pronte all'uso e ha integrazioni AWS che accelerano lo sviluppo di applicazioni di dati in streaming. Per iniziare, è possibile eseguire la migrazione dei carichi di lavoro Apache Kafka e i connettori Apache Kafka Connect esistenti ad Amazon MSK oppure costruirne di nuovi da zero in qualche minuto con pochi clic. Non vengono applicati costi di trasferimento dei dati per il traffico in-cluster e non sono richiesti impegni a lungo termine né pagamenti anticipati. I prezzi vengono calcolati esclusivamente in base alle risorse utilizzate.
 
D: Cos'è Apache Kafka?
Apache Kafka è una piattaforma open-source, ad alte prestazioni, tollerante ai guasti e scalabile, ideale per creare applicazioni e pipeline di dati in streaming in tempo reale. Apache Kafka è un archivio di flussi dati che separa le applicazioni che producono flussi di dati nell’archivio dati (produttori) dalle applicazioni che consumano flussi di dati dall’archivio dati (consumatori). Le organizzazioni usano Apache Kafka come origine dati per le applicazioni che analizzano continuamente e reagiscono al flusso di dati. Ulteriori informazioni su Apache Kafka.
 
D: Cos'è Apache Kafka Connect?
Apache Kafka Connect, un componente open source di Apache Kafka, è un framework usato per connettere Apache Kafka a sistemi esterni come database, archivi chiave-valore, indici di ricerca e file system.
 
D: Cosa sono i dati in streaming?
I flussi di dati sono flussi continui di registri o eventi di piccole dimensioni (un registro o un evento equivale di solito a qualche chilobyte) generati da migliaia di macchine, dispositivi, siti Web e applicazioni. I flussi di dati sono composti da svariati tipi di dati, ad esempio i file di log generati dai clienti che utilizzano applicazioni Web o su dispositivi mobili, acquisti effettuati su siti di e-commerce, eventi all'interno di videogiochi, informazioni provenienti da social network, dati di transazioni finanziarie, servizi di geolocalizzazione, registri di sicurezza, parametri, e telemetria relativi a dispositivi connessi o strumentazioni in data center. I servizi per i flussi di dati come Amazon MSK e Amazon Kinesis Data Streams facilitano la raccolta, l’elaborazione e la consegna continue di flussi di dati. Ulteriori informazioni sui dati in streaming.
 
D: Quali sono le funzionalità principali di Apache Kafka?
Apache Kafka ha tre funzionalità principali:
  • Apache Kafka archivia i flussi di dati in un modo fault-tolerant, fornendo un buffer fra produttori e consumatori. Archivia gli eventi come una serie continua di registri e conserva l’ordine in cui sono stati prodotti i registri.
  • Apache Kafka consente a molti produttori di dati, come siti Web, dispositivi Internet of Things (IoT) e istanze Amazon Elastic Compute Cloud (Amazon EC2), di pubblicare dati di streaming in modo continuo e di categorizzarli utilizzando gli argomenti Apache Kafka. Diversi consumatori di dati (ad esempio applicazioni di machine learning, funzioni AWS Lambda o microservizi) leggono da questi argomenti a velocità diverse, in modo simile a quanto avviene con una coda di messaggi o un sistema di messaggistica aziendale.
  • Gli utenti di dati elaborano i dati dagli argomenti Apache Kafka in base al principio first-in-first-out, conservando l'ordine di produzione dei dati.

 

Apache Kafka memorizza i registri in argomenti. I produttori di dati scrivono i registri negli argomenti e i consumatori li leggono. Ciascun registro in Apache Kafka è costituito da una chiave, un valore e un timestamp e talvolta, metadati di intestazione. Apache Kafka esegue il partizionamento degli argomenti e replica tali partizioni su più nodi chiamati broker. Esegue quindi un cluster su uno o più broker, che possono trovarsi su zone di disponibilità AWS diverse, per creare un cluster a disponibilità elevata. Apache Kafka si affida ad Apache ZooKeeper per coordinare i processi relativi ai cluster, garantendo così l’integrità delle risorse che interagiscono con i cluster Apache Kafka.
 
D: In quali casi è indicato utilizzare Apache Kafka?
Apache Kafka supporta applicazioni in tempo reale che trasformano, consegnano e reagiscono ai dati in streaming e può essere utilizzato per costruire Data Pipeline in streaming in tempo reale che inviano dati in modo affidabile tra più sistemi o applicazioni.
 
D: A cosa serve Amazon MSK?
Amazon MSK semplifica l'avvio e l'esecuzione di versioni open source di Apache Kafka su AWS con disponibilità e sicurezza elevate. Amazon MSK offre anche integrazioni con i servizi AWS senza il sovraccarico operativo dell'esecuzione di un cluster Apache Kafka. Amazon MSK permette di utilizzare versioni open source di Apache Kafka, mentre il servizio gestisce la configurazione, il provisioning, le integrazioni con AWS e la manutenzione continua dei cluster Apache Kafka.

È possibile creare un cluster Amazon MSK con pochi clic nella console. Amazon MSK sostituisce quindi i broker non integri, replica automaticamente i dati per assicurarne la disponibilità elevata, gestisce i nodi Apache ZooKeeper, implementa automaticamente, se necessario, patch hardware, gestisce le integrazioni con i servizi AWS, rende visibili i parametri importanti tramite la console e supporta gli aggiornamenti della versione di Apache Kafka. In questo modo, l'utente può trarre vantaggio dai miglioramenti alla versione open source di Apache Kafka.
 
D: Quali versioni di Apache Kafka sono supportate da Amazon MSK?
Per vedere le versioni di Apache Kafka supportate, leggere la documentazione su Amazon MSK.
 
D: Le API Apache Kafka sono compatibili con Amazon MSK?
Sì, Amazon MSK fornisce supporto nativo per tutte le API data plane e admin.
 
D: Amazon MSK supporta Apache Kafka AdminClient?
Sì.
 
D: Amazon MSK supporta la registrazione di schemi?
Sì, i client Apache Kafka possono utilizzare il registro degli schemi di AWS Glue, una funzionalità serverless di AWS Glue, senza alcun costo aggiuntivo. Consulta la documentazione per l'utente del registro di Schema per le nozioni di base e ulteriori informazioni.
 
D: Come si iniziano a utilizzare i cluster M7g?
Amazon MSK ora supporta le istanze M7g basate su Graviton 3 da "large" a "16xlarge" per eseguire tutti i carichi di lavoro Apache Kafka. Le istanze Graviton offrono gli stessi vantaggi di disponibilità e durata di MSK, con costi inferiori fino al 24% rispetto alle corrispondenti istanze M5. Le istanze Graviton offrono una velocità di trasmissione effettiva per istanza fino al 29% superiore rispetto alle istanze M5 di MSK, il che consente ai clienti di eseguire cluster MSK con un minor numero di broker o istanze di dimensioni più piccole.

MSK Serverless

D: Cos'è MSK Serverless?
MSK Serverless è un tipo di cluster per Amazon MSK che semplifica l'esecuzione di cluster Apache Kafka senza dover gestire la capacità di calcolo e archiviazione. Con MSK Serverless, puoi eseguire le tue applicazioni senza dover fornire, configurare o ottimizzare i cluster, e paghi per il volume di dati che trasmetti e mantieni.

D: MSK Serverless bilancia automaticamente le partizioni in un cluster?
Sì. MSK Serverless gestisce interamente le partizioni, inclusi il loro monitoraggio e spostamento per uniformare il carico su un cluster.

D: Quanta capacità di velocità effettiva dei dati supporta MSK Serverless?
MSK Serverless fornisce fino a 200 MBps di capacità di scrittura e 400 MBps di capacità di lettura per cluster. Inoltre, per assicurare una sufficiente disponibilità di velocità effettiva per tutte le partizioni in un cluster, MSK Serverless alloca fino a 5 MBps di capacità di scrittura istantanea e 10 MBps di capacità di lettura istantanea per partizione.

D: Quali caratteristiche di sicurezza offre MSK Serverless
MSK Serverless cripta tutto il traffico in transito e tutti i dati a riposo utilizzando chiavi gestite dal servizio emesse attraverso AWS Key Management Service (KMS). I client si connettono a MSK Serverless su una connessione privata usando AWS PrivateLink senza esporre il tuo traffico alla rete internet pubblica. Inoltre, MSK Serverless offre l'IAM Access Control, che è possibile utilizzare per gestire l'autenticazione e l'autorizzazione dei client a risorse di Apache Kafka come gli argomenti.

D: Come possono produttori e consumatori accedere ai miei cluster MSK Serverless?
Quando crei un cluster MSK Serverless, fornisci sottoreti di una o più Amazon Virtual Private Clouds (VPC) che ospitano i client del cluster. I client ospitati in uno qualsiasi di questi VPC saranno in grado di connettersi al cluster MSK Serverless utilizzando la sua stringa di avvio del broker.

D: In quali Regioni è disponibile MSK Serverless?
Per la disponibilità regionale, fare riferimento alla pagina dei prezzi MSK.

D: Quali tipi di autenticazione sono supportati da MSK Serverless?
MSK Serverless attualmente supporta AWS IAM per l'autenticazione e l'autorizzazione del client. I tuoi clienti possono assumere un ruolo AWS IAM per l'autenticazione e puoi imporre il controllo degli accessi utilizzando una policy IAM associata.

D: Come posso elaborare i dati nel mio cluster MSK Serverless?
Puoi utilizzare qualsiasi strumento compatibile con Apache Kafka per elaborare i dati negli argomenti del cluster MSK Serverless. MSK Serverless si integra con il servizio gestito da Amazon per Apache Flink per l'elaborazione in streaming stateful e AWS Lambda per l'elaborazione degli eventi. Puoi anche utilizzare i connettori sink Apache Kafka Connect per inviare dati a qualsiasi destinazione desiderata.

D: In che modo MSK Serverless garantisce l'alta disponibilità?
Quando crei una partizione, MSK Serverless ne crea 2 repliche e le colloca in diverse zone di disponibilità. Inoltre, MSK serverless rileva e recupera automaticamente le risorse di back-end non riuscite per mantenere un'elevata disponibilità.

Produzione e consumo di dati

D: Posso utilizzare le API Apache Kafka per trasferire dati da e verso Apache Kafka?
Sì, Amazon MSK fornisce supporto per le API producer e consumer native di Apache Kafka. Non è richiesta la modifica del codice dell’applicazione quando i client iniziano a lavorare con i cluster in Amazon MSK.

D: È possibile utilizzare Apache Kafka Connect, Apache Kafka Streams o qualsiasi altro componente dell’ecosistema di Apache Kafka con Amazon MSK?
Sì, è possibile utilizzare qualsiasi componente che sfrutta le API produttore e consumatore di Apache Kafka e Apache Kafka Admin Client. Al momento, gli strumenti per il caricamento dei file .jar nei cluster Apache Kafka non sono compatibili con Amazon MSK, compresi Confluent Control Center, Confluent Auto Data Balancer e Uber uReplicator.

Migrazione ad Amazon MSK

D: È possibile eseguire la migrazione dei dati all'interno di un cluster Apache Kafka esistente verso Amazon MSK?
Sì, è possibile utilizzare strumenti di terze parti o strumenti open-source come MirrorMaker, supportato da Apache Kafka, per replicare i dati dai cluster in un cluster Amazon MSK. Qui puoi trovare un laboratorio di migrazione Amazon MSK che ti aiuterà a completare la migrazione.

Aggiornamenti della versione

D: Gli aggiornamenti di versione di Apache Kafka sono supportati?
Sì, Amazon MSK supporta gli aggiornamenti di versione di Apache Kafka completamente gestiti sul posto per i cluster con provisioning. Per ulteriori informazioni sull'aggiornamento della tua versione di Apache Kafka e sulle best practice per l'alta disponibilità, consulta la documentazione relativa agli aggiornamenti della versione.

Cluster

D: Come posso creare un primo cluster Amazon MSK?
Il primo cluster può essere creato con pochi clic nella Console di gestione AWS oppure utilizzando gli SDK di AWS. Per prima cosa, nella Console Amazon MSK seleziona una regione AWS nella quale creare un cluster Amazon MSK. Scegli il nome del cluster, il Virtual Private Cloud (VPC) con cui desideri eseguire il cluster e le sottoreti per ciascuna zona di disponibilità. Se stai creando un cluster con provisioning, sarai anche in grado di scegliere un tipo di istanza di broker, la quantità di broker per zona di disponibilità e l'archiviazione per ciascun broker.
 
D: Quali risorse sono contenute in un cluster?
I cluster con provisioning contengono istanze broker, archiviazione con provisioning e nodi astratti Apache ZooKeeper. I cluster serverless sono una risorsa a sé stante, che astrae tutte le risorse sottostanti.
 
D: Di quali tipi di istanze broker è possibile effettuare il provisioning all'interno di un cluster Amazon MSK?
Per i cluster con provisioning, è possibile scegliere le istanze EC2 T3.small o quelle all'interno delle famiglie di istanze EC2 M7g ed M5. Per i cluster serverless, i broker sono completamente astratti.
 
D: Amazon MSK offre prezzi per le istanze riservate?
No, al momento no.
 
D: È necessario eseguire il provisioning e pagare per i volumi di avvio dei broker?
No, ciascun broker di cui viene effettuato il provisioning include l'archiviazione dei volumi di avvio gestito dal servizio Amazon MSK.
 
D: Quando viene creato un cluster Apache Kafka, le risorse sottostanti (ad esempio le istanze Amazon EC2) vengono mostrate nella console EC2?
Alcune risorse, come le interfacce di rete elastiche (ENI), vengono mostrate nell’account Amazon EC2. Altre risorse Amazon MSK non vengono mostrate nell'account EC2, poiché sono gestite dal servizio Amazon MSK.
 
D: Cosa è necessario per effettuare il provisioning all'interno di un cluster Amazon MSK?
Per i cluster con provisioning, è necessario effettuare il provisioning delle istanze e dell'archiviazione broker per ciascun cluster che viene creato. Facoltativamente, puoi eseguire il provisioning del throughput di archiviazione per i volumi di archiviazione, che possono essere utilizzati per ridimensionare l'I/O in maniera continua, senza dover eseguire il provisioning di broker aggiuntivi. Non è necessario fornire i nodi Apache ZooKeeper, poiché queste risorse sono incluse senza costi aggiuntivi con ogni cluster creato. Per i cluster serverless, ti basterà creare un cluster come risorsa.
 
D: Qual è la configurazione predefinita dei broker per un cluster?
Se non altrimenti specificato, Amazon MSK usa le stesse impostazioni di default della versione open source di Apache Kafka. Le impostazioni di default per entrambi i cluster sono definite qui.
D: È possibile effettuare il provisioning dei broker in modo che la distribuzione nelle zone di disponibilità non sia equilibrata (ad esempio 3 in us-east-1a, 2 in us-east-1b e 1 in us-east-1c)?
No, le best practice di Amazon MSK impongono di distribuire i broker in modo equilibrato su tutte le zone di disponibilità all’interno di un cluster.

D: Come funziona la replica dei dati in Amazon MSK?
Amazon MSK usa la replica leader-follower di Apache Kafka per replicare i dati tra i broker. Amazon MSK semplifica la distribuzione dei cluster con repliche delle zone di disponibilità per impostazione predefinita e consente di utilizzare una strategia di replica personalizzata sulla base degli argomenti. Per impostazione predefinita con ciascuna delle opzioni di replica, i broker leader e follower verranno implementati e isolati utilizzando la strategia di replica specificata. Ad esempio, se viene selezionata una strategia di replica dei broker a tre zone di disponibilità, con un broker per cluster di ciascuna zona di disponibilità, Amazon MSK creerà un cluster di tre broker (un broker in tre zone di disponibilità in una regione) e anche il fattore di replica degli argomenti sarà per impostazione predefinita uguale a tre, a meno che non si scelga di modificarlo.

D: Posso cambiare le configurazioni di default del broker o caricare una configurazione del cluster su Amazon MSK?
Sì, Amazon MSK permette di creare configurazioni personalizzate e applicarle a cluster nuovi ed esistenti. Per ulteriori informazioni sulle configurazioni personalizzate, consulta la documentazione sulla configurazione.

D: Quali proprietà di configurazione possono essere personalizzate?
Le proprietà delle configurazioni che è possibile personalizzare sono documentate in questa pagina.

D: Qual è la configurazione predefinita per un nuovo argomento?
Amazon MSK utilizza la configurazione predefinita di Apache Kafka, se non altrimenti specificato in questa pagina.

Argomenti

D: Come si crea un argomento?
Una volta creato il cluster Apache Kafka, è possibile usare le API Apache Kafka per creare argomenti. Tutte le operazioni e le configurazioni relative agli argomenti e ai livelli di partizione vengono eseguite utilizzando le API Apache Kafka. Il seguente comando è un esempio di creazione di un argomento tramite l'uso delle API di Apache Kafka e i dettagli di configurazione disponibili per il tuo cluster:

bin/kafka-topics.sh --create —bootstrap-server <BootstrapBrokerString> --replication-factor 3 --partitions 1 --topic TopicName

Rete

D: Amazon MSK viene eseguito in un Amazon VPC?
Sì, Amazon MSK viene sempre eseguito all'interno di Amazon VPC gestito dal servizio Amazon MSK. Le risorse Amazon MSK verranno rese disponibili nel cloud privato virtuale Amazon, nella sottorete e nel gruppo di sicurezza selezionati quando il cluster è stato configurato. Gli indirizzi IP del cloud privato virtuale vengono collegati alle risorse Amazon MSK tramite interfacce di rete elastiche (ENI), in questo modo, il traffico di rete rimarrà nell'ambito della rete AWS e non sarà accessibile da Internet di default.

D: In che modo i broker nel cluster Amazon MSK vengono resi accessibili ai client nel VPC?
I broker nel cluster vengono resi accessibili ai client nel VPC attraverso interfacce di rete elastiche (ENI), che appariranno nell’account. I gruppi di sicurezza nelle interfacce ENI determinano la fonte e il tipo di traffico in entrata e in uscita consentito sui broker.

D: È possibile connettersi al mio cluster tramite Internet pubblico?
Sì, Amazon MSK offre un'opzione per connettersi in modo sicuro ai broker dei cluster Amazon MSK che eseguono Apache Kafka 2.6.0 o versioni successive su Internet. Abilitando l'accesso pubblico, i clienti autorizzati esterni a un Amazon Virtual Private Cloud (VPC) privato possono trasmettere dati crittografati dentro e fuori da specifici cluster Amazon MSK. È possibile abilitare l'accesso pubblico per i cluster MSK dopo che un cluster è stato creato senza costi aggiuntivi, ma si applicano i costi standard di trasferimento dati di AWS per l'ingresso e l'uscita del cluster. Per maggiori informazioni su come attivare l'accesso pubblico, consulta la documentazione sull'accesso pubblico.

D: La connessione tra i client e un cluster Amazon MSK è privata?
Per default i dati possono essere prodotti e utilizzati da un cluster Amazon MSK solo tramite una connessione privata tra i client nel VPC e il cluster Amazon MSK. Tuttavia, se attivi l'accesso pubblico per il tuo cluster Amazon MSK e ti connetti al tuo cluster MSK usando la stringa pubblica bootstrap-brokers, la connessione, anche se autenticata, autorizzata e criptata, non è più considerata privata. Si consiglia di configurare i gruppi di sicurezza del cluster perché abbiano regole TCP in entrata che permettano l'accesso pubblico dal proprio indirizzo IP di fiducia e di rendere queste regole il più restrittive possibile se si attiva l'accesso pubblico.

Collegamento al VPC

Domanda: Come faccio a connettermi al mio cluster Amazon MSK tramite Internet? 
Il modo più semplice è quello di attivare la connettività pubblica su internet ai broker dei cluster MSK che eseguono Apache Kafka 2.6.0 o versioni successive. Per ragioni di sicurezza, non puoi attivare l'accesso pubblico mentre crei un cluster MSK. Tuttavia, puoi aggiornare un cluster esistente per renderlo pubblicamente accessibile. Puoi anche creare un nuovo cluster e poi aggiornarlo per renderlo pubblicamente accessibile. Per maggiori informazioni su come attivare l'accesso pubblico, consulta la documentazione sull'accesso pubblico.

Domanda: Come faccio a connettermi al mio cluster Amazon MSK dall'interno della rete AWS ma dall'esterno dell'Amazon VPC del cluster?
Puoi connetterti al tuo cluster MSK da qualsiasi account VPC o AWS diverso da quello del tuo cluster MSK attivando la connettività privata multi-VPC per i cluster MSK che eseguono la versione 2.7.1 o le successive di Apache Kafka. Puoi attivare la connettività privata solo dopo la creazione del cluster per uno qualsiasi degli schemi di autenticazione supportati (autenticazione IAM, autenticazione SASL, SCRAM ed mTLS). Per abilitare la connettività privata bisogna configurare i tuoi client in modo che si connettano privatamente al cluster utilizzando connessioni VPC gestite da Amazon MSK che utilizzano la tecnologia AWS PrivateLink. Per saperne di più sull'impostazione della connettività privata, consulta la documentazione Accesso dall'interno di AWS.

Crittografia

D: Posso crittografare i dati nel cluster Amazon MSK?
Sì, Amazon MSK usa la crittografia lato server Amazon Elastic Block Store (Amazon EBS) e le chiavi AWS Key Management Service (AWS KMS) per crittografare i volumi di archiviazione.

D: All'interno di un cluster Amazon MSK, i dati sono crittografati, durante il transito tra broker?
Sì, per impostazione predefinita, sui nuovi cluster è abilitata la crittografia in transito tramite TLS per la comunicazione tra i broker. Per i cluster con provisioning, è possibile scegliere di non utilizzare la crittografia in transito, durante la creazione di un cluster.

D: Durante il transito tra i client Apache Kafka e il servizio Amazon MSK, i dati vengono crittografati?
Sì, per impostazione predefinita la crittografia in transito è impostata su TLS soltanto per i cluster creati dalla console CLI o dalla Console di gestione AWS. Occorre una configurazione ulteriore affinché i clienti possano comunicare con i cluster utilizzando la crittografia TLS. Per i cluster con provisioning, puoi cambiare l'impostazione di default della crittografia selezionando le impostazioni TLS/plaintext o plaintext. Puoi trovare ulteriori informazioni su MSK Encryption.

D: I dati sono criptati in transito mentre si spostano tra i broker e i nodi Apache ZooKeeper in un cluster Amazon MSK?
Sì, i cluster Amazon MSK che eseguono Apache Kafka versione 2.5.1 o successiva supportano la crittografia TLS in transito tra i broker Apache Kafka e i nodi ZooKeeper.

Gestione degli accessi

D: Come controllo l'autenticazione a un cluster e l'autorizzazione delle API di Apache Kafka?
Per i cluster serverless, è possibile utilizzare IAM Access Control sia per l'autenticazione che per l'autorizzazione. Per i cluster con provisioning, hai tre opzioni: 1) Il controllo accessi di AWS Identity and Access Management (IAM) sia per AuthN che AuthZ (consigliato), 2) Il certificato di autenticazione TLS (CA) per AuthN e la lista di controllo accessi per AuthZ, e 3) SASL/ SCRAM per AuthN e lista di controllo degli accessi per AuthZ. Amazon MSK consiglia l'utilizzo di IAM Access Control. È l'opzione più semplice da usare, perché prevede autorizzazioni agli accessi con privilegio minimo di default, che è l'opzione più sicura.

D: Come funziona l'autorizzazione in Amazon MSK?
Se utilizzi IAM Access Control, Amazon MSK applica le policy da te scritte e il suo authorizer per autorizzare le azioni. Se utilizzi TLS Certificate Authentication o SASL/SCRAM, Apache Kafka applica le liste di controllo degli accessi per l’autorizzazione. Per abilitare le ACL è necessario abilitare l'autenticazione client utilizzando i certificati TLS o SASL/SCRAM.

D: Come si fa per autenticare e autorizzare un client allo stesso tempo?
Se utilizzi IAM Access Control, Amazon MSK si occuperà per conto tuo dell’autenticazione e dell’autorizzazione, senza ulteriori configurazioni. Se utilizzi l'autenticazione TLS del client puoi usare il Dname dei certificati TLS dei client come elemento ACL principale per autorizzare le richieste dei client. Se utilizzi SASL/SCRAM, puoi usare il nome utente come principale dell'ACL per autorizzare le richieste del client.

D: Come controllo le operazioni delle API di servizio?
È possibile controllare le operazioni dell'API del servizio utilizzando AWS Identity and Access Management (IAM).

D: Posso abilitare IAM Access Control per un cluster esistente?
Sì, è possibile abilitare il controllo di accesso IAM per un cluster esistente dalla Console AWS o utilizzando l'API UpdateSecurity.

D: Posso usare IAM Access Control al di fuori di Amazon MSK?
No, IAM Access Control è disponibile soltanto per i cluster Amazon MSK.

D: Come faccio a fornire le autorizzazioni di accesso multi-account a un client Apache Kafka su un account AWS diverso da quello di Amazon MSK in modo che si connetta privatamente al mio cluster Amazon MSK?
Puoi allegare una policy del cluster al tuo cluster Amazon MSK per fornire le autorizzazioni client Apache Kafka su più account in modo da configurare la connettività privata al tuo cluster Amazon MSK. Quando si utilizza l'autenticazione del client IAM, è anche possibile utilizzare la policy del cluster per definire in modo granulare le autorizzazioni del piano dati Apache Kafka per il client che si connette. Per ulteriori informazioni sulle politiche dei cluster, consulta la documentazione sulla policy dei cluster.

Monitoraggio, parametri, registrazione e assegnazione di tag

D: Come posso monitorare le prestazioni dei cluster o degli argomenti?
Puoi monitorare le prestazioni dei tuoi cluster utilizzando la console Amazon MSK, la console Amazon CloudWatch o accedere a JMX e ai parametri host tramite Open Monitoring con Prometheus, una soluzione di monitoraggio open source.

D: Quali sono i costi per i diversi livelli di monitoraggio CloudWatch?
Il costo per monitorare il cluster usando Amazon CloudWatch dipende dal livello di monitoraggio e dalle dimensioni del cluster Apache Kafka. Amazon CloudWatch ha un costo per parametro al mese e include un piano gratuito; per ulteriori informazioni vedi Prezzi di Amazon CloudWatch. Per dettagli sul numero di parametri esposti per ciascun livello di monitoraggio, consulta la documentazione sul monitoraggio con Amazon MSK.

D: Quali strumenti di monitoraggio sono compatibili con Open Monitoring con Prometheus?
Gli strumenti che sono progettati per leggere dagli esportatori Prometheus sono compatibili con Open Monitoring come: Datadog, Lenses, New Relic, Sumologic o con un server Prometheus. Per i dettagli sulla funzionalità Open Monitoring, consulta la documentazione relativa a Open Monitoring di Amazon MSK.

D: Come si monitorano lo stato di integrità e le prestazioni dei client?
È possibile utilizzare qualsiasi tipo di monitoraggio lato client supportato dalla versione Apache Kafka in uso.

D: Posso aggiungere dei tag alle risorse di Amazon MSK?
Sì, è possibile aggiungere dei tag ai cluster Amazon MSK tramite l'AWS Command Line Interface (AWS CLI) o la Console AWS.

D: Come si monitorano i lag dei consumatori?
I parametri di lag dei consumatori a livello di argomento sono disponibili come parte del set di parametri di default pubblicati da Amazon MSK su Amazon CloudWatch per tutti i cluster. Per ottenere questi parametri, non è richiesta alcuna impostazione aggiuntiva. Per i cluster con provisioning, puoi avere anche parametri di lag consumatore a livello di partizione (dimensione della partizione). Per farlo, abilita il monitoraggio avanzato (PER_PARTITION_PER_TOPIC) sul tuo cluster. In alternativa, puoi abilitare Open Monitoring nel tuo cluster e utilizzare un server Prometheus per acquisire parametri a livello di partizione dai broker del tuo cluster. I parametri del lag dei consumatori sono disponibili nella porta 11001, così come gli altri parametri di Apache Kafka.

D: Quanto costa pubblicare il parametro del lag dei consumatori su Amazon CloudWatch?
I parametri a livello di argomento sono inclusi nell'insieme di parametri di default di Amazon MSK, che sono gratuiti. I parametri a livello di partizione sono invece soggetti alle tariffe di Amazon CloudWatch.

D: Come si accede ai registri dei broker di Apache Kafka?
Per i cluster con provisioning, puoi abilitare la distribuzione dei registri dei broker. Puoi distribuire i registri dei broker ad Amazon CloudWatch Logs, Amazon Simple Storage Service (S3) e Amazon Kinesis Data Firehose. Kinesis Data Firehose supporta Amazon OpenSearch Service tra le altre destinazioni. Per sapere come abilitare questa caratteristica, consulta la documentazione sulla registrazione di log di Amazon MSK. Per conoscere i prezzi, consulta le relative pagine per CloudWatch Logs e Kinesis Data Firehose.

D: Qual è il livello di registrazione per i registri dei broker?
Amazon MSK offre registri di livello INFO per tutti i broker all'interno di un cluster con provisioning.

D: Come si accede ai log di Apache ZooKeeper?
Puoi richiedere i registri Apache ZooKeeper tramite un ticket di assistenza.

D: Posso registrare l'utilizzo delle API di risorsa di Apache Kafka, come ad esempio creare un argomento?
Sì, se utilizzi IAM Access Control, l'utilizzo delle API di risorsa di Apache Kafka è registrato sul AWS CloudTrail.

Gestione dei metadati

D: Cos'è Apache ZooKeeper?
Tratto da https://zookeeper.apache.org: "Apache ZooKeeper è un servizio centralizzato per mantenere le informazioni di configurazione, dare un nome, fornire la sincronizzazione distribuita e servizi di gruppo. Tutti questi servizi vengono utilizzati in qualche modo dalle applicazioni distribuite,” compreso Apache Kafka.

D: Amazon MSK utilizza Apache ZooKeeper?
Sì, Amazon MSK utilizza Apache ZooKeeper per la gestione dei metadati. Inoltre, a partire dalla versione 3.7 di Apache Kafka, è possibile creare cluster in modalità ZooKeeper o in modalità KRaft. Un cluster creato con la modalità KRaft utilizza i controller KRaft per la gestione dei metadati anziché i nodi ZooKeeper.

D: Cos'è KRaft?
KRaft (Apache Kafka Raft) è il protocollo di consenso che sposta la gestione dei metadati nei cluster Apache Kafka dai nodi Apache ZooKeeper esterni a un gruppo di controller all'interno di Apache Kafka. Questa modifica consente di archiviare e replicare i metadati come argomenti all'interno dei broker Apache Kafka, con conseguente propagazione più rapida dei metadati. Consulta la nostra guida per gli sviluppatori.

D: Sono necessarie modifiche all'API per utilizzare la modalità KRaft su Amazon MSK rispetto alla modalità ZooKeeper?
Non sono necessarie modifiche all'API per utilizzare la modalità KRAFT su Amazon MSK. Tuttavia, se i client utilizzano ancora la stringa di connessione --zookeeper, è necessario aggiornare i client in modo che utilizzino la stringa di connessione --bootstrap-server per connettersi al cluster ed eseguire azioni di amministrazione. Il flag --zookeeper è obsoleto nella versione 2.5 di Apache Kafka e verrà rimosso a partire da Apache Kafka 3.0. Si consiglia pertanto di utilizzare le versioni recenti del client Apache Kafka e la stringa di connessione --bootstrap-server.

D: Ho strumenti che si connettono a ZooKeeper; come funzioneranno per i cluster KRaft senza ZooKeeper?
Bisogna verificare che gli strumenti utilizzati supportino le API di amministrazione di Apache Kafka senza connessioni ZooKeeper. Ad esempio, consulta la nostra documentazione aggiornata sull'uso di Cruise Control per i cluster in modalità KRaft. Cruise Control ha anche pubblicato i passaggi da seguire per eseguire Apache Kafka senza connessione ZooKeeper.

D: Posso ospitare più partizioni per broker su cluster basati su KRaft rispetto ai cluster basati su ZooKeeper?
Il numero di partizioni per broker è lo stesso sui cluster basati su KRaft e ZooKeeper. Tuttavia, KRaft consente di ospitare un numero maggiore di partizioni per cluster fornendo più broker in un cluster.

Integrazioni

D: Con quali servizi AWS si integra Amazon MSK?
Amazon MSK si integra con:

 

Amazon MSK Serverless si integra con:
  • Amazon S3 utilizza Kinesis Data Firehose per fornire dati ad Amazon S3 da MSK in modo semplice e senza codice.
  • Amazon VPC per l'isolamento e la sicurezza della rete
  • Amazon CloudWatch per i parametri
  • Amazon IAM per l'autenticazione e l'autorizzazione di Apache Kafka e per le API di servizio
  • Registro di AWS Glue Schema per monitorare l'evoluzione degli schemi usati dalle applicazioni Apache Kafka
  • AWS CloudTrail per i registri delle API AWS
  • AWS PrivateLink per la connettività privata

Dimensionamento

D: Come posso aumentare orizzontalmente lo spazio di archiviazione di un cluster?
È possibile aumentare lo spazio di archiviazione nei cluster con provisioning utilizzando la Console di gestione AWS o l'AWS CLI. Puoi anche utilizzare l’archiviazione su più livelli per archiviare virtualmente dati illimitati sul tuo cluster senza dover aggiungere broker per l’archiviazione. Nei cluster serverless, l'archiviazione viene dimensionata fluidamente, in base all'utilizzo.
 
D: Come funziona l’archiviazione su più livelli?
Apache Kafka archivia i dati in file detti segmenti di log. Quando ogni segmento è completo, in base alle dimensioni configurate a livello di cluster o argomento, viene copiato nel livello di archiviazione a basso costo. I dati vengono conservati in uno spazio di archiviazione ottimizzato per le prestazioni per un periodo di conservazione o una dimensione specificati, dopodiché vengono eliminati. Esiste un'impostazione di limite di tempo e dimensione separata per lo spazio di archiviazione a basso costo, che sarà più lunga del livello di archiviazione principale. Se i client richiedono dati da segmenti archiviati nel livello a basso costo, il broker leggerà i dati da esso e li servirà come se venissero serviti dallo spazio di archiviazione principale.

D: Come posso espandere automaticamente lo spazio di archiviazione nel mio cluster?
Puoi creare una policy di scalabilità automatica per l'archiviazione utilizzando la Console di gestione AWS o creando una policy AWS Application Auto Scaling utilizzando l'AWS CLI o le API.
 
È possibile dimensionare il numero di broker in un cluster esistente?
Sì. Puoi scegliere di aumentare o diminuire il numero di broker per i cluster con provisioning di Amazon MSK esistenti.

È possibile dimensionare il broker in un cluster esistente?
Sì. Puoi scegliere di dimensionarlo in un tipo di broker più piccolo o più grande sui tuoi cluster di Amazon MSK con provisioning.

D: In che modo è possibile bilanciare le partizioni tra broker?
Puoi utilizzare Cruise Control per bilanciare automaticamente le partizioni I/O heat. Per ulteriori informazioni, consulta la documentazione di Cruise Control. In alternativa, puoi utilizzare l'API Apache Kafka Admin kafka-reassign-partitions.sh per riassegnare le partizioni tra i broker. Nei cluster serverless, Amazon MSK bilancia le partizioni automaticamente.

Prezzi e disponibilità

D: Come vengono calcolati i prezzi di Amazon MSK?
I prezzi dipendono dalle risorse create. Potrai trovare ulteriori informazioni alla nostra pagina sui prezzi.

D: I trasferimenti di dati resi necessari dalla replica dei dati sono a pagamento?
No, tutti i trasferimenti dei dati in-cluster sono inclusi nel servizio senza costi aggiuntivi.

D: Quali Regioni AWS offre Amazon MSK?
La disponibilità regionale di Amazon MSK è illustrata qui. 

D: Come vengono calcolati i prezzi del trasferimento di dati?
Con i cluster con provisioning, ti saranno addebitate le tariffe standard di trasferimento dati di AWS per i dati trasferiti da e verso un cluster Amazon MSK. Non saranno addebitati costi per il trasferimento di dati all'interno del cluster in una regione, compreso il trasferimento di dati tra broker e tra broker e nodi Apache ZooKeeper.

Con i cluster serverless, pagherai le tariffe standard di trasferimento dati di AWS per i dati trasferiti da o verso un'altra Regione e per i dati trasferiti verso l'internet pubblico.

Conformità

D: Quali programmi di conformità rientrano nell'ambito di Amazon MSK?
Amazon MSK è conforme o soggetto ai seguenti programmi:

  • Soggetto allo standard HIPAA
  • PCI
  • ISO
  • SOC 1, 2, 3

Per un elenco completo dei servizi AWS e dei programmi per la conformità, consulta Servizi AWS coperti dal programma di conformità.

Accordo sul Livello di Servizio (SLA)

D: Cosa garantisce lo SLA di Amazon MSK?
Lo SLA di Amazon MSK garantisce una percentuale di tempo di attività mensile di almeno il 99,9% per Amazon MSK (incluso MSK Serverless ed MSK Connect).
 
D: Come posso sapere se ho diritto a un credito di assistenza SLA?
Hai diritto a un credito SLA per Amazon MSK secondo quanto previsto dallo SLA di Amazon MSK se le distribuzioni Multi-AZ su Amazon MSK hanno una percentuale di Uptime mensile inferiore al 99,9% durante qualsiasi ciclo di fatturazione mensile.
 
Per i dettagli completi su tutti i termini e le condizioni dello SLA, così come i dettagli su come presentare un reclamo, si prega di consultare la pagina dei dettagli sullo SLA di Amazon MSK.

Replica

D: Cos'è il Replicatore Amazon MSK?
Il Replicatore Amazon MSK è una funzionalità di Amazon MSK che consente ai clienti di replicare in modo affidabile i dati tra cluster Amazon MSK in diverse regioni AWS (replica tra regioni) o all'interno della stessa regione AWS (replica nella stessa regione), senza scrivere codice o gestire l'infrastruttura. È possibile utilizzare la replica interregionale (CRR) per creare applicazioni di streaming multi-regione ad alta disponibilità e tolleranti ai guasti per una maggiore resilienza. Puoi anche utilizzare CRR per fornire un accesso a bassa latenza ai consumatori in diverse aree geografiche. Puoi utilizzare SRR per distribuire i dati da un cluster a più cluster per condividere i dati con i partner e i team. Puoi anche utilizzare SRR o CRR per aggregare i dati di più cluster in uno solo per l'analisi.

D: Come si usa il Replicatore MSK?
Per configurare la replica tra una coppia di cluster MSK di origine e di destinazione, devi creare un Replicator nella Regione AWS di destinazione. Per creare un Replicator, devi specificare dettagli che includono il nome della risorsa Amazon (ARN) dei cluster MSK di origine e di destinazione e un ruolo AWS Identity and Access Management (IAM) che MSK Replicator può utilizzare per accedere ai cluster. Se non esiste già, sarà necessario creare il cluster MSK di destinazione. È inoltre possibile configurare impostazioni aggiuntive, tra cui la configurazione del nome dell'argomento e la posizione iniziale del Replicatore.

D: Quali tipi di cluster Kafka sono supportati dal Replicatore MSK?
MSK Replicator supporta la replica solo tra cluster MSK. Sono supportati i cluster MSK di tipo Con provisioning e Serverless. È inoltre possibile utilizzare MSK Replicator per passare da Con provisioning a Serverless o viceversa. Gli altri cluster Kafka non sono supportati.

D: Posso specificare quali argomenti voglio replicare?
Sì, è possibile specificare quali argomenti replicare utilizzando gli elenchi di consenso e negazione durante la creazione del Replicator.

D: MSK Replicator replica le impostazioni degli argomenti e gli offset dei gruppi di consumer?
Sì. MSK Replicator replica automaticamente i metadati Kafka necessari, come la configurazione degli argomenti, le liste di controllo degli accessi (ACL) e gli offset dei gruppi di consumer, in modo che le applicazioni che consumano possano riprendere l'elaborazione senza problemi dopo il failover. Puoi scegliere di disattivare una o più di queste impostazioni se desideri solo replicare i dati. È inoltre possibile specificare quali gruppi di consumer si desidera replicare utilizzando gli elenchi di consenso o negazione durante la creazione del Replicator.

D: È necessario scalare la replica quando la velocità di trasmissione effettiva in ingresso cambia?
No, MSK Replicator implementa, fornisce e ridimensiona automaticamente l'infrastruttura di replica sottostante per supportare le modifiche della velocità di trasmissione effettiva in ingresso.

D: Posso replicare i dati tra cluster MSK in diversi account AWS?
No, MSK Replicator supporta solo la replica tra cluster MSK nello stesso account AWS.

D: Come posso monitorare la replica?
Puoi utilizzare Amazon CloudWatch nella regione di destinazione per visualizzare le metriche per “ReplicationLatency, MessageLag e ReplicatorThroughput” a livello tematico e aggregato per ciascun Replicatore senza costi aggiuntivi. I parametri sarebbero visibili in ReplicatorName nello spazio dei nomi “AWS/Kafka”. Per verificare se il tuo Replicatore sta riscontrando problemi, puoi anche consultare i parametri “ReplicatorFailure, AuthError e ThrottleTime”.

D: È possibile utilizzare il Replicatore MSK per replicare i dati da un cluster a più cluster o replicare i dati da più cluster a uno?
Sì. È sufficiente creare un Replicator diverso per ogni coppia di cluster di origine e destinazione.

D: In che modo MSK Replicator si connette ai cluster MSK di origine e di destinazione?
MSK Replicator utilizza Controllo degli accessi IAM per connettersi ai cluster di origine e di destinazione. È necessario attivare i cluster MSK di origine e di destinazione per Controllo degli accessi IAM per creare un replicatore. Puoi continuare a utilizzare altri metodi di autenticazione tra cui SASL/SCRAM e MTL contemporaneamente per i tuoi clienti poiché Amazon MSK supporta più metodi di autenticazione contemporaneamente.

D: Quanta latenza di replica devo aspettarmi da MSK Replicator?
Il Replicatore MSK replica i dati in modo asincrono. La latenza di replica varia in base a molti fattori, tra cui la distanza di rete tra le regioni AWS dei cluster MSK, la capacità di capacità effettiva di trasmissione dei cluster di origine e di destinazione e il numero di partizioni sui cluster di origine e destinazione. Se riscontri una latenza elevata, segui la nostra guida alla risoluzione dei problemi.

D: È possibile mantenere invariati i nomi degli argomenti con il Replicatore MSK?
Sì. Il Replicatore MSK consente di selezionare una configurazione del nome dell'argomento tra “Prefisso” e “Identico” durante la creazione di un nuovo Replicatore. Per impostazione predefinita, il Replicatore MSK crea nuovi argomenti nel cluster di destinazione con un prefisso generato automaticamente aggiunto al nome dell'argomento. Ad esempio, il Replicatore MSK replicherà i dati in “topic” dal cluster di origine a un nuovo argomento nel cluster di destinazione chiamato “<sourceKafkaClusterAlias>.topic”. È possibile trovare il prefisso che verrà aggiunto ai nomi degli argomenti nel cluster di destinazione nel campo “sourceKafkaClusterAlias” utilizzando l'API DescribeReplicator o la pagina dei dettagli del Replicatore sulla console MSK. Se desideri replicare gli argomenti nel cluster di destinazione preservando i nomi originali, imposta semplicemente la configurazione del nome dell'argomento su “Identico”.

D: Perché dovrei usare la configurazione del nome dell'argomento “Identico”?
Si consiglia di utilizzare la configurazione del nome dell'argomento Identico per semplificare la creazione di architetture di dati di streaming altamente disponibili e resilienti nelle regioni AWS. Replicando gli argomenti di Kafka su altri cluster Amazon MSK mantenendo i nomi originali degli argomenti, questa configurazione riduce la necessità di riconfigurare le applicazioni client durante la configurazione della replica o gli eventi di failover. Ciò semplifica la creazione di configurazioni di cluster attive-passive su più regioni per una maggiore resilienza e disponibilità. Inoltre, semplifica casi d'uso come l'aggregazione dei dati tra cluster, le migrazioni tra cluster MSK e la distribuzione dei dati in più aree geografiche. Non si dovrebbe usare questa configurazione se i client non possono elaborare i dati quando sono stati aggiunti metadati aggiuntivi alle intestazioni dei record di Kafka.

D: Esiste il rischio di cicli di replica infiniti con una configurazione del nome dell'argomento Identico?
No. il Replicatore MSK impedisce automaticamente la replica dei record sull'argomento Kafka da cui sono stati originati, evitando così infiniti cicli di replica. A tale scopo, nell'ambito della replica, il Replicatore MSK aggiunge metadati alle intestazioni dei record.

D: Posso aggiornare il mio Replicatore esistente per utilizzare la configurazione del nome dell'argomento Identico?
No. La configurazione del nome dell'argomento non può essere modificata dopo la creazione di un Replicatore.

D: Come posso utilizzare la replica per aumentare la resilienza della mia applicazione di streaming tra le regioni?
È possibile utilizzare MSK Replicator per configurare topologie di cluster attive-attive o attive-passive per aumentare la resilienza dell'applicazione Kafka in tutte le regioni. In una configurazione attiva-attiva, entrambi i cluster MSK eseguono attivamente operazioni di lettura e scrittura. In confronto, in una configurazione attiva-passiva solo un cluster MSK alla volta serve attivamente lo streaming di dati, mentre l'altro cluster è in standby. Si consiglia di utilizzare la configurazione del nome dell'argomento “Identico” per la configurazione attiva-passiva e la configurazione “Prefisso” per la configurazione attiva-attiva. Tuttavia, l'utilizzo della configurazione “Prefisso” richiederà di riconfigurare i consumatori per leggere gli argomenti replicati. Se vuoi evitare di riconfigurare i tuoi client, puoi utilizzare la configurazione “Identico” anche per la configurazione attiva-attiva. Tuttavia, verranno addebitati costi aggiuntivi per l'elaborazione e il trasferimento dei dati per ogni Replicatore, in quanto ogni Replicatore dovrà elaborare il doppio della quantità di dati abituale, una volta per la replica e l'altra per evitare cicli infiniti.

D: Quali versioni di Kafka supportano la configurazione del nome dell'argomento Identico?
È supportata per tutti i cluster MSK in esecuzione sulle versioni di Kafka 2.8.1 e successive.

D: È possibile replicare i dati esistenti nel cluster di origine?
Sì. Per impostazione predefinita, quando si crea un nuovo Replicator, inizia a replicare i dati dall'estremità del flusso (ultimo offset) sul cluster di origine. In alternativa, per replicare i dati esistenti, puoi configurare un nuovo Replicator per iniziare a replicare i dati dal primo offset nelle partizioni dell'argomento del cluster di origine.

D: La replica può comportare una limitazione dei consumer nel cluster di origine?
Poiché MSK Replicator funge da consumatore per il cluster di origine, è possibile che la replica causi la limitazione di altri consumatori sul cluster di origine. Ciò dipende dalla capacità di lettura disponibile nel cluster di origine e dalla velocità di trasmissione effettiva dei dati da replicare. Si consiglia di fornire una capacità identica per i cluster di origine e di destinazione e tenere conto della velocità di trasmissione effettiva di replica calcolando al contempo la capacità necessaria. È inoltre possibile impostare quote Kafka per il Replicator sui cluster di origine e di destinazione per controllare la capacità che il Replicator può utilizzare.

D: È possibile comprimere i dati prima di scriverli nel cluster di destinazione?
Sì, puoi specificare il codec di compressione che preferisci durante la creazione del Replicator tra None, GZIP, Snappy, LZ4 e ZSTD.

Nozioni di base su Amazon MSK

Calcola i costi
Calcola i costi

Visita la pagina dei prezzi di Amazon MSK.

Read the documentation
Rivedi la guida alle nozioni di base

Scopri come configurare un cluster Apache Kafka in Amazon MSK con questa guida dettagliata.

Esegui il tuo cluster Apache Kafka
Esegui il tuo cluster Apache Kafka

Inizia a eseguire il tuo cluster Apache Kafka in Amazon MSK. Accedi alla console Amazon MSK.