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 du plan de contrôle.

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 Stratégie de clustering.

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

    Screenshot of advanced tab of create new Redis cache page.

  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.

    Screenshot showing replication groups.

  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.

    Screenshot showing active geo-replication is configured.

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.

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.

    Screenshot of active geo-replication group.

  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.

    Screenshot of unlinking in active geo-replication.

  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/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/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/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default" --linked-databases id="/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/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/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/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. Il lie les deux caches, Cache1 et Cache2, dans une configuration actif-actif.

New-AzRedisEnterpriseCache -Name "Cache2" -ResourceGroupName "myResourceGroup" -Location "West US" -Sku "Enterprise_E10" -GroupNickname "replicationGroup" -LinkedDatabase '{id:"/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/resourceGroups/myResourceGroup/providers/Microsoft.Cache/redisEnterprise/Cache1/databases/default"}', '{id:"/subscriptions/34b6ecbd-ab5c-4768-b0b8-bf587aba80f6/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.

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.

Screenshot showing Active geo-replication selected in the Resource menu and the Flush cache feature has a red box around it.

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.