

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Supporto per la versione di Amazon MSK
<a name="version-support"></a>

Questo argomento descrive [Politica di supporto delle versioni di Amazon MSK](#version-support-policy) e la procedura per[Aggiorna la versione di Apache Kafka](version-upgrades.md). Se stai aggiornando la tua versione di Kafka, segui le migliori pratiche descritte in. [Best practice per gli aggiornamenti delle versioni](version-upgrades-best-practices.md)

**Topics**
+ [

## Politica di supporto delle versioni di Amazon MSK
](#version-support-policy)
+ [

# Aggiorna la versione di Apache Kafka
](version-upgrades.md)
+ [

# Best practice per gli aggiornamenti delle versioni
](version-upgrades-best-practices.md)

## Politica di supporto delle versioni di Amazon MSK
<a name="version-support-policy"></a>

Questa sezione descrive la politica di supporto per le versioni di Kafka supportate da Amazon MSK.
+ Tutte le versioni di Kafka sono supportate fino al raggiungimento della data di fine del supporto. Per informazioni dettagliate sulle date di fine del supporto, consulta. [Versioni di Apache Kafka supportate](supported-kafka-versions.md) Aggiorna il tuo cluster MSK alla versione di Kafka consigliata o alla versione successiva prima della data di fine del supporto. Per dettagli sull'aggiornamento della versione di Apache Kafka, consulta. [Aggiorna la versione di Apache Kafka](version-upgrades.md) Un cluster che utilizza una versione di Kafka dopo la data di fine del supporto viene aggiornato automaticamente alla versione Kafka consigliata. Gli aggiornamenti automatici possono avvenire in qualsiasi momento dopo la data di fine del supporto. Non riceverai alcuna notifica prima dell'aggiornamento.
+ MSK eliminerà gradualmente il supporto per i cluster di nuova creazione che utilizzano versioni di Kafka con date di fine supporto pubblicate.

# Aggiorna la versione di Apache Kafka
<a name="version-upgrades"></a>

È possibile aggiornare un cluster MSK esistente a una versione più recente di Apache Kafka. Prima di aggiornare la versione di Kafka del cluster, verificate che la versione del software lato client supporti le funzionalità della nuova versione di Kafka.

Per informazioni su come rendere un cluster altamente disponibile durante un aggiornamento, consulta. [Creazione di cluster a disponibilità elevata](bestpractices.md#ensure-high-availability)

**Aggiornare la versione di Apache Kafka utilizzando il Console di gestione AWS**

1. Apri la console Amazon MSK all'indirizzo [https://console.aws.amazon.com/msk/](https://console.aws.amazon.com/msk/).

1. Nella barra di navigazione, scegli la regione in cui hai creato il cluster MSK.

1. Scegli il cluster MSK che desideri aggiornare.

1. Nella scheda **Proprietà**, scegli **Aggiorna** nella sezione relativa alla versione di **Apache Kafka**.

1. Nella sezione relativa alla **versione di Apache Kafka**, procedi come segue:

   1. Nell'elenco a discesa *Scegli la versione di Apache Kafka, scegli la versione* di destinazione a cui desideri eseguire l'aggiornamento. Ad esempio, scegli **3.9.x**.

   1. (Facoltativo) Scegliete **Visualizza compatibilità delle versioni** per verificare la compatibilità tra la versione corrente del cluster e le versioni di aggiornamento disponibili. Quindi, seleziona **Scegli** per procedere.
**Nota**  
Amazon MSK supporta gli aggiornamenti in loco alla maggior parte delle versioni di Apache Kafka. Tuttavia, quando si esegue l'aggiornamento da una versione basata su Kafka ZooKeeper a una versione basata su Kafka, è necessario creare un nuovo cluster KRaft. Quindi, copia i dati nel nuovo cluster e sposta i client nel nuovo cluster.

   1. (Facoltativo) Seleziona la casella di controllo **Aggiorna la configurazione del cluster** per applicare gli aggiornamenti di configurazione compatibili con la nuova versione. Ciò abilita le funzionalità e i miglioramenti della nuova versione.

      Puoi saltare questo passaggio se devi mantenere le configurazioni personalizzate esistenti.
**Nota**  
Gli aggiornamenti lato server non aggiornano automaticamente le applicazioni client.
Per mantenere la stabilità del cluster, i downgrade di versione non sono supportati.

   1. Scegli **Aggiorna** per avviare il processo.

**Aggiorna la versione di Apache Kafka usando il AWS CLI**

1. Esegui il comando seguente, sostituendolo *ClusterArn* con l'Amazon Resource Name (ARN) che hai ottenuto quando hai creato il cluster. Se non disponi dell'ARN per il cluster, puoi trovarlo elencando tutti i cluster. Per ulteriori informazioni, consulta [Elenca i cluster Amazon MSK](msk-list-clusters.md).

   ```
   aws kafka get-compatible-kafka-versions --cluster-arn ClusterArn
   ```

   L'output di questo comando include un elenco delle versioni di Apache Kafka a cui è possibile aggiornare il cluster. Il risultato sembra l'esempio seguente.

   ```
   {
       "CompatibleKafkaVersions": [
           {
               "SourceVersion": "2.2.1",
               "TargetVersions": [
                   "2.3.1",
                   "2.4.1",
                   "2.4.1.1",
                   "2.5.1"
               ]
           }
       ]
   }
   ```

1. Esegui il comando seguente, sostituendolo *ClusterArn* con l'Amazon Resource Name (ARN) che hai ottenuto quando hai creato il cluster. Se non disponi dell'ARN per il cluster, puoi trovarlo elencando tutti i cluster. Per ulteriori informazioni, consulta [Elenca i cluster Amazon MSK](msk-list-clusters.md).

   Sostituiscilo *Current-Cluster-Version* con la versione corrente del cluster. Perché *TargetVersion* è possibile specificare una qualsiasi delle versioni di destinazione dall'output del comando precedente.
**Importante**  
Le versioni del cluster non sono interi semplici. Per trovare la versione corrente del cluster, usa l'[DescribeCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn.html#DescribeCluster)operazione o il comando [AWS CLI describe-cluster](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/describe-cluster.html). Una versione di esempio è `KTVPDKIKX0DER`.

   ```
   aws kafka update-cluster-kafka-version --cluster-arn ClusterArn --current-version Current-Cluster-Version --target-kafka-version TargetVersion
   ```

   L'output del comando precedente è simile al JSON seguente.

   ```
   {
       
       "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2",
       "ClusterOperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef"
   }
   ```

1. Per ottenere il risultato dell'`update-cluster-kafka-version`operazione, esegui il comando seguente, sostituendolo *ClusterOperationArn* con l'ARN ottenuto nell'output del `update-cluster-kafka-version` comando.

   ```
   aws kafka describe-cluster-operation --cluster-operation-arn ClusterOperationArn
   ```

   L'output di questo comando `describe-cluster-operation` è simile all'esempio JSON seguente.

   ```
   {
       "ClusterOperationInfo": {
           "ClientRequestId": "62cd41d2-1206-4ebf-85a8-dbb2ba0fe259",
           "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2",
           "CreationTime": "2021-03-11T20:34:59.648000+00:00",
           "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef",
           "OperationState": "UPDATE_IN_PROGRESS",
           "OperationSteps": [
               {
                   "StepInfo": {
                       "StepStatus": "IN_PROGRESS"
                   },
                   "StepName": "INITIALIZE_UPDATE"
               },
               {
                   "StepInfo": {
                       "StepStatus": "PENDING"
                   },
                   "StepName": "UPDATE_APACHE_KAFKA_BINARIES"
               },
               {
                   "StepInfo": {
                       "StepStatus": "PENDING"
                   },
                   "StepName": "FINALIZE_UPDATE"
               }
           ],
           "OperationType": "UPDATE_CLUSTER_KAFKA_VERSION",
           "SourceClusterInfo": {
               "KafkaVersion": "2.4.1"
           },
           "TargetClusterInfo": {
               "KafkaVersion": "2.6.1"
           }
       }
   }
   ```

   Se il valore di `OperationState` è `UPDATE_IN_PROGRESS`, attendi qualche minuto, quindi esegui nuovamente il comando `describe-cluster-operation`. Al termine dell'operazione, il valore di `OperationState` diventa `UPDATE_COMPLETE`. Poiché il tempo necessario ad Amazon MSK per completare l'operazione varia, potrebbe essere necessario eseguire ripetutamente il controllo fino al completamento dell'operazione. 

**Aggiorna la versione di Apache Kafka utilizzando l'API**

1. Richiama l'[GetCompatibleKafkaVersions](https://docs.aws.amazon.com//msk/1.0/apireference/compatible-kafka-versions.html#GetCompatibleKafkaVersions)operazione per ottenere un elenco delle versioni di Apache Kafka a cui è possibile aggiornare il cluster.

1. Richiama l'[UpdateClusterKafkaVersion](https://docs.aws.amazon.com//msk/1.0/apireference/clusters-clusterarn-version.html#UpdateClusterKafkaVersion)operazione per aggiornare il cluster a una delle versioni compatibili di Apache Kafka.

# Best practice per gli aggiornamenti delle versioni
<a name="version-upgrades-best-practices"></a>

Per garantire la continuità del client durante l'aggiornamento progressivo eseguito come parte del processo di aggiornamento della versione di Kafka, esamina la configurazione dei client e gli argomenti di Apache Kafka come segue:
+ Imposta il fattore di replica dell'argomento (RF) su un valore minimo di per i cluster Two-AZ e un valore minimo di `2` per i cluster Three-AZ. `3` Un valore RF di `2` può portare a partizioni offline durante l'applicazione delle patch.
+ Imposta il numero minimo di repliche in-sync (miniSR) su un valore massimo di 1 in meno rispetto al tuo Replication Factor (RF), che è. `miniISR = (RF) - 1` Ciò garantisce che il set di repliche delle partizioni possa tollerare che una replica sia offline o poco replicata.
+ Configura i client per utilizzare più stringhe di connessione del broker. La presenza di più broker nella stringa di connessione di un client consente il failover se uno specifico broker che supporta il client I/O inizia a ricevere le patch. Per informazioni su come ottenere una stringa di connessione con più broker, consulta [Ottenere i broker bootstrap per un cluster Amazon MSK](https://docs.aws.amazon.com//msk/latest/developerguide/msk-get-bootstrap-brokers.html).
+ Ti consigliamo di aggiornare i client che si connettono alla versione consigliata o superiore per beneficiare delle funzionalità disponibili nella nuova versione. Gli upgrade dei client non sono soggetti alle date di fine del ciclo di vita (EOL) della versione Kafka del cluster MSK e non è necessario che vengano completati entro la data di fine del ciclo di vita. Apache Kafka fornisce una [politica di compatibilità dei client bidirezionale che consente ai client](https://kafka.apache.org/protocol#protocol_compatibility) più vecchi di lavorare con cluster più recenti e viceversa.
+ È probabile che i client Kafka che utilizzano le versioni 3.x.x abbiano le seguenti impostazioni predefinite: e. `acks=all` `enable.idempotence=true` `acks=all`è diverso dall'impostazione predefinita precedente di `acks=1` e offre una maggiore durabilità assicurando che tutte le repliche sincronizzate riconoscano la richiesta di produzione. Analogamente, l'impostazione predefinita per `enable.idempotence` era precedente. `false` La modifica all'`enable.idempotence=true`impostazione predefinita riduce la probabilità di messaggi duplicati. Queste modifiche sono considerate impostazioni di best practice e possono introdurre una piccola quantità di latenza aggiuntiva che rientra nei normali parametri di prestazione.
+ Utilizzate la versione consigliata di Kafka per creare nuovi cluster MSK. L'utilizzo della versione consigliata di Kafka consente di sfruttare le funzionalità più recenti di Kafka e MSK.