Support des MSK versions Amazon - Amazon Managed Streaming for Apache Kafka

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.

Support des MSK versions Amazon

Cette rubrique décrit la procédure Politique de support des MSK versions d'Amazon et la procédure pourMise à jour de la version Apache Kafka. Si vous mettez à jour votre version de Kafka, suivez les meilleures pratiques décrites dansBonnes pratiques pour les mises à niveau de version.

Politique de support des MSK versions d'Amazon

Cette section décrit la politique de support pour les versions de Kafka MSK prises en charge par Amazon.

  • Toutes les versions de Kafka sont prises en charge jusqu'à leur date de fin de support. Pour plus de détails sur les dates de fin de support, consultezVersions Apache Kafka prises en charge. Mettez à niveau votre MSK cluster vers la version recommandée de Kafka ou une version supérieure avant la date de fin du support. Pour plus de détails sur la mise à jour de votre version d'Apache Kafka, consultezMise à jour de la version Apache Kafka. Un cluster utilisant une version de Kafka après sa date de fin de support est automatiquement mis à niveau vers la version recommandée de Kafka.

  • MSKsupprimera progressivement le support pour les clusters nouvellement créés qui utilisent des versions de Kafka avec des dates de fin de support publiées.

Mise à jour de la version Apache Kafka

Vous pouvez mettre à jour un MSK cluster existant vers une version plus récente d'Apache Kafka. Vous ne pouvez pas la mettre à jour vers une version plus ancienne. Lorsque vous mettez à jour la version Apache Kafka d'un MSK cluster, vérifiez également votre logiciel côté client pour vous assurer que sa version vous permet d'utiliser les fonctionnalités de la nouvelle version d'Apache Kafka du cluster. Amazon met MSK uniquement à jour le logiciel du serveur. Il ne met pas à jour vos clients.

Pour plus d'informations sur la manière de rendre un cluster hautement disponible lors d'une mise à jour, reportez-vous à la section Créer des clusters hautement disponibles.

Important

Vous ne pouvez pas mettre à jour la version d'Apache Kafka pour un MSK cluster qui dépasse les limites décrites dans Dimensionnez correctement votre cluster : nombre de partitions par agent.

Mettre à jour la version d'Apache Kafka à l'aide du AWS Management Console
  1. Ouvrez la MSK console Amazon à l'adressehttps://console.aws.amazon.com/msk/.

  2. Choisissez le MSK cluster sur lequel vous souhaitez mettre à jour la version d'Apache Kafka.

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

Mettre à jour la version d'Apache Kafka à l'aide du AWS CLI
  1. Exécutez la commande suivante en remplaçant ClusterArn avec le nom de ressource Amazon (ARN) que vous avez obtenu lors de la création de votre cluster. Si vous n'en avez pas ARN pour votre cluster, vous pouvez le trouver en listant tous les clusters. Pour plus d’informations, consultez Répertorier les MSK clusters Amazon.

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

    La sortie de cette commande inclut une liste des versions d'Apache Kafka vers lesquelles vous pouvez mettre à jour 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" ] } ] }
  2. Exécutez la commande suivante en remplaçant ClusterArn avec le nom de ressource Amazon (ARN) que vous avez obtenu lors de la création de votre cluster. Si vous n'en avez pas ARN pour votre cluster, vous pouvez le trouver en listant tous les clusters. Pour plus d’informations, consultez Répertorier les MSK clusters Amazon.

    Remplacez Current-Cluster-Version avec la version actuelle du cluster. Dans 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'DescribeClusteropération ou la commande describe-cluster 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

    Le résultat de la commande précédente ressemble à ce qui suitJSON.

    { "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" }
  3. Pour obtenir le résultat de l'update-cluster-kafka-versionopération, exécutez la commande suivante en remplaçant ClusterOperationArn avec celui 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

    Le résultat de cette describe-cluster-operation commande ressemble à l'JSONexemple 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. Comme le temps nécessaire MSK à Amazon 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 du API
  1. Appelez l'GetCompatibleKafkaVersionsopération pour obtenir une liste des versions d'Apache Kafka vers lesquelles vous pouvez mettre à jour le cluster.

  2. Appelez l'UpdateClusterKafkaVersionopération pour mettre à jour le cluster vers l'une des versions compatibles d'Apache Kafka.

Bonnes pratiques pour les mises à niveau de version

Pour garantir la continuité du client pendant la mise à jour continue effectuée dans le cadre du processus de mise à niveau de la version de Kafka, passez en revue la configuration de vos clients et vos rubriques Apache Kafka comme suit :

  • Définissez le facteur de réplication (RF) du sujet sur une valeur minimale de 2 pour les clusters à deux AZ et une valeur minimale de 3 pour les clusters à trois AZ. Une valeur RF de 2 peut entraîner la création de partitions hors ligne lors de l'application de correctifs.

  • Définissez le nombre minimum de répliques synchronisées (minISR) sur une valeur maximale de RF - 1 pour garantir que l'ensemble de répliques de partitions puisse tolérer qu'une réplique soit hors ligne ou sous-répliquée.

  • Configurez les clients pour qu'ils utilisent plusieurs chaînes de connexion Broker. La présence de plusieurs courtiers dans la chaîne de connexion d'un client permet un basculement si un courtier spécifique prenant en charge les E/S du client commence à être corrigé. Pour plus d'informations sur la façon d'obtenir une chaîne de connexion avec plusieurs courtiers, consultez Obtenir les courtiers bootstrap pour un MSK cluster Amazon.

  • Nous vous recommandons de mettre à niveau les clients de connexion vers la version recommandée ou une version supérieure pour bénéficier des fonctionnalités disponibles dans la nouvelle version. Les mises à niveau des clients ne sont pas soumises aux dates de fin de vie (EOL) de la version Kafka de votre MSK cluster et ne doivent pas nécessairement être terminées à EOL cette date. Apache Kafka fournit une politique de compatibilité client bidirectionnelle qui permet aux anciens clients de travailler avec des clusters plus récents et vice versa.

  • Les clients Kafka utilisant les versions 3.x.x sont susceptibles de présenter les valeurs par défaut suivantes : et. acks=all enable.idempotence=true acks=allest différent de la valeur par défaut précédente de acks=1 et offre une durabilité accrue en garantissant que toutes les répliques synchronisées accusent réception de la demande de production. De même, la valeur par défaut pour enable.idempotence était précédemmentfalse. Le passage à enable.idempotence=true la valeur par défaut réduit le risque de doublons de messages. Ces modifications sont considérées comme des paramètres conformes aux meilleures pratiques et peuvent introduire une petite latence supplémentaire conforme aux paramètres de performance normaux.

  • Utilisez la version recommandée de Kafka lors de la création de nouveaux MSK clusters. L'utilisation de la version recommandée de Kafka vous permet de bénéficier de la dernière version de Kafka et MSK de ses fonctionnalités.