Failover for Redis Enterprise with Active-geo-Replication

Giden, Burcu 20 Reputation points
2025-03-01T10:30:50.79+00:00

using terraform I have created two redis enterprise clusters in paired regions ( West and northEurope).

xx-redis-primary in WestEurope

xx-redis-secondary in NorthEurope

And linked them together using active geo-replication... /Groupnickame xxRedisGeoGroup

now I want to trigger manual failover..

Scenario: WestEurope is unavailable

step1) Force Unlink

az redisenterprise database force-unlink \
--unlink-ids "/subscriptions/<subscriptionid>/resourceGroups/<resourcegroupname>/providers/Microsoft.Cache/redisEnterprise/
--resource-group <resourcegroupname> \
--cluster-name 

or

Invoke-AzRedisEnterpriseCacheForceDatabaseUnlink -ResourceGroupName <resourcegroupname> -ClusterName "xx-redis-primary" -Id @("/subscriptions/<subscriptionid>/resourceGroups/<resourcegroupname>/providers/Microsoft.Cache/redisEnterprise/xx-redis-secondary/databases/default")

with this step I am able to unlink west europe and north europe... what happens actually in that case? the only active one is the north europe? or both are still active however no replication in between? what is the behaviour in this case?

Step2) re-Link them

once the westeurope is available again how can I link them again.. using az redisterprise database create? if so it isnt working...or I dont understand the syntax

az redisenterprise database create \
--cluster-name xx-redis-primary
--resource-group <resourcegroupname>
--group-nickname xxRedisGeoGroup
--linked-databases "resource= \
subscriptions/<subscriptionid>/resourceGroups/<resourcegroupname>/providers/Microsoft.Cache/redisEnterprise/xx-redis-primary/databases/default.force-link" \
--linked-databases "resource= \
subscriptions/<subscriptionid>/resourceGroups/<resourcegroupname>/providers/Microsoft.Cache/redisEnterprise/xx-redis-secondary/databases/default.force-link" \
--client-protocol Encrypted \  
--clustering-policy EnterpriseCluster \
--eviction-policy AllKeysLRU \
--port 10000

or

Invoke-AzRedisEnterpriseCacheForceDatabaseLinkToReplicationGroup  -ClusterName "xx-redis-primary"  -ResourceGroupName "resourcegroupname"  -DatabaseName "default"  -GroupNickname "xxRedisGeoGroup"  -LinkedDatabase @(@{ResourceId="/subscriptions/subscriptionid/resourceGroups/resourcegroupname/providers/Microsoft.Cache/redisEnterprise/xx-redis-primary/databases/default"}, @{ResourceId="/subscriptions/
subscriptionid/resourceGroups/resourcegroupname

however it doesnt function...

Azure Cache for Redis
Azure Cache for Redis
An Azure service that provides access to a secure, dedicated Redis cache, managed by Microsoft.
275 questions
{count} votes

Accepted answer
  1. PratikLad 240 Reputation points Microsoft External Staff
    2025-03-04T11:07:03.9033333+00:00

    Hi @Giden, Burcu,

    1. Behavior After Force Unlink:

    NorthEurope still serves read/write operations, but no replication is happening. If WestEurope were unavailable, meaning no data sync between them during this period.

    1. Re-linking Issues:

    As per this MS document

    enter image description here Once the affected region's availability is restored, you need to delete the affected cache, and recreate it to add it back to your replication group.

    When a region affected by an outage is restored, the Redis Enterprise cache in that region might still be in an inconsistent or degraded state. To ensure smooth operation and proper replication, you must delete and recreate the affected cache before adding it back to your replication group

    0 comments No comments

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.