Partager via


Configurer la géoréplication active pour les instances Azure Cache pour Redis Enterprise

Dans cet article, vous allez voir comment configurer un cache avec géoréplication active à l’aide du portail Azure.

La géoréplication active regroupe jusqu’à cinq instances Azure Cache pour Redis Enterprise dans un même cache qui s’étend sur plusieurs régions Azure. Toutes les instances agissent comme des caches principaux locaux. Une application détermine la ou les instances à utiliser pour les demandes de lecture et d’écriture.

Notes

Le transfert de données entre régions Azure est facturé aux tarifs de bande passante standard.

Étendue de la disponibilité

Niveau De base, Standard Premium Enterprise, Enterprise Flash
Disponible Non Non Oui

Le niveau Premium d’Azure Cache pour Redis propose une version de géoréplication appelée géoréplication passive. La géoréplication passive fournit une configuration active-passive.

Conditions préalables à la géoréplication active

Il existe quelques restrictions lors de l’utilisation de la géoréplication active :

  • Seuls les modules RediSearch et RedisJSON sont pris en charge
  • Sur le niveau Enterprise Flash, seule la stratégie d’éviction Sans éviction peut être utilisée. Toutes les stratégies d’éviction sont prises en charge au niveau Enterprise.
  • La persistance des données n’est pas prise en charge, car la géoréplication active offre une expérience supérieure.
  • Vous ne pouvez pas ajouter un cache existant (c’est-à-dire en cours d’exécution) à un groupe de géoréplication. Vous ne pouvez ajouter un cache à un groupe de géoréplication que lorsque vous créez le cache.
  • Tous les caches d’un groupe de géoréplication doivent avoir la même configuration. Par exemple, tous les caches doivent avoir les mêmes référence SKU, capacité, stratégie d’éviction, stratégie de clustering, modules et paramètre TLS.
  • Vous ne pouvez pas utiliser les commandes Redis FLUSHALL et FLUSHDB lors de l’utilisation de la géoréplication active. L’interdiction des commandes empêche la suppression involontaire des données. Utilisez plutôt l’opération de vidage à partir du portail.
  • La référence SKU E1 ne prend pas en charge la géoréplication active.

Créer ou rejoindre un groupe de géoréplication active

  1. Lors de la création d’une ressource Azure Cache pour Redis, sélectionnez l’onglet Avancé. Complétez la première partie du formulaire, y compris la stratégie de clustering. Pour plus d’informations sur le choix d’une stratégie de clustering, consultez Clustering.

  2. Sélectionnez Configurer pour configurer la Géo-réplication active.

    Capture d’écran de l’onglet Avancé de la page  de création de cache Redis.

  3. Créez un nouveau groupe de réplication pour une première instance de cache. Ou bien, sélectionnez un modèle existant dans la liste.

    Capture d’écran montrant des groupes de réplication.

  4. Sélectionnez Configurer pour terminer.

  5. Patientez pendant la création du premier cache. Une fois terminé, vous voyez Configuré défini pour la Géoréplication active. Répétez les étapes ci-dessus pour chaque instance de cache du groupe de géoréplication.

    Capture d’écran montrant que la géoreplication active est configurée.

Supprimer une instance d’un groupe de géoréplication active

Pour supprimer une instance de cache d’un groupe de géoréplication active, supprimez simplement l’instance. Les instances restantes sont ensuite automatiquement reconfigurées.

Si l’un des caches dans votre groupe de réplication n’est pas disponible en raison d’une panne de région, vous pouvez forcer la suppression du cache non disponible du groupe de réplication. Après avoir appliqué Forcer la dissociation à un cache, vous ne pouvez pas resynchroniser les données écrites dans ce cache avec le groupe de réplication.

Vous devez supprimer le cache non disponible, car les caches restants dans le groupe de réplication commencent à stocker les métadonnées qui n’ont pas été partagées dans le cache non disponible. Dans ce cas, les caches disponibles dans votre groupe de réplication peuvent manquer de mémoire.

  1. Accédez au Portail Azure et sélectionnez l’un des caches dans le groupe de réplication qui est toujours disponible.

  2. Sélectionnez la géo-réplication active dans le menu Ressource à gauche pour afficher les paramètres dans le volet de travail.

    Capture d’écran montrant des groupes de géoréplication active.

  3. Sélectionnez le cache dont vous avez besoin pour forcer la dissociation en activant la case à cocher.

  4. Sélectionnez Force unlink (Forcer la dissociation), puis OK pour confirmer.

    Capture d’écran montrant la dissociation dans la géoréplication active.

  5. Une fois la disponibilité de la région affectée restaurée, vous devez supprimer le cache affecté et le recréer pour le rajouter à votre groupe de réplication.

Configurer la géoréplication active à l’aide d’Azure CLI ou de PowerShell

Azure CLI

Utilisez Azure CLI pour créer un cache et un groupe de géoréplication, ou pour ajouter un nouveau cache à un groupe de géoréplication existant. Pour plus d’informations, consultez az redisenterprise create.

Créer une instance Enterprise dans un nouveau groupe de géoréplication à l’aide d’Azure CLI

Cet exemple crée une instance de cache Azure Cache pour Redis Enterprise E10 nommée Cache1 dans la région USA Est. Ensuite, le cache est ajouté à un nouveau groupe de géoréplication active nommé replicationGroup :

az redisenterprise create --location "East US" --cluster-name "Cache1" --sku "Enterprise_E10" --resource-group "myResourceGroup" --group-nickname "replicationGroup" --linked-databases id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"

Pour configurer correctement la géoréplication active, l’ID de l’instance de cache en cours de création doit être ajouté avec le paramètre --linked-databases. L’ID est au format suivant :

/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default

Créer une instance Enterprise dans un groupe de géoréplication existant à l’aide d’Azure CLI

Cet exemple crée une instance de cache Enterprise E10 nommée Cache2 dans la région USA Ouest. Ensuite, le script ajoute le cache au groupe de géoréplication active replicationGroup créé dans une procédure précédente. De cette façon, il est lié dans une configuration active-active avec Cache1.

az redisenterprise create --location "West US" --cluster-name "Cache2" --sku "Enterprise_E10" --resource-group "myResourceGroup" --group-nickname "replicationGroup" --linked-databases id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default" --linked-databases id="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"

Comme précédemment, vous devez lister Cache1 et Cache2 à l’aide du paramètre --linked-databases.

Azure PowerShell

Utilisez Azure PowerShell pour créer un cache et un groupe de géoréplication, ou pour ajouter un nouveau cache à un groupe de géoréplication existant. Pour plus d’informations, consultez New-AzRedisEnterpriseCache.

Créer une instance Enterprise dans un nouveau groupe de géoréplication à l’aide de PowerShell

Cet exemple crée une instance de cache Azure Cache pour Redis Enterprise E10 nommée Cache1 dans la région USA Est. Ensuite, le cache est ajouté à un nouveau groupe de géoréplication active nommé replicationGroup :

New-AzRedisEnterpriseCache -Name "Cache1" -ResourceGroupName "myResourceGroup" -Location "East US" -Sku "Enterprise_E10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}'

Pour configurer correctement la géoréplication active, l’ID de l’instance de cache en cours de création doit être ajouté avec le paramètre -LinkedDatabase. L’ID est au format suivant :

/subscriptions/<your-subscription-ID>/resourceGroups/<your-resource-group-name>/providers/Microsoft.Cache/redisEnterprise/<your-cache-name>/databases/default

Créer une instance Enterprise dans un groupe de géoréplication existant à l’aide de PowerShell

Cet exemple crée une instance de cache Enterprise E10 nommée Cache2 dans la région USA Ouest. Ensuite, le script ajoute le cache au groupe de géoréplication active replicationGroup créé dans la procédure précédente. Après l’exécution de la commande, les deux caches, Cache1 et Cache2, sont liés dans une configuration en mode actif-actif.

New-AzRedisEnterpriseCache -Name "Cache2" -ResourceGroupName "myResourceGroup" -Location "West US" -Sku "Enterprise_E10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}', '{id:"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache2/databases/default"}'

Comme précédemment, vous devez lister Cache1 et Cache2 à l’aide du paramètre -LinkedDatabase.

Mise à l’échelle des instances dans un groupe de géoréplication

Il est possible de mettre à l’échelle des instances configurées pour utiliser la géoréplication active. Toutefois, un groupe de géoréplication composé de différentes tailles de cache peut poser des problèmes. Pour éviter que ces problèmes ne se produisent, tous les caches d’un groupe de géoréplication doivent avoir la même taille et la même capacité.

Étant donné qu’il est difficile de mettre à l’échelle simultanément toutes les instances du groupe de géoréplication, Azure Cache pour Redis dispose d’un mécanisme de verrouillage. Si vous mettez à l’échelle une instance dans un groupe de géoréplication, la machine virtuelle sous-jacente est mise à l’échelle, mais la mémoire disponible est plafonnée à la taille d’origine jusqu’à ce que les autres instances soient également mises à l’échelle. Toutes les autres opérations de mise à l’échelle des instances restantes sont verrouillées jusqu’à ce qu’elles correspondent à la même configuration que le premier cache à mettre à l’échelle.

Exemple de mise à l’échelle

Par exemple, vous pouvez avoir trois instances Enterprise E10 dans votre groupe de géoréplication :

Nom d'instance Redis00 Redis01 Redis02
Type Enterprise E10 Enterprise E10 Enterprise E10

Supposons que vous souhaitiez faire évoluer chaque instance de ce groupe de géoréplication vers une instance Enterprise E20. Vous devez d’abord mettre à l’échelle l’un des caches jusqu’au niveau E20 :

Nom d'instance Redis00 Redis01 Redis02
Type Enterprise E20 Enterprise E10 Enterprise E10

À ce stade, les instances Redis01 et Redis02 peuvent uniquement effectuer un scale-up vers une instance Enterprise E20. Toutes les autres opérations de mise à l’échelle sont verrouillées.

Remarque

À ce stade, l’instance Redis00 peut toujours être mise à l’échelle vers un niveau supérieur. Mais elle sera verrouillée une fois que Redis01 ou Redis02 aura été mise à l’échelle Entreprise E20.

Une fois que chaque instance est mise à l’échelle au même niveau et à la même taille, tous les verrous de mise à l’échelle sont supprimés :

Nom d'instance Redis00 Redis01 Redis02
Type Enterprise E20 Enterprise E20 Enterprise E20

Opération de vidage

En raison du risque de perte de données par inadvertance, vous ne pouvez pas utiliser les commandes Redis FLUSHALL et FLUSHDB avec une instance de cache résidant dans un groupe de géoréplication. Utilisez plutôt le bouton Vider le ou les caches situé en haut du volet de travail La géoréplication active.

Capture d’écran montrant la géoréplication active sélectionnée dans le menu Ressource et la fonctionnalité Vider le cache est encadrée en rouge.

Vider les caches à l’aide d’Azure CLI ou de PowerShell

Azure CLI et PowerShell peuvent également être utilisés pour déclencher une opération de vidage. Pour plus d’informations sur l’utilisation d’Azure CLI, consultez az redisenterprise database flush. Pour plus d’informations sur l’utilisation de PowerShell, consultez Invoke-AzRedisEnterpriseCacheDatabaseFlush.

Important

Soyez prudent lorsque vous utilisez la fonctionnalité Vider les caches. La sélection du bouton supprime toutes les données du cache actuel et de TOUS les caches liés dans le groupe de géoréplication.

Gérez l’accès à la fonctionnalité à l’aide du contrôle d’accès en fonction du rôle Azure. Seuls les utilisateurs autorisés doivent avoir accès au vidage de tous les caches.

Étapes suivantes

En savoir plus sur les fonctionnalités d’Azure Cache pour Redis.