Mise à niveau des versions de moteur - Amazon ElastiCache for Redis

Mise à niveau des versions de moteur

Vous pouvez contrôler si et quand le logiciel conforme au protocole qui alimente votre cluster de cache est mis à niveau vers de nouvelles versions prises en charge par ElastiCache. Ce niveau de contrôle permet de maintenir la compatibilité avec des versions spécifiques, de tester les nouvelles versions avec votre application avant le déploiement en production et de réaliser des mises à niveau en fonction de vos propres conditions et délais.

Comme les mises à niveau de version peuvent présenter un risque en termes de compatibilité, elles ne se produisent pas automatiquement. Vous devez les initier.

Vous lancez les mises à niveau de version du moteur dans votre cluster ou groupe de réplication en le modifiant et en spécifiant une nouvelle version de moteur. Pour plus d'informations, veuillez consulter les ressources suivantes :

Remarques :

  • La gestion de la version du moteur est conçue afin que vous ayez autant de contrôle que possible sur le déroulement de la correction. Cependant, ElastiCache se réserve le droit de corriger votre cluster en votre nom dans l'éventualité improbable d'une faille de vulnérabilité critique dans le système ou le logiciel du cache.

  • À partir de Redis 6.0, ElastiCache for Redis offrira une seule version pour chaque version mineure de Redis OSS, plutôt que de proposer plusieurs versions de correctifs.

  • À partir de Redis 6.0, vous pouvez également opter pour la prochaine mise à niveau automatique de la version mineure en définissant le AutoMinorVersionUpgrade paramètre sur yes, et ElastiCache for Redis gérera la mise à niveau de la version mineure, via des mises à jour en libre-service. Cela sera géré par les canaux standard de notification client via une campagne de mise à jour en libre-service. Pour plus d’informations, consultez Mises à jour en libre-service dans Amazon ElastiCache.

  • À partir de la version 5.0.5 du moteur Redis, vous pouvez mettre à niveau la version de votre cluster avec une interruption minimale. Le cluster est disponible pour la lecture pendant toute la mise à niveau et reste disponible pour l'écriture pendant la majeure partie de la mise à niveau, sauf durant l'opération de basculement, qui dure quelques secondes.

  • Vous pouvez également mettre à niveau vos clusters ElastiCache avec des versions antérieures à 5.0.5. Le processus impliqué est le même, mais peut entraîner un temps de basculement plus long pendant la propagation DNS (30 s-1 mn).

  • Si vous effectuez une mise à niveau vers la version 5.0.3 ou supérieure et que le nombre de vCPUs est d'au moins 4, les déclencheurs d'I/O améliorés et vous pouvez vous attendre à une augmentation des EngineCPUUtilization et CPUUtilization.

  • ElastiCache for Redis ne prend pas en charge le basculement entre Redis (mode cluster désactivé) et Redis (mode cluster activé).

  • Le processus de mise à niveau du moteur Amazon ElastiCache for Redis est conçu pour optimiser la conservation de vos données existantes et nécessite une réplication Redis réussie.

  • Vous ne pouvez pas effectuer une mise à niveau directe de Redis (mode cluster désactivé) vers Redis (mode cluster activé) lorsque vous mettez à niveau votre moteur. La procédure suivante décrit comment effectuer une mise à niveau de Redis (mode cluster désactivé) vers Redis (mode cluster activé).

    Pour effectuer une mise à niveau d'un moteur Redis (mode cluster désactivé) vers Redis (mode cluster activé)

    1. Effectuez une sauvegarde de votre cluster ou de votre groupe de réplication Redis (mode cluster désactivé). Pour plus d’informations, consultez Réalisation de sauvegardes manuelles.

    2. Utilisez cette sauvegarde pour créer et alimenter un cluster Redis avec une partition (groupe de nœuds). Spécifiez la nouvelle version du moteur et activez le mode de cluster lors de la création du cluster ou du groupe de réplication. Pour plus d’informations, consultez Ensemencement d'un nouveau cluster avec une sauvegarde créée en externe.

    3. Supprimez l'ancien cluster ou groupe de réplication Redis (mode cluster désactivé). Pour plus d'informations, consultez Suppression d'un cluster ou Suppression d'un groupe de réplication.

    4. Mettez à l'échelle le nouveau cluster ou groupe de réplication Redis en fonction du nombre de partitions (groupes de nœuds) dont vous avez besoin. Pour plus d’informations, consultez Mise à l'échelle des clusters dans Redis (Mode Cluster activé)

  • Lors de la mise à niveau des versions majeures du moteur, par exemple de 5.0.6 à 6.0, vous devez également choisir un nouveau groupe de paramètres compatible avec la nouvelle version du moteur.

  • Pour les clusters Redis individuels et les clusters avec Multi-AZ désactivé, nous vous conseillons de libérer suffisamment de mémoire pour Redis comme décrit dans S'assurer d'avoir suffisamment de mémoire pour créer un instantané Redis. Dans ce cas, le réplica principal n'est pas disponible pour traiter les demandes de service pendant la mise à niveau.

  • Pour les clusters Redis avec Multi-AZ activé, en plus de ce qui est indiqué précédemment, nous vous conseillons aussi de planifier les mises à niveau de moteur pendant les périodes où le trafic d'écritures entrantes est faible. Lors d'une mise à niveau vers Redis 5.0.6 ou une version ultérieure, le cluster principal reste disponible pour les requêtes de service survenant pendant le processus de mise à niveau. Lors d'une mise à niveau vers Redis 5.0.4 ou une version antérieure, vous pourrez remarquer une courte interruption de l'ordre de quelques secondes, en lien avec la mise à jour du DNS.

    Les clusters et les groupes de réplication avec plusieurs partitions sont traités et soumis à des correctifs comme suit :

    • Toutes les partitions sont traitées en parallèle. Une seule opération de mise à niveau à la fois est effectuée sur une partition.

    • Dans chaque partition, tous les réplicas sont traités avant le réplica principal. S'il y a moins de réplicas dans une partition, le réplica principal de cette partition peut être traité avant que le traitement des réplicas des autres partitions ne soit terminé.

    • Dans toutes les partitions, les nœuds principaux sont traités en séries. Un seul nœud principal est mis à niveau à la fois.

  • Si les chiffrements sont activés sur votre cluster ou votre groupe de réplication actuel, vous ne pouvez pas effectuer de mise à niveau vers une version du moteur ne prenant pas en charge le chiffrement, comme par exemple de 3.2.6 vers 3.2.10.

Comment mettre à niveau les versions de moteur

Vous initiez des mises à niveau de version dans votre cluster ou groupe de réplication en le modifiant à l'aide de la console ElastiCache, de la AWS CLI ou de l'API ElastiCache et en spécifiant une version de moteur plus récente. Pour plus d'informations, consultez les rubriques suivantes.

Résolution des mises à niveau du moteur Redis bloquées

Comme illustré dans le tableau suivant, la mise à niveau du moteur Redis est bloquée si une opération de dimensionnement est en cours.

Opérations en suspens Opérations bloquées
Mise à l'échelle ascendante Mise à l'échelle ascendante
Mise à niveau du moteur Mise à niveau du moteur
Augmentation et mise à niveau du moteur Mise à niveau du moteur
Mise à l'échelle ascendante

Pour résoudre une mise à niveau du moteur Redis bloquée

  • Effectuez l'une des actions suivantes :

    • Planifiez votre opération de mise à niveau du moteur Redis au cours de la prochaine fenêtre de maintenance en désélectionnant la case à cocher Apply immediately (Appliquer immédiatement).

      Avec la CLI, utilisez --no-apply-immediately. Avec l'API, utilisez ApplyImmediately=false.

    • Patientez jusqu'à votre prochaine fenêtre de maintenance (ou la suivante) pour effectuer votre opération de mise à niveau du moteur Redis.

    • Ajoutez l'opération d'augmentation de Redis pour cette modification de cluster en cochant la case à cocher Apply immediately (Appliquer immédiatement).

      Avec la CLI, utilisez --apply-immediately. Avec l'API, utilisez ApplyImmediately=true.

      Cette approche annule efficacement la mise à niveau du moteur lors de la prochaine fenêtre de maintenance en l'effectuant immédiatement.