

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Mettre à jour la version d'Apache Kafka
<a name="version-upgrades"></a>

Vous pouvez mettre à niveau un cluster MSK existant vers une version plus récente d'Apache Kafka. Avant de mettre à niveau la version Kafka de votre cluster, vérifiez que la version de votre logiciel côté client prend en charge les fonctionnalités de la nouvelle version de Kafka.

Pour plus d'informations sur la manière de rendre un cluster hautement disponible lors d'une mise à niveau, consultez[Créer des clusters hautement disponibles](bestpractices.md#ensure-high-availability).

**Mettez à jour la version d'Apache Kafka à l'aide du AWS Management Console**

1. Ouvrez la console Amazon MSK à l'adresse [https://console.aws.amazon.com/msk/](https://console.aws.amazon.com/msk/).

1. Dans la barre de navigation, choisissez la région dans laquelle vous avez créé le cluster MSK.

1. Choisissez le cluster MSK que vous souhaitez mettre à niveau.

1. Dans l'onglet **Propriétés**, choisissez **Mettre à niveau** dans la section **Version d'Apache Kafka**.

1. Dans la section **version d'Apache Kafka**, procédez comme suit :

   1. Dans la liste déroulante *Choisir la version d'Apache Kafka*, choisissez la version cible vers laquelle vous souhaitez effectuer la mise à niveau. Par exemple, sélectionnez **3.9.x**.

   1. (Facultatif) Choisissez **Afficher la compatibilité** des versions pour vérifier la compatibilité entre la version actuelle de votre cluster et les versions de mise à niveau disponibles. Sélectionnez ensuite **Choisir** pour continuer.
**Note**  
Amazon MSK prend en charge les mises à niveau sur place vers la plupart des versions d'Apache Kafka. Toutefois, lors de la mise à niveau d'une version ZooKeeper basée sur Kafka vers une version KRaft basée sur Kafka, vous devez créer un nouveau cluster. Copiez ensuite vos données dans le nouveau cluster et transférez les clients vers le nouveau cluster.

   1. (Facultatif) Cochez la case **Mettre à jour la configuration du cluster** pour appliquer les mises à jour de configuration compatibles avec la nouvelle version. Cela permet d'accéder aux fonctionnalités et aux améliorations de la nouvelle version.

      Vous pouvez ignorer cette étape si vous devez conserver vos configurations personnalisées existantes.
**Note**  
Les mises à niveau côté serveur ne mettent pas automatiquement à jour les applications clientes.
Pour maintenir la stabilité du cluster, les rétrogradations de version ne sont pas prises en charge.

   1. Choisissez **Upgrade** pour démarrer le processus.

**Mettez à jour la version d'Apache Kafka à l'aide du AWS CLI**

1. Exécutez la commande suivante, en la *ClusterArn* remplaçant par le Amazon Resource Name (ARN) que vous avez obtenu lors de la création de votre cluster. Si vous n'avez pas l'ARN pour votre cluster, vous pouvez le trouver en listant tous les clusters. Pour de plus amples informations, veuillez consulter [Répertorier les clusters Amazon MSK](msk-list-clusters.md).

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

   Le résultat de cette commande inclut une liste des versions d'Apache Kafka vers lesquelles vous pouvez mettre à niveau le cluster. Elle ressemble à l'exemple suivant :

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

1. Exécutez la commande suivante, en la *ClusterArn* remplaçant par le Amazon Resource Name (ARN) que vous avez obtenu lors de la création de votre cluster. Si vous n'avez pas l'ARN pour votre cluster, vous pouvez le trouver en listant tous les clusters. Pour de plus amples informations, veuillez consulter [Répertorier les clusters Amazon MSK](msk-list-clusters.md).

   Remplacez *Current-Cluster-Version* par la version actuelle du cluster. Car *TargetVersion* vous pouvez spécifier n'importe quelle version cible à partir de la sortie de la commande précédente.
**Important**  
Les versions de cluster ne sont pas des entiers simples. Pour trouver la version actuelle du cluster, utilisez l'[DescribeCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn.html#DescribeCluster)opération ou la commande [describe-cluster](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/describe-cluster.html) AWS CLI . Voici un exemple de version : `KTVPDKIKX0DER`.

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

   La sortie de la commande précédente ressemble au JSON suivant.

   ```
   {
       
       "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. Pour obtenir le résultat de l'`update-cluster-kafka-version`opération, exécutez la commande suivante en la *ClusterOperationArn* remplaçant par l'ARN que vous avez obtenu dans le résultat de la `update-cluster-kafka-version` commande.

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

   La sortie de cette commande `describe-cluster-operation` ressemble à l'exemple JSON suivant.

   ```
   {
       "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"
           }
       }
   }
   ```

   Si `OperationState` a la valeur `UPDATE_IN_PROGRESS`, attendez un moment, puis exécutez à nouveau la commande `describe-cluster-operation`. Lorsque l'opération est terminée, la valeur de `OperationState` devient `UPDATE_COMPLETE`. Étant donné que le temps nécessaire à Amazon MSK pour effectuer l'opération varie, vous devrez peut-être vérifier à plusieurs reprises jusqu'à ce que l'opération soit terminée. 

**Mettre à jour la version d'Apache Kafka à l'aide de l'API**

1. Appelez l'[GetCompatibleKafkaVersions](https://docs.aws.amazon.com//msk/1.0/apireference/compatible-kafka-versions.html#GetCompatibleKafkaVersions)opération pour obtenir une liste des versions d'Apache Kafka vers lesquelles vous pouvez mettre à niveau le cluster.

1. Appelez l'[UpdateClusterKafkaVersion](https://docs.aws.amazon.com//msk/1.0/apireference/clusters-clusterarn-version.html#UpdateClusterKafkaVersion)opération pour mettre à niveau le cluster vers l'une des versions compatibles d'Apache Kafka.