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
etFLUSHDB
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
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 sur Entreprise.
Sélectionnez Configurer pour configurer la Géo-réplication active.
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.
Sélectionnez Configurer pour terminer.
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.
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.
Dissociation forcée en cas de panne d’une région
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.
Accédez au Portail Azure et sélectionnez l’un des caches dans le groupe de réplication qui est toujours disponible.
Sélectionnez la géo-réplication active dans le menu Ressource à gauche pour afficher les paramètres dans le volet de travail.
Sélectionnez le cache dont vous avez besoin pour forcer la dissociation en activant la case à cocher.
Sélectionnez Force unlink (Forcer la dissociation), puis OK pour confirmer.
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.
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.