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 ochFLUSHDB
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
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.
Välj Konfigurera för att konfigurera aktiv geo-replikering.
Skapa en ny replikeringsgrupp för en första cacheinstans. Eller välj en befintlig i listan.
Välj Konfigurera för att slutföra.
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.
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.
Force-unlink om det uppstår ett regionstopp
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.
Gå till Azure Portal och välj en av cacheminnena i replikeringsgruppen som fortfarande är tillgänglig.
Välj Aktiv geo-replikering i resursmenyn till vänster för att se inställningarna i arbetsfönstret.
Markera den cache som du behöver för att framtvinga länkning genom att markera rutan.
Välj Framtvinga avlänkning och sedan OK för att bekräfta.
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 .
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.