Delen via


Migreren van VNet-injectiecaches naar Private Link-caches

In dit artikel worden een aantal methoden beschreven voor het migreren van een Azure Cache voor Redis VNet (Virtual Network) geïnjecteerde cache-exemplaren naar Azure Cache voor Redis Private Link-cache-exemplaren.

Azure Private Link vereenvoudigt de netwerkarchitectuur en beveiligt de verbinding tussen eindpunten in Azure. U kunt vanuit uw virtuele netwerk verbinding maken met een Azure Cache-exemplaar via een privé-eindpunt, waaraan een privé-IP-adres in een subnet binnen het virtuele netwerk is toegewezen. Voordelen van het gebruik van Azure Private Link voor Azure Cache voor Redis zijn onder andere:

  • Flexibiliteit van lagen: Azure Private Link wordt ondersteund in al onze lagen; Basic, Standard, Premium, Enterprise en Enterprise Flash. Vergeleken met Virtual Network-injectie, die alleen wordt aangeboden in onze Premium-laag.

  • Vereenvoudigd NSG-regelbeheer (Network Security Group) - NSG-regels hoeven niet te worden geconfigureerd om te voldoen aan de vereisten van Azure Cache voor Redis.

  • Ondersteuning voor Azure Policy : zorg ervoor dat alle caches in uw organisatie worden gemaakt met Private Link en controleer de bestaande caches van uw organisatie om te controleren of ze allemaal gebruikmaken van Private Link.

Migratieopties

U kunt op verschillende manieren overschakelen van VNet-injectie naar Private Link. Afhankelijk van waar uw cache zich bevindt en hoe uw toepassing ermee communiceert, is één methode nuttiger dan de andere. Enkele van de veelgebruikte migratiestrategieën worden hieronder beschreven.

Als u een combinatie van geo-replicatie, clustering of ARM VNet gebruikt:

Optie Voordelen Nadelen
Dual-write-gegevens naar twee caches Geen gegevensverlies of downtime. Ononderbroken bewerkingen van de bestaande cache. Eenvoudiger testen van de nieuwe cache. Er zijn twee caches nodig voor een langere periode.
Een nieuwe cache maken Eenvoudigste te implementeren. Gegevens opnieuw moeten worden ingevuld in de nieuwe cache, die mogelijk niet met veel toepassingen werken.
Gegevens exporteren en importeren via RDB-bestand Gegevensmigratie is vereist. Sommige gegevens kunnen verloren gaan als ze naar de bestaande cache worden geschreven nadat het RDB-bestand is gegenereerd.
Gegevens programmatisch migreren Volledige controle over hoe gegevens worden verplaatst. Hiervoor is aangepaste code vereist.

Schrijven naar twee Redis-caches tegelijk tijdens de migratieperiode

In plaats van gegevens rechtstreeks tussen caches te verplaatsen, kunt u uw toepassing gebruiken om gegevens te schrijven naar zowel een bestaande cache als een nieuwe cache die u instelt. De toepassing leest in eerste instantie nog steeds gegevens uit de bestaande cache. Wanneer de nieuwe cache over de benodigde gegevens beschikt, schakelt u de toepassing over naar die cache en trekt u de oude buiten gebruik. Stel, u gebruikt Redis als sessiearchief en de toepassingssessies zijn zeven dagen geldig. Nadat u een week naar de twee caches hebt geschreven, weet u zeker dat de nieuwe cache alle niet-verlopen sessiegegevens bevat. U kunt er vanaf dat moment veilig op vertrouwen zonder dat u zich zorgen hoeft te maken over gegevensverlies.

Algemene stappen voor het implementeren van deze optie zijn:

  1. Maak een nieuw Azure Cache voor Redis exemplaar met privé-eindpunten die dezelfde grootte hebben als (of groter dan) de bestaande cache.

  2. Pas de toepassingscode aan om te schrijven naar zowel de nieuwe als de oorspronkelijke exemplaren.

  3. Lees verder met het lezen van gegevens van het oorspronkelijke exemplaar totdat het nieuwe exemplaar voldoende is gevuld met gegevens.

  4. Werk de toepassingscode alleen bij naar lezen en schrijven vanuit het nieuwe exemplaar.

  5. Verwijder het oorspronkelijke exemplaar.

Een nieuwe Azure Cache voor Redis maken

Deze benadering is technisch gezien geen migratie. Als het verlies van gegevens geen probleem is, is de eenvoudigste manier om naar Azure Cache voor Redis te gaan door een cache-exemplaar te maken en uw toepassing er verbinding mee te maken. Als u Bijvoorbeeld Redis gebruikt als een opzoekcache van databaserecords, kunt u de cache eenvoudig opnieuw opbouwen.

Algemene stappen voor het implementeren van deze optie zijn:

  1. Maak een nieuw Azure Cache voor Redis-exemplaar met privé-eindpunten.

  2. Werk uw toepassing bij om het nieuwe exemplaar te gebruiken.

  3. Verwijder het oude Redis-exemplaar.

Gegevens exporteren naar een RDB-bestand en importeren in Azure Cache voor Redis (alleen Premium-laag)

Opensource Redis definieert een standaardmechanisme voor het maken van een momentopname van de in-memory gegevensset van een cache en het opslaan ervan in een bestand. Dit bestand, RDB genoemd, kan worden gelezen door een andere Redis-cache. Azure Cache voor Redis Premium-laag ondersteunt het importeren van gegevens in een cache-exemplaar via RDB-bestanden. U kunt een RDB-bestand gebruiken om gegevens van een bestaande cache over te dragen naar Azure Cache voor Redis.

Belangrijk

De RDB-bestandsindeling kan worden gewijzigd tussen Redis-versies en behoudt mogelijk geen compatibiliteit met eerdere versies. De Redis-versie van de cache waaruit u exporteert, moet gelijk zijn aan of kleiner zijn dan de versie van Azure Cache voor Redis.

Algemene stappen voor het implementeren van deze optie zijn:

  1. Maak een nieuw Azure Cache voor Redis-exemplaar met privé-eindpunten in de Premium-laag die dezelfde grootte heeft als (of groter dan) de bestaande cache.

  2. Sla een momentopname van de bestaande Redis-cache op. U kunt Redis configureren om momentopnamen periodiek op te slaan of het proces handmatig uit te voeren met behulp van de opdrachten SAVE of BGSAVE . Het RDB-bestand heet standaard dump.rdb en bevindt zich op het pad dat is opgegeven in het configuratiebestand redis.conf .

    Notitie

    Als u gegevens in Azure Cache voor Redis migreert, raadpleegt u deze instructies voor het exporteren van een RDB-bestand of het gebruik van de PowerShell Export-cmdlet.

  3. Kopieer het RDB-bestand naar een Azure-opslagaccount in de regio waar de nieuwe cache zich bevindt. U kunt AzCopy voor deze taak gebruiken.

  4. Importeer het RDB-bestand in de nieuwe cache met behulp van deze importinstructies of de PowerShell Import-cmdlet.

  5. Werk uw toepassing bij om het nieuwe cache-exemplaar te gebruiken.

Programmatisch migreren

Maak een aangepast migratieproces door programmatisch gegevens te lezen uit een bestaande cache en deze in Azure Cache voor Redis te schrijven. Dit opensource-hulpprogramma kan worden gebruikt om gegevens van het ene Azure Cache voor Redis exemplaar naar een andere te kopiëren. Dit hulpprogramma is handig voor het verplaatsen van gegevens tussen cache-exemplaren in verschillende Azure Cache-regio's. Er is ook een gecompileerde versie beschikbaar. Mogelijk vindt u de broncode ook een handige handleiding voor het schrijven van uw eigen migratieprogramma.

Notitie

Dit hulpprogramma wordt niet officieel ondersteund door Microsoft.

Algemene stappen voor het implementeren van deze optie zijn:

  1. Maak een VIRTUELE machine in de regio waar de bestaande cache zich bevindt. Als uw gegevensset groot is, kiest u een relatief krachtige VIRTUELE machine om de kopieertijd te verminderen.

  2. Een nieuw Azure Cache voor Redis-exemplaar maken met privé-eindpunten

  3. Maak gegevens uit de nieuwe cache leeg om ervoor te zorgen dat deze leeg is. Deze stap is vereist omdat het kopieerprogramma zelf geen bestaande sleutel in de doelcache overschrijft.

    Belangrijk

    Zorg ervoor dat u niet leegmaakt uit de broncache.

  4. Gebruik een toepassing zoals het bovenstaande opensource-hulpprogramma om het kopiëren van gegevens uit de broncache naar het doel te automatiseren. Houd er rekening mee dat het kopiëren enige tijd kan duren, afhankelijk van de grootte van uw gegevensset.

Volgende stappen