À propos de la réplication interrégionale

Cette page présente la réplication interrégionale pour Memorystore for Redis Cluster.

Pour savoir comment gérer la réplication interrégionale, consultez la section Utiliser la réplication interrégionale.

La réplication interrégionale vous permet de créer des clusters secondaires à partir d'un cluster principal afin de rendre votre cluster disponible en lecture dans différentes régions. Les clusters secondaires offrent également une redondance pour les scénarios de reprise après sinistre en cas d'indisponibilité régionale.

Voici les principaux concepts abordés sur cette page :

  • Cluster principal : cluster en lecture/écriture dans une seule région.
  • Cluster secondaire : cluster en lecture seule qui effectue une réplication asynchrone à partir du cluster principal. Pour en savoir plus sur la promotion et la dissociation des clusters secondaires, consultez les tâches dissocier et basculer décrites dans la section Gérer la réplication interrégionale.
  • Nœud de réplication : nœud du segment du cluster principal qui effectue une réplication vers un nœud suiveur du cluster secondaire. N'importe quel nœud principal ou répliqué du segment peut servir de réplicateur.
  • Nœuds suiveurs : nœuds du cluster secondaire qui effectuent une réplication à partir d'un nœud de réplication du cluster principal. Seuls les nœuds principaux du cluster secondaire peuvent avoir le rôle de suiveur.
  • Nombre de segments et attribution d'emplacements : les clusters principaux et secondaires ont le même nombre de segments et d'attributions d'emplacements.

Avantages

Voici les avantages de la réplication interrégionale sur Memorystore for Redis Cluster :

  • Reprise après sinistre : si la région du cluster principal devient indisponible, vous pouvez dissocier un cluster secondaire dans une autre région ou basculer vers celui-ci pour traiter les requêtes de lecture et d'écriture. Les clusters secondaires traitent les requêtes de lecture sans émettre de commande de basculement ni de dissociation.
  • Données réparties géographiquement : la répartition géographique des données les rapproche de vous et réduit la latence en lecture.
  • Équilibrage de charge géographique pour le/la trafic en lecture : si des connexions lentes ou surchargées se produisent dans une région, vous pouvez rediriger le trafic vers une autre région.

Comportement des fonctionnalités

Cette section explique le comportement important de la fonctionnalité de réplication interrégionale.

  • Faire évoluer la capacité du cluster : lorsque vous faites évoluer la capacité du cluster principal, Memorystore for Redis Cluster fait évoluer automatiquement les clusters secondaires pour qu'ils correspondent au cluster principal.
  • Faire évoluer le nombre d'instances répliquées : vous pouvez faire évoluer le nombre d'instances répliquées pour les clusters principaux et secondaires indépendamment en fonction des besoins de votre charge de travail. Les mises à jour du nombre d'instances répliquées ne sont locales et ne se propagent pas aux autres clusters de la collection de clusters de réplication interrégionale.
  • Basculer en cas d'indisponibilité potentielle : vous pouvez effectuer un basculement pour promouvoir un cluster secondaire, même si le cluster principal n'est pas disponible en raison d'une indisponibilité. Une fois l'indisponibilité résolue, le cluster principal indisponible devient un cluster secondaire.
  • Créer des clusters secondaires en ligne : lorsque vous ajoutez un cluster secondaire à un cluster principal, le cluster principal reste en ligne. Pendant que Memorystore for Redis Cluster crée le cluster secondaire, le cluster principal gère les requêtes et réplique les données.
  • Créer des clusters secondaires : vous pouvez avoir jusqu'à deux clusters secondaires. Ils peuvent se trouver dans la même région ou dans des régions différentes. Vous ne pouvez pas transformer un cluster existant en cluster secondaire. Vous ne pouvez ajouter que de nouveaux clusters en tant que clusters secondaires.
  • Synchroniser les paramètres : Memorystore for Redis Cluster synchronise automatiquement la plupart des paramètres de cluster entre les clusters principaux et secondaires. Pour en savoir plus sur ces paramètres, consultez la section Paramètres du cluster.
  • Tarification : Memorystore for Redis Cluster facture aux clients qui utilisent la réplication interrégionale tous les clusters secondaires que Memorystore for Redis Cluster provisionne pour la réplication interrégionale. Pour chaque nœud et instance répliquée que Memorystore for Redis Cluster déploie sur le cluster secondaire, vous êtes facturé comme pour tout autre cluster principal. De plus, vous encourez des frais de réseau pour le transfert de données entre les clusters de différentes régions.
  • Effectuer des mises à jour de maintenance : pour assurer la compatibilité avec la réplication interrégionale , votre cluster principal peut faire l'objet d'une mise à jour de maintenance lors de la création de votre cluster secondaire. Cette mise à jour a lieu si le cluster principal n'exécute pas la version logicielle requise. Le processus de mise à jour peut entraîner une latence supplémentaire lors de la création de votre cluster secondaire. Pour en savoir plus, consultez la section À propos de la maintenance.

Gérer la réplication interrégionale

La réplication interrégionale implique les tâches suivantes :

  • Créer un cluster secondaire : créez un cluster secondaire qui réplique en continu les données de votre cluster principal.
  • Afficher le cluster secondaire : affichez des informations sur le cluster secondaire, y compris le nom du cluster principal et de l'autre cluster secondaire du groupe de réplication.
  • Dissocier les clusters secondaires : la dissociation des clusters secondaires est une opération qui consiste à dissocier les clusters secondaires de leur cluster principal. Cela en fait des clusters indépendants entièrement fonctionnels qui permettent les opérations de lecture et d'écriture. Après une opération de dissociation, les clusters secondaires ne répliquent plus les données du cluster principal auquel ils étaient auparavant associés. Le cluster principal d'origine et les clusters nouvellement dissociés (anciens clusters secondaires) fonctionnent comme des clusters indépendants sans relation les uns avec les autres.

    Vous dissociez les clusters secondaires pour les raisons suivantes :

    • Migration régionale : effectuez une migration planifiée des ressources Memorystore for Redis Cluster de leur région principale vers une autre région.
    • Reprise après sinistre : activez rapidement les ressources Memorystore for Redis Cluster dans une région secondaire si les ressources de la région principale deviennent indisponibles. Si les clusters secondaires ne sont pas complètement synchronisés avec le cluster principal, une perte de données peut se produire.
  • Basculer vos clusters : effectuez un basculement pour inverser les rôles de vos clusters principaux et secondaires. Vous pouvez effectuer un basculement pour les raisons suivantes :

    • Tester votre configuration de reprise après sinistre
    • Basculer lors d'un scénario de reprise après sinistre réel
    • Effectuer une migration de votre charge de travail

    Une fois le basculement terminé, Memorystore for Redis Cluster inverse le sens de la réplication. L'ancien cluster secondaire peut désormais accepter les opérations de lecture et d'écriture, tandis que l'ancien cluster principal passe en lecture seule.

Exemple d'architecture pour la réplication interrégionale

Ce diagramme montre un cluster principal dans la région us-east1 et des clusters secondaires dans les régions us-west1 et asia-east1. Le sens de la réplication va toujours du cluster principal aux clusters secondaires (dans cet exemple, de la région us-east1 aux autres régions).

Même si ce diagramme montre le même nombre d'instances répliquées dans toutes les régions, la réplication interrégionale vous permet d'avoir un nombre variable d'instances répliquées en fonction de vos besoins.

image

Paramètres du cluster

Cette section explique les paramètres requis, copiés et remplacés pour les clusters principaux et secondaires qui utilisent la réplication interrégionale. Elle explique également les paramètres que vous configurez sur le cluster principal et ceux que vous configurez localement.

Paramètres requis pour créer un cluster secondaire

Pour créer un cluster secondaire, vous devez définir des valeurs pour les paramètres suivants :

  • Google Cloud **project** : projet dans lequel se trouve votre cluster principal et dans lequel vous créez le cluster secondaire.
  • Région : région dans laquelle vous souhaitez que le cluster secondaire soit situé.
  • Configuration Private Service Connect : la configuration réseau du cluster secondaire.
  • Cluster principal : lorsque vous créez le cluster secondaire, vous devez indiquer un cluster principal. Vous pouvez utiliser n'importe quel cluster autre qu'un cluster secondaire comme cluster principal. Si vous n'avez pas de cluster principal, créez-en un.

Paramètres qu'un cluster secondaire copie à partir du cluster principal

Lorsque vous créez un cluster secondaire, ce cluster copie les paramètres suivants à partir du cluster principal :

Remplacer les paramètres par défaut

Lorsque vous créez un cluster secondaire, vous pouvez utiliser les paramètres suivants pour remplacer les paramètres par défaut :

Mettre à jour les paramètres du cluster

Lorsque vous mettez à jour les paramètres de votre cluster dans Memorystore for Redis Cluster, vous ne pouvez modifier certains paramètres que sur le cluster principal. Memorystore for Redis Cluster synchronise automatiquement ces modifications avec les clusters secondaires.

Vous pouvez modifier d'autres paramètres sur les clusters principaux et secondaires indépendamment. Memorystore for Redis Cluster n'applique ces modifications que localement et ne les synchronise pas avec les autres clusters.

Configurer les paramètres sur le cluster principal

Vous devez modifier les paramètres suivants sur le cluster principal. Memorystore for Redis Cluster synchronise automatiquement ces modifications avec les clusters secondaires.

Configurer les paramètres locaux

Vous configurez les paramètres suivants localement :

Bonnes pratiques pour basculer entre les clusters principaux et secondaires

Lorsque vous effectuez un basculement, nous vous recommandons que vous suiviez les instructions de cette section. Ainsi, votre application peut suivre les écritures et les envoyer au cluster approprié.

  1. Empêchez votre application d'écrire dans le cluster principal.
  2. S'il existe plusieurs clusters secondaires à promouvoir, déterminez celui que vous souhaitez promouvoir en cluster principal. Les facteurs suivants peuvent vous aider à déterminer quel cluster secondaire promouvoir :

    • La proximité de votre application avec le cluster. Cela peut affecter la latence en écriture.
    • Le cluster secondaire le plus à jour en termes de données.
    • Le cluster secondaire le plus proche du cluster principal en termes de paramètres.
  3. Effectuez un basculement sur le cluster secondaire.

  4. Attendez que l'opération de basculement se termine.

  5. Mettez à jour votre application pour envoyer toutes les écritures au cluster nouvellement promu que vous avez sélectionné à l'étape 2.