Share via


Migreren van VNet-injectiecaches naar Private Link-caches

In dit artikel worden een aantal benaderingen beschreven voor het migreren van een Azure Cache voor Redis Virtual Network (VNet) 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 op al onze lagen; Basic, Standard, Premium, Enterprise en Enterprise Flash. Vergeleken met Virtual Network injectie, die alleen wordt aangeboden op onze premium-laag.

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

  • Azure Policy ondersteuning: 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 de ene 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
Gegevens dubbel schrijven 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 Eenvoudigst te implementeren. U moet gegevens opnieuw invullen in de nieuwe cache, die mogelijk niet werkt met veel toepassingen.
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 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 stelt u de oude buiten gebruik. Stel dat u Redis gebruikt als sessieopslag en dat de toepassingssessies zeven dagen geldig zijn. 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 (of groter zijn dan) de bestaande cache.

  2. Wijzig de toepassingscode om naar zowel de nieuwe als de oorspronkelijke instantie te schrijven.

  3. Ga door met het lezen van gegevens uit 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 verliezen van gegevens geen probleem is, kunt u het eenvoudigst naar Azure Cache voor Redis gaan door een cache-exemplaar te maken en uw toepassing ermee te verbinden. Als u bijvoorbeeld Redis gebruikt als een cache opzij van databaserecords, kunt u de cache eenvoudig helemaal 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 gegevensset in het geheugen van een cache en deze op te slaan in een bestand. Dit bestand, RDB genaamd, 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 over te dragen van een bestaande cache naar Azure Cache voor Redis.

Belangrijk

RDB-bestandsindeling kan veranderen 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 even groot is als (of groter dan) de bestaande cache.

  2. Sla een momentopname van de bestaande Redis-cache op. U kunt Redis configureren om periodiek momentopnamen op te slaan of het proces handmatig uitvoeren 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 migreert binnen Azure Cache voor Redis, raadpleegt u deze instructies voor het exporteren van een RDB-bestand of gebruikt u in plaats daarvan 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 gebruiken voor deze taak.

  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 uit een bestaande cache te lezen 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 het 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 VM om de kopieertijd te verkorten.

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

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

    Belangrijk

    Zorg ervoor dat u NIET leegmaken uit de broncache.

  4. Gebruik een toepassing zoals het opensource-hulpprogramma hierboven 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