Dela via


Konfigurera aktiv geo-replikering för instanser av Enterprise Azure Cache for Redis

I den här artikeln får du lära dig hur du konfigurerar en aktiv geo-replikerad cache med hjälp av Azure Portal.

Aktiva geo-replikeringsgrupper upp till fem instanser av Enterprise Azure Cache for Redis i en enda cache som sträcker sig över azure-regioner. Alla instanser fungerar som lokala, primära cacheminnen. Ett program bestämmer vilken instans eller instans som ska användas för läs- och skrivbegäranden.

Kommentar

Dataöverföring mellan Azure-regioner debiteras med standardbandbredd.

Tillgänglighetsomfång

Nivå Basic, Standard Premium Enterprise, Enterprise Flash
Tillgängligt Nej Nej Ja

Premium-nivån för Azure Cache for Redis erbjuder en version av geo-replikering som kallas passiv geo-replikering. Passiv geo-replikering ger en aktiv-passiv konfiguration.

Krav för aktiv geo-replikering

Det finns några begränsningar när du använder aktiv geo-replikering:

  • Endast RediSearch- och RedisJSON-modulerna stöds
  • På Enterprise Flash-nivån kan endast principen Ingen borttagning av borttagning användas. Alla borttagningsprinciper stöds på enterprise-nivån .
  • Datapersistence stöds inte eftersom aktiv geo-replikering ger en överlägsen upplevelse.
  • Du kan inte lägga till ett befintligt cacheminne (som körs) i en geo-replikeringsgrupp. Du kan bara lägga till en cache i en geo-replikeringsgrupp när du skapar cacheminnet.
  • Alla cacheminnen i en geo-replikeringsgrupp måste ha samma konfiguration. Alla cacheminnen måste till exempel ha samma SKU, kapacitet, borttagningsprincip, klustringsprincip, moduler och TLS-inställning.
  • Du kan inte använda FLUSHALL redis-kommandona och FLUSHDB när du använder aktiv geo-replikering. Om du förbjuder kommandona förhindras oavsiktlig borttagning av data. Använd tömningsåtgärden från portalen i stället.
  • E1 SKU stöder inte aktiv geo-replikering.

Skapa eller ansluta till en aktiv geo-replikeringsgrupp

  1. När du skapar en ny Azure Cache for Redis-resurs väljer du fliken Avancerat . Slutför den första delen av formuläret, inklusive klustringsprincip. Mer information om hur du väljer klustringsprincip finns i Klustring på företag.

  2. Välj Konfigurera för att konfigurera aktiv geo-replikering.

    Skärmbild av fliken Avancerat för att skapa en ny Redis-cachesida.

  3. Skapa en ny replikeringsgrupp för en första cacheinstans. Eller välj en befintlig i listan.

    Skärmbild som visar replikeringsgrupper.

  4. Välj Konfigurera för att slutföra.

  5. Vänta tills den första cachen har skapats. När du är klar visas Konfigurerad uppsättning för aktiv geo-replikering. Upprepa stegen ovan för varje cacheinstans i gruppen geo-replikering.

    Skärmbild som visar att aktiv geo-replikering har konfigurerats.

Ta bort från en aktiv geo-replikeringsgrupp

Om du vill ta bort en cacheinstans från en aktiv geo-replikeringsgrupp tar du bara bort instansen. De återstående instanserna konfigurerar sedan om sig själva automatiskt.

Om en av cacheminnena i replikeringsgruppen inte är tillgänglig på grund av regionfel kan du med kraft ta bort den otillgängliga cachen från replikeringsgruppen.

Du bör ta bort den otillgängliga cachen eftersom de återstående cacheminnena i replikeringsgruppen börjar lagra metadata som inte har delats till den otillgängliga cachen. När detta händer kan de tillgängliga cacheminnena i replikeringsgruppen få slut på minne.

  1. Gå till Azure Portal och välj en av cacheminnena i replikeringsgruppen som fortfarande är tillgänglig.

  2. Välj Aktiv geo-replikering i resursmenyn till vänster för att se inställningarna i arbetsfönstret.

    Skärmbild av aktiv geo-replikeringsgrupp.

  3. Markera den cache som du behöver för att framtvinga länkning genom att markera rutan.

  4. Välj Framtvinga avlänkning och sedan OK för att bekräfta.

    Skärmbild av avlänkning i aktiv geo-replikering.

  5. När tillgängligheten för den berörda regionen har återställts måste du ta bort den berörda cachen och återskapa den för att lägga till den i replikeringsgruppen igen.

Konfigurera aktiv geo-replikering med hjälp av Azure CLI eller PowerShell

Azure CLI

Använd Azure CLI för att skapa en ny cache- och geo-replikeringsgrupp eller för att lägga till en ny cache i en befintlig geo-replikeringsgrupp. Mer information finns i az redisenterprise create.

Skapa en ny Enterprise-instans i en ny geo-replikeringsgrupp med hjälp av Azure CLI

I det här exemplet skapas en ny Azure Cache for Redis Enterprise E10-cacheinstans med namnet Cache1 i regionen USA, östra. Sedan läggs cachen till i en ny aktiv geo-replikeringsgrupp med namnet 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"

Om du vill konfigurera aktiv geo-replikering korrekt måste ID:t för cacheinstansen som skapas läggas till med parametern --linked-databases . ID:t är i formatet:

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

Skapa en ny Enterprise-instans i en befintlig geo-replikeringsgrupp med hjälp av Azure CLI

I det här exemplet skapas en ny Enterprise E10-cacheinstans med namnet Cache2 i regionen USA, västra. Sedan lägger skriptet till cachen i den replicationGroup aktiva geo-replikeringsgruppen som skapades i en tidigare procedur. På så sätt länkas den i en aktiv-aktiv konfiguration med 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"

Precis som tidigare måste du visa både Cache1 och Cache2 med hjälp av parametern --linked-databases .

Azure PowerShell

Använd Azure PowerShell för att skapa en ny cache- och geo-replikeringsgrupp eller för att lägga till en ny cache i en befintlig geo-replikeringsgrupp. Mer information finns i New-AzRedisEnterpriseCache.

Skapa en ny Enterprise-instans i en ny geo-replikeringsgrupp med hjälp av PowerShell

I det här exemplet skapas en ny Azure Cache for Redis Enterprise E10-cacheinstans med namnet Cache1 i regionen USA, östra. Sedan läggs cachen till i en ny aktiv geo-replikeringsgrupp med namnet 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"}'

Om du vill konfigurera aktiv geo-replikering korrekt måste ID:t för cacheinstansen som skapas läggas till med parametern -LinkedDatabase . ID:t är i formatet:

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

Skapa en ny Enterprise-instans i en befintlig geo-replikeringsgrupp med hjälp av PowerShell

I det här exemplet skapas en ny Enterprise E10-cacheinstans med namnet Cache2 i regionen USA, västra. Sedan lägger skriptet till cachen till den aktiva geo-replikeringsgruppen "replicationGroup" som skapades i föregående procedur. länkar de två cacheminnena Cache1 och Cache2 i en aktiv-aktiv konfiguration.

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"}'

Precis som tidigare måste du visa både Cache1 och Cache2 med hjälp av parametern -LinkedDatabase .

Skala instanser i en geo-replikeringsgrupp

Det går att skala instanser som är konfigurerade för aktiv geo-replikering. En geo-replikeringsgrupp med en blandning av olika cachestorlekar kan dock medföra problem. För att förhindra att dessa problem uppstår måste alla cacheminnen i en geo-replikeringsgrupp ha samma storlek och kapacitet.

Eftersom det är svårt att samtidigt skala alla instanser i gruppen geo-replikering har Azure Cache for Redis en låsningsmekanism. Om du skalar en instans i en geo-replikeringsgrupp skalas den underliggande virtuella datorn, men det tillgängliga minnet begränsas till den ursprungliga storleken tills de andra instanserna också skalas upp. Och andra skalningsåtgärder för de återstående instanserna är låsta tills de matchar samma konfiguration som den första cachen som ska skalas.

Skalningsexempel

Du kan till exempel ha tre instanser i din geo-replikeringsgrupp, alla Enterprise E10-instanser:

Instansnamn Redis00 Redis01 Redis02
Typ Enterprise E10 Enterprise E10 Enterprise E10

Anta att du vill skala upp varje instans i den här geo-replikeringsgruppen till en Enterprise E20-instans. Först skalar du en av cacheminnena upp till en E20:

Instansnamn Redis00 Redis01 Redis02
Typ Enterprise E20 Enterprise E10 Enterprise E10

I det här läget Redis01 kan instanserna och Redis02 bara skala upp till en Enterprise E20-instans. Alla andra skalningsåtgärder blockeras.

Kommentar

Instansen Redis00 blockeras inte från att skalas ytterligare i det här läget. Men det kommer att blockeras en gång eller Redis01 Redis02 skalas till en Enterprise E20.

När varje instans har skalats till samma nivå och storlek tas alla skalningslås bort:

Instansnamn Redis00 Redis01 Redis02
Typ Enterprise E20 Enterprise E20 Enterprise E20

Tömningsåtgärd

På grund av risken för oavsiktlig dataförlust kan du inte använda FLUSHALL redis-kommandona och FLUSHDB med någon cacheinstans som finns i en geo-replikeringsgrupp. Använd i stället knappen Flush Cache(s) längst upp i arbetsfönstret Aktiv geo-replikering .

Skärmbild som visar aktiv geo-replikering markerad på resursmenyn och funktionen Töm cache har en röd ruta runt sig.

Rensa cacheminnen med Hjälp av Azure CLI eller PowerShell

Azure CLI och PowerShell kan också användas för att utlösa en tömningsåtgärd. Mer information om hur du använder Azure CLI finns i az redisenterprise database flush. Mer information om hur du använder PowerShell finns i Invoke-AzRedisEnterpriseCacheDatabaseFlush.

Viktigt!

Var försiktig när du använder funktionen Töm cacheminnen . Om du väljer knappen tar du bort alla data från den aktuella cachen och från ALLA länkade cacheminnen i gruppen geo-replikering.

Hantera åtkomst till funktionen med rollbaserad åtkomstkontroll i Azure. Endast behöriga användare bör ges åtkomst för att rensa alla cacheminnen.

Nästa steg

Läs mer om Azure Cache for Redis-funktioner.