Haute disponibilité et récupération d’urgence

Comme pour tous les systèmes cloud, des interruptions non planifiées peuvent se produire, entraînant l’arrêt d’une instance de machine virtuelle (VM), d’une zone de disponibilité ou d’une région Azure complète. Nous recommandons aux clients de mettre en place un plan pour gérer les pannes de zone ou de région.

Cet article présente les informations permettant aux clients de créer un plan de continuité d'activité et reprise d'activité pour leur implémentation Azure Cache pour Redis ou Azure Cache pour Redis Enterprise.

Diverses options de haute disponibilité sont disponibles dans les niveaux Standard, Premium et Entreprise :

Option Description Disponibilité standard Premium Enterprise
Réplication standard Configuration répliquée à deux nœuds dans un centre de données avec basculement automatique 99.9 % (voir les détails)
Redondance de zone Configuration répliquée à plusieurs nœuds dans les zones de disponibilité, avec basculement automatique 99,9 % dans Premium ; 99,99 % dans Enterprise (voir les détails) -
Géoréplication Instances de cache liées dans deux régions, avec basculement contrôlé par l’utilisateur Premium ; Enterprise (voir les détails) - Passif Actif
Import/Export Instantané à un point dans le temps des données dans le cache. 99.9 % (voir les détails) -
Persistance Enregistrement périodique des données dans le compte de stockage. 99.9 % (voir les détails) - PRÉVERSION

Réplication standard pour la haute disponibilité

Niveaux applicables : Standard, Premium, Enterprise, Enterprise Flash

Recommandé pour : Haute disponibilité

Azure Cache pour Redis dispose d’une architecture de haute disponibilité qui garantit le fonctionnement de votre instance gérée, même lorsque des pannes affectent les machines virtuelles sous-jacentes. Qu’il s’agisse d’interruptions planifiées ou non, Azure Cache pour Redis offre des taux de pourcentage de disponibilité supérieurs à ce qui est réalisable avec l’hébergement de Redis sur une seule machine virtuelle.

Une instance Azure Cache pour Redis dans les niveaux applicables s’exécute par défaut sur une paire de serveurs Redis. Les deux serveurs sont hébergés sur des machines virtuelles dédiées. Le logiciel Redis open source permet à un seul serveur de traiter les demandes d’écriture de données.

Avec Azure Cache pour Redis, un serveur est le nœud principal, tandis que l’autre est le réplica. Après avoir configuré les nœuds de serveur, Azure Cache pour Redis leur attribue des rôles principaux et de réplica. Le nœud principal est généralement chargé de traiter les requêtes d’écriture et de lecture des clients. Lors d’une opération d’écriture, il valide une nouvelle clé et une mise à jour de clé dans sa mémoire interne et répond immédiatement au client. Il transfère l’opération au réplica de manière asynchrone.

Data replication setup

Remarque

Normalement, une application cliente Azure Cache pour Redis communique avec le nœud principal dans un cache pour toutes les requêtes de lecture et d’écriture. Certains clients peuvent être configurés pour lire à partir du nœud de réplica.

Si le nœud principal d’un cache n’est pas disponible, le réplica se promeut automatiquement pour devenir le nouveau nœud principal. Ce processus s’appelle le basculement. Un basculement consiste simplement en deux nœuds, principal/réplica, échange de rôles, réplica/principal, avec l’un des nœuds pouvant être hors connexion pendant quelques minutes. Dans la plupart des basculements, les nœuds principal et réplica coordonnent la remise afin que ne soyez quasiment jamais sans principal.

L’ancien principal passe brièvement hors connexion pour recevoir les mises à jour du nouveau principal. Ensuite, le réplica revient en ligne et rejoint le cache entièrement synchronisé. La clé est que, lorsqu’un nœud n’est pas disponible, il s’agit d’une condition temporaire et il revient en ligne.

Une séquence de basculement classique ressemble à ceci lorsqu’un principal doit être arrêté pour maintenance :

  1. Les nœuds principal et réplica négocient un basculement coordonné et échangent les rôles.
  2. Le réplica (anciennement principal) passe hors connexion pour un redémarrage.
  3. Quelques secondes ou quelques minutes plus tard, le réplica revient en ligne.
  4. Le réplica synchronise les données à partir du principal.

Un nœud principal peut être mis hors service dans le cadre d’une activité de maintenance planifiée, telle qu’une mise à jour du logiciel Redis ou du système d’exploitation. Il peut également cesser de fonctionner en raison d’événements imprévus tels que des défaillances du matériel, du logiciel ou du réseau sous-jacent. L’article Basculement et mise à jour corrective pour Azure Cache pour Redis fournit une explication détaillée sur les types de basculements. Une instance Azure Cache pour Redis connaît de nombreux basculements au cours de sa vie. La conception de l’architecture de haute disponibilité rend ces modifications à l’intérieur d’un cache aussi transparentes que possible pour ses clients.

Azure Cache pour Redis fournit également plus de nœuds de réplica dans le niveau Premium. Un cache à réplicas multiples peut être configuré avec un maximum de trois nœuds de réplica. Le fait de disposer d’un plus grand nombre de réplicas améliore généralement la résilience, car les nœuds supplémentaires viennent en renfort du nœud principal. Même avec davantage de réplicas, une instance Azure Cache pour Redis peut toujours être gravement affectée par une panne du centre de données ou de la zone de disponibilité. Vous pouvez augmenter la disponibilité du cache en utilisant plusieurs réplicas avec la redondance de zone.

Redondance de zone

Niveaux applicables : Premium, Enterprise, Enterprise Flash

Recommandé pour : Haute disponibilité, Reprise d’activité - intra-région

Azure Cache pour Redis prend en charge les configurations redondantes interzones dans les niveaux Premium et Entreprise. Un cache redondant interzone peut placer ses nœuds dans différentes Zones de disponibilité Azure au sein de la même région. Ainsi, les pannes du centre de donnée ou de la zone de disponibilité ne constituent plus un point de défaillance unique et la disponibilité globale de votre cache en est accrue. Consultez cet article pour obtenir des informations sur sa configuration.

Si un cache est configuré pour utiliser deux zones ou plus comme décrit précédemment dans cet article, les nœuds de cache sont créés dans des zones différentes. Lorsqu’une zone tombe en panne, des nœuds de cache dans d’autres zones sont disponibles pour que le cache continue à fonctionner normalement.

Azure Cache pour Redis prend en charge les configurations redondantes interzones dans les niveaux Premium et Entreprise. Un cache redondant interzone peut placer ses nœuds dans différentes Zones de disponibilité Azure au sein de la même région. Ainsi, les pannes du centre de donnée ou de la zone de disponibilité ne constituent plus un point de défaillance unique et la disponibilité globale de votre cache en est accrue.

Niveau Premium

Le diagramme suivant illustre la configuration redondante interzone pour le niveau Premium :

Zone redundancy setup

Azure Cache pour Redis distribue les nœuds dans un cache redondant interzone de manière alternée sur les zones de disponibilité sélectionnées. Il détermine également le nœud qui sert initialement de nœud principal.

Expérience de défaillance de zone pour le niveau Premium

Un cache redondant interzone assure le basculement automatique. Lorsque le nœud principal actuel n’est pas disponible, l’un des réplicas prend le relais. Le temps de réponse du cache de votre application peut être plus long si le nouveau nœud principal se trouve dans une autre zone de disponibilité. Les zones de disponibilité se trouvent à des endroits différents. Passer d’une zone de disponibilité à une autre modifie la distance physique entre les emplacements où votre application et votre cache sont hébergés. Cette modification a un impact sur les latences réseau aller-retour entre votre application et le cache. La latence supplémentaire devrait se situer dans une fourchette acceptable pour la plupart des applications. Nous vous recommandons de tester votre application pour vous assurer qu’elle fonctionne correctement avec un cache redondant interzone.

Niveaux Entreprise et Enterprise Flash

Un cache dans l’un ou l’autre des niveaux Enterprise s’exécute sur un cluster Redis Entreprise. Il nécessite toujours un nombre impair de nœuds de serveur pour former un quorum. Par défaut, il est composé de trois nœuds, chacun étant hébergé sur une machine virtuelle dédiée.

  • Un cache Entreprise a deux nœuds de données de taille identique et un nœud de quorum plus petit.
  • Un cache Enterprise Flash comporte trois nœuds de données de même taille.

Le cluster Enterprise divise les données Azure Cache pour Redis en partitions internes. Chaque partition possède un principal et au moins un réplica. Chaque nœud de données contient une ou plusieurs partitions. Le cluster Entreprise s’assure que le principal et les réplicas de n’importe quelle partition ne sont jamais colocalisés sur le même nœud de données. Les partitions répliquent les données de manière asynchrone des principaux vers leurs réplicas correspondants.

Expérience de défaillance de zone pour les niveaux Entreprise

Lorsqu’un nœud de données devient indisponible ou qu’un fractionnement du réseau se produit, un basculement similaire à celui décrit dans Réplication standard a lieu. Le cluster Enterprise utilise un modèle basé sur le quorum pour déterminer les nœuds survivants qui font partie d’un nouveau quorum. Il promeut également des partitions de réplica au sein de ces nœuds vers les principaux, le cas échéant.

Disponibilité régionale

Les caches de niveau Premium redondants interzones sont disponibles dans les régions suivantes :

Amérique Europe Moyen-Orient Afrique Asie-Pacifique
Brésil Sud France Centre Qatar Central Afrique du Sud Nord Australie Est
Centre du Canada Allemagne Centre-Ouest Inde centrale
USA Centre Europe Nord Japon Est
USA Est Norvège Est Centre de la Corée
USA Est 2 Sud du Royaume-Uni Asie Sud-Est
États-Unis - partie centrale méridionale Europe Ouest Asie Est
Gouvernement américain - Virginie Suède Centre Chine Nord 3
USA Ouest 2 Suisse Nord
USA Ouest 3

Les caches de niveau Entreprise er Enterprise Flash redondants interzones sont disponibles dans les régions suivantes :

Amérique Europe Moyen-Orient Afrique Asie-Pacifique
Canada Centre* Europe Nord Australie Est
USA Centre* Sud du Royaume-Uni Inde centrale
USA Est Europe Ouest Asie Sud-Est
USA Est 2 Japon Est*
États-Unis - partie centrale méridionale Asie Est*
USA Ouest 2
USA Ouest 3
Brésil Sud

* Le niveau Enterprise Flash n’est pas disponible dans cette région.

Redéploiement et migration des zones de disponibilité

Actuellement, la seule façon de convertir votre cache d’une configuration sans zones de disponibilité (non AZ) en configuration avec zones de disponibilité (AZ) consiste à redéployer le cache. Pour savoir comment redéployer votre cache actuel, consultez Migrer une instance Azure Cache pour Redis vers la prise en charge de la zone de disponibilité.

Persistance

Niveaux applicables : Premium, Enterprise (préversion), Enterprise Flash (préversion)

Recommandé pour : Durabilité des données

Étant donné que vos données de cache sont stockées en mémoire, une défaillance rare et non planifiée de plusieurs nœuds peut entraîner la suppression de toutes les données. Pour éviter la perte complète des données, Persistance Redis vous permet de prendre des instantanés périodiques de données en mémoire et de les stocker dans votre compte de stockage. Si vous rencontrez une défaillance sur plusieurs nœuds entraînant une perte de données, votre cache charge l’instantané à partir du compte de stockage. Pour plus d’informations, consultez Configurer la persistance des données pour une instance Azure Cache pour Redis Premium.

Compte de Stockage pour la persistance

Envisagez de choisir un compte de stockage géoredondant pour garantir la haute disponibilité des données persistantes. Pour plus d’informations, consultez Redondance de Stockage Azure.

Importer/Exporter

Niveaux applicables : Premium, Enterprise, Enterprise Flash

Recommandé pour : Reprise d’activité

Le cache Azure pour Redis prend en charge l’option permettant d’importer et d’exporter des fichiers de base de données Redis (RDB) pour assurer la portabilité des données. Elle vous permet d’importer des données dans Azure Cache pour Redis ou d’exporter des données à partir d’Azure Cache pour Redis à l’aide d’un instantané RDB. L’instantané RDB d’un cache Premium est exporté vers un objet blob dans un compte de stockage Azure. Vous pouvez créer un script pour déclencher régulièrement une exportation vers votre compte de stockage. Pour plus d’informations, consultez Importer et exporter des données dans Azure Cache pour Redis.

Compte de stockage pour l’exportation

Envisagez de choisir un compte de stockage géoredondant pour garantir la haute disponibilité de vos données exportées. Pour plus d’informations, consultez Redondance de Stockage Azure.

Géoréplication passive

Niveau applicable : Premium

Recommandé pour : Reprise d’activité - région unique

La géoréplication est un mécanisme de liaison de deux (ou plus) instances Azure Cache pour Redis, couvrant généralement deux régions Azure. La géoréplication est conçue principalement pour la reprise d’activité inter-région. Deux instances de cache de niveau Premium sont connectées via la géoréplication de sorte à fournir des lectures et des écritures dans votre cache principal, et les données sont répliquées dans le cache secondaire.

Pour plus d’informations sur sa configuration, consultez Configurer la géoréplication pour des instances Azure Cache pour Redis Premium.

Si la région hébergeant le cache principal tombe en panne, vous devez commencer le basculement en : dissociant tout d’abord le cache secondaire, puis en mettant à jour votre application pour qu’elle pointe vers le cache secondaire pour les lectures et les écritures.

La géoréplication active

Niveaux applicables : Enterprise, Enterprise Flash

Recommandé pour : Haute disponibilité, Reprise d’activité - multirégion

Les niveaux Entreprise prennent en charge une forme plus avancée de géoréplication appelée géoréplication active qui offre à la fois une plus haute disponibilité et une reprise d’activité inter-région dans plusieurs régions. Le logiciel Azure Cache pour Redis Enterprise utilise des types de données répliquées non conflictuels pour prendre en charge les écritures dans plusieurs instances de cache, fusionner les modifications et résoudre les conflits. Vous pouvez joindre jusqu’à cinq instances de cache de niveau Enterprise dans différentes régions Azure pour former un groupe de géoréplication.

Une application qui utilise ce type de cache peut lire et écrire des données dans l’une des instances de cache géodistribuées via leurs points de terminaison correspondants. L’application doit utiliser ce qui se trouve le plus près de chaque instance d’application, pour vous assurer le temps de latence le plus court. Pour plus d’informations, consultez Configurer la géoréplication active pour les instances Azure Cache pour Redis Enterprise.

Si une région de l’un des caches de votre groupe de réplication tombe en panne, votre application doit basculer vers une autre région disponible.

Lorsqu’un cache dans votre groupe de réplication n’est pas disponible, nous vous recommandons d’analyser l’utilisation de la mémoire d’autres caches dans le même groupe de réplication. Lorsque l’un des caches est en panne, tous les autres caches dans le groupe de réplication commencent à enregistrer les métadonnées qu’ils n’ont pas pu partager avec le cache en panne. Si l’utilisation de la mémoire des caches disponibles commence à augmenter à un taux élevé après une panne de l’un des caches, envisagez de dissocier le cache qui n’est pas disponible du groupe de réplication.

Pour plus d’informations sur la dissociation forcée, consultez Forcer la dissociation en cas de panne d’une région.

Supprimer et recréer un cache

Niveaux applicables : Standard, Premium, Enterprise, Enterprise Flash

Si vous rencontrez une panne de région, vous pouvez recréer votre cache dans une autre région et mettre à jour votre application pour qu’elle se connecte au nouveau cache à la place. Il est important de comprendre que des données sont perdues lors d’une panne de région. Votre code d’application doit être résilient à la perte de données.

Une fois la région affectée restaurée, votre Azure Cache pour Redis non disponible est automatiquement restauré et peut être à nouveau utilisé. Pour plus d’informations sur les stratégies de déplacement de votre cache vers une autre région, consultez Déplacer des instances Azure Cache pour Redis vers différentes régions.

Étapes suivantes

En savoir plus sur la configuration des options de haute disponibilité d’Azure Cache pour Redis.