Migrera från VNet inmatningscacher till Private Link-cacher

Den här artikeln beskriver ett antal metoder för att migrera en Azure Cache for Redis Virtual Network (VNet) inmatade cacheinstanser till Azure Cache for Redis Private Link cacheinstanser.

Azure Private Link förenklar nätverksarkitekturen och skyddar anslutningen mellan slutpunkter i Azure. Med Private Link kan du ansluta till en Azure Cache for Redis-instans från ditt virtuella nätverk via en privat slutpunkt, som tilldelas en privat IP-adress i ett undernät till det virtuella nätverket. Fördelarna med att använda Azure Private Link för Azure Cache for Redis är:

  • Flexibilitet på nivå – Azure Private Link stöds på alla våra nivåer. Basic, Standard, Premium, Enterprise och Enterprise Flash. Jämfört med Virtual Network injektion, som endast erbjuds på vår premiumnivå.

  • Regelhantering för förenklad nätverkssäkerhetsgrupp (NSG) – NSG-regler behöver inte konfigureras för att uppfylla kraven från Azure Cache for Redis.

  • Azure Policy Support – Kontrollera att alla cacher i din organisation skapas med Private Link och granska organisationens befintliga cacheminnen för att kontrollera att alla använder Private Link.

Migreringsalternativ

Du kan växla från VNet-inmatning till Private Link på några olika sätt. Beroende på var din cache är och hur ditt program interagerar med den är en metod mer användbar än de andra. Några av de migreringsstrategier som används ofta beskrivs nedan.

Om du använder någon kombination av geo-replikering, klustring eller ARM VNet:

Alternativ Fördelar Nackdelar
Dubbelskrivning av data till två cacheminnen Ingen dataförlust eller stilleståndstid. Oavbrutna åtgärder i det befintliga cacheminnet. Enklare testning av den nya cachen. Behöver två cacheminnen under en längre tid.
Skapa en ny cache Enklast att implementera. Du måste fylla i data på nytt i den nya cachen, vilket kanske inte fungerar med många program.
Exportera och importera data via RDB-fil Datamigrering krävs. Vissa data kan gå förlorade om de skrivs till den befintliga cachen när RDB-filen har genererats.
Migrera data programmatiskt Fullständig kontroll över hur data flyttas. Kräver anpassad kod.

Skriv till två Redis-cacheminnen samtidigt under migreringsperioden

I stället för att flytta data direkt mellan cacheminnen kan du använda ditt program för att skriva data till både en befintlig cache och en ny som du konfigurerar. Programmet läser fortfarande data från det befintliga cacheminnet från början. När den nya cachen har nödvändiga data växlar du programmet till cachen och drar tillbaka den gamla. Anta till exempel att du använder Redis som ett sessionsarkiv och att programsessionerna är giltiga i sju dagar. När du har skrivit till de två cacheminnena i en vecka är du säker på att den nya cachen innehåller all sessionsinformation som inte har upphört att gälla. Du kan lita på det från och med då utan att behöva bekymra dig om dataförlust.

Allmänna steg för att implementera det här alternativet är:

  1. Skapa en ny Azure Cache for Redis-instans med privata slutpunkter som har samma storlek som (eller större än) det befintliga cacheminnet.

  2. Ändra programkod för att skriva till både den nya och den ursprungliga instansen.

  3. Fortsätt att läsa data från den ursprungliga instansen tills den nya instansen är tillräckligt fylld med data.

  4. Uppdatera programkoden till att endast läsa och skriva från den nya instansen.

  5. Ta bort den ursprungliga instansen.

Skapa en ny Azure Cache for Redis

Den här metoden är tekniskt sett inte en migrering. Om det inte är något problem att förlora data är det enklaste sättet att gå över till Azure Cache for Redis att skapa en cacheinstans och ansluta ditt program till den. Om du till exempel använder Redis som en cache med databasposter kan du enkelt återskapa cachen från grunden.

Allmänna steg för att implementera det här alternativet är:

  1. Skapa en ny Azure Cache for Redis-instans med privata slutpunkter.

  2. Uppdatera programmet så att det använder den nya instansen.

  3. Ta bort den gamla Redis-instansen.

Exportera data till en RDB-fil och importera dem till Azure Cache for Redis (endast Premium-nivå)

Redis med öppen källkod definierar en standardmekanism för att ta en ögonblicksbild av en cacheminnesdatauppsättning och spara den i en fil. Den här filen, som kallas RDB, kan läsas av en annan Redis-cache. Azure Cache for Redis premiumnivå stöder import av data till en cacheinstans via RDB-filer. Du kan använda en RDB-fil för att överföra data från en befintlig cache till Azure Cache for Redis.

Viktigt

RDB-filformatet kan ändras mellan Redis-versioner och kanske inte bibehåller bakåtkompatibilitet. Redis-versionen av cachen som du exporterar från bör vara lika med eller mindre än den version som tillhandahålls av Azure Cache for Redis.

Allmänna steg för att implementera det här alternativet är:

  1. Skapa en ny Azure Cache for Redis-instans med privata slutpunkter på premiumnivån som har samma storlek som (eller större än) det befintliga cacheminnet.

  2. Spara en ögonblicksbild av den befintliga Redis-cachen. Du kan konfigurera Redis att spara ögonblicksbilder regelbundet eller köra processen manuellt med hjälp av kommandona SAVE eller BGSAVE . RDB-filen heter "dump.rdb" som standard och finns på den sökväg som anges i konfigurationsfilen redis.conf .

    Anteckning

    Om du migrerar data inom Azure Cache for Redis kan du läsa de här anvisningarna om hur du exporterar en RDB-fil eller använder PowerShell Export-cmdleten i stället.

  3. Kopiera RDB-filen till ett Azure Storage-konto i den region där din nya cache finns. Du kan använda AzCopy för den här uppgiften.

  4. Importera RDB-filen till den nya cachen med hjälp av dessa importinstruktioner eller PowerShell Import-cmdleten.

  5. Uppdatera programmet så att det använder den nya cacheinstansen.

Migrera programmatiskt

Skapa en anpassad migreringsprocess genom att programmatiskt läsa data från en befintlig cache och skriva dem till Azure Cache for Redis. Det här verktyget med öppen källkod kan användas för att kopiera data från en Azure Cache for Redis instans till en annan. Det här verktyget är användbart för att flytta data mellan cacheinstanser i olika Azure Cache-regioner. En kompilerad version är också tillgänglig. Källkoden kan också vara en användbar guide för att skriva ett eget migreringsverktyg.

Anteckning

Det här verktyget stöds inte officiellt av Microsoft.

Allmänna steg för att implementera det här alternativet är:

  1. Skapa en virtuell dator i den region där det befintliga cacheminnet finns. Om datauppsättningen är stor väljer du en relativt kraftfull virtuell dator för att minska kopieringstiden.

  2. Skapa en ny Azure Cache for Redis-instans med privata slutpunkter

  3. Rensa data från den nya cachen för att säkerställa att den är tom. Det här steget krävs eftersom kopieringsverktyget i sig inte skriver över någon befintlig nyckel i målcachen.

    Viktigt

    Se till att INTE tömma från källcachen.

  4. Använd ett program som verktyget med öppen källkod ovan för att automatisera kopieringen av data från källcachen till målet. Kom ihåg att kopieringsprocessen kan ta en stund att slutföra beroende på storleken på datauppsättningen.

Nästa steg