Comment minimiser la durée d’indisponibilité dans ElastiCache lors du basculement ?
Je souhaite suivre les bonnes pratiques afin de minimiser la durée d’indisponibilité lors des basculements pour Amazon ElastiCache for Redis OSS et Amazon ElastiCache pour Valkey.
Brève description
ElastiCache peut subir des basculements qui affectent les performances et la fiabilité des applications pour les raisons suivantes :
- Si vous épuisez des ressources, telles que la mémoire, le processeur et la bande passante du réseau, vos nœuds peuvent basculer.
- Si AWS planifie un événement de maintenance pour une mise à jour, vos nœuds peuvent basculer.
- Si le matériel physique de l'infrastructure qui héberge les nœuds tombe en panne ou présente des problèmes, vos nœuds peuvent basculer.
- Si vous ne configurez pas correctement les applications ou les services qui interagissent avec votre cache, les configurations peuvent entraîner une durée d’indisponibilité plus longue.
Résolution
Activer Multi-AZ
Pour créer et gérer des nœuds primaires et des nœuds de réplication dans différentes zones de disponibilité (AZ) d'une région AWS, utilisez la fonctionnalité Multi-AZ d’ElastiCache. Si le nœud primaire tombe en panne, le nœud de réplication prend le rôle de nœud primaire avec une durée d’indisponibilté minimale.
Ajouter des réplicas en lecture
Lorsque vous ajoutez des réplicas en lecture à vos déploiements Redis, vous réduisez considérablement la durée d’indisponibilité et la perte de données lors des tâches de basculement. Lorsque vos réplicas en lecture gèrent les demandes de lecture, configurez votre nœud primaire pour gérer les opérations d'écriture. Cette configuration offre les avantages suivants :
- Améliore le débit de lecture
- Réduit la latence
- Fournit une tolérance aux pannes
- Simplifie les tâches de maintenance qui entraînent une durée d’indisponibilité pour votre cluster
Répartir les nœuds dans les zones de disponibilité
Lorsque vous répartissez des nœuds dans plusieurs zones de disponibilité, les réplicas dans différentes zones de disponibilité offrent une haute disponibilité et permettent des opérations de lecture continues. Cette configuration améliore la résilience du système et réduit la durée d’indisponibilité en cas de basculement des nœuds. Vous pouvez répartir vos nœuds sur plusieurs zones de disponibilité lorsque vous configurez votre cluster pour la première fois ou lorsque vous ajoutez de nouveaux nœuds à un cluster existant. Pour plus d'informations, consultez la section Choix des régions et des zones de disponibilité pour ElastiCache.
Utiliser la dernière version de Valkey ou Redis OSS
En fonction de votre cluster et de votre type de nœud, utilisez la dernière version de Valkey ou Redis OSS pour prendre en charge les dernières fonctionnalités. Par exemple, les clusters désactivés en mode cluster requièrent Valkey version 7.2 ou Redis OSS version 5.0.6 ou ultérieure pour utiliser la fonctionnalité de remplacement planifié des nœuds. Pour en savoir plus, consultez la section Types de nœuds pris en charge.
Surveiller les événements de cluster
Pour identifier les basculements et y répondre, examinez les événements de votre cluster ElastiCache. Pour détecter rapidement les basculements, utilisez Amazon Simple Notification Service (Amazon SNS) pour configurer ElastiCache afin qu'il envoie des notifications pour les événements de cluster importants.
Utiliser les points de terminaison appropriés
Pour minimiser la durée d’indisponibilité lors du basculement, vous devez utiliser les points de terminaison appropriés pour votre cluster ElastiCache pour Redis OSS en fonction de la configuration de votre cluster. Pour répartir les charges de travail de lecture entre les réplicas pour les clusters désactivés en mode cluster, utilisez le point de terminaison principal pour les opérations d'écriture et le point de terminaison du lecteur pour les opérations de lecture. Pour les clusters activés en mode cluster, utilisez le point de terminaison de configuration pour toutes les opérations afin de gérer automatiquement les connexions aux nœuds appropriés. Lorsque vous choisissez le point de terminaison adapté à votre mode cluster, vous optimisez les performances et créez un processus de basculement fluide. Pour en savoir plus, consultez la section Trouver des points de terminaison de connexion.
Remarque : Il n'est pas recommandé d'utiliser directement les points de terminaison des nœuds individuels. Utilisez plutôt les points de terminaison adaptés à votre type de connexion. Étant donné que les rôles des nœuds peuvent changer lors des événements de basculement, vous rencontrez davantage de problèmes d'application si vous utilisez un point de terminaison de nœud individuel.
Tester régulièrement le basculement automatique
Pour garantir la fiabilité des déploiements Redis, il est recommandé de tester régulièrement le basculement automatique. Pour tester le basculement automatique, vous devez simuler une défaillance du nœud primaire afin de vous assurer que vos réplicas sont promus au statut primaire. Ces tests peuvent identifier les problèmes dans vos configurations et vous permettre de les résoudre avant qu'ils n'affectent vos clusters. En outre, les tests de basculement fournissent des informations sur les performances des applications et sur la manière d'optimiser votre architecture et vos procédures de restauration.
Suivre les bonnes pratiques pour vos clients Redis
Pour vos clients Redis, suivez les bonnes pratiques ci-dessous :
- Pour améliorer les performances et la capacité de mise à l’échelle des applications, utilisez le regroupement de connexions pour gérer les connexions préétablies et réutilisables. Pour plus d'informations, consultez la page Groupes de connexions et multiplexage sur le site Web de Redis.
- Implémentez la gestion des exceptions et des délais d'expiration afin de garantir l’efficacité des applications pour votre cluster Redis. Vous pouvez également consulter vos journaux pour connaître les délais d'expiration afin d'identifier les problèmes et d'ajuster vos configurations. Pour en savoir plus, consultez la page Délais d’attente du client du site Web de Redis.
- Pour garantir la résilience des applications, implémentez des mécanismes de nouvelle tentative qui utilisent une stratégie de backoff exponentiel. Configurez les mécanismes pour distinguer les erreurs transitoires qui justifient de nouvelles tentatives des échecs permanents qui ne justifient pas de nouvelles tentatives. Pour plus d'informations, consultez la section Découverte de clients de cluster et backoff exponentiel (Valkey et Redis OSS).
- Activez les journaux pour capturer les métriques clés et les erreurs, et établir une base de performance de référence pour votre cluster. Pour plus d'informations, consultez la page Journalisation des événements sur le site Web de Redis.
- Concevez vos clients de manière à gérer de manière dynamique les modifications de topologie des clusters et à s'adapter aux changements de nœud et de rôle. Pour maintenir les connexions aux nœuds de cluster et optimiser vos clusters, implémentez un regroupement de connexions intelligent. Pour plus d'informations, consultez la page Bibliothèques de clusters et client Redis sur le site Web de Redis.
Informations connexes
Surveillance des bonnes pratiques avec Amazon ElastiCache for Redis à l’aide d’Amazon CloudWatch
Comment résoudre les problèmes de latence élevée dans ElastiCache for Redis ?
Clients de connexion pris en charge sur le site Web de Redis
- Sujets
- Database
- Balises
- Amazon ElastiCache
- Langue
- Français

Contenus pertinents
demandé il y a 10 mois
demandé il y a 2 ans
demandé il y a un an