Partager via


Migrer vers ou entre des instances Azure Cache pour Redis

Important

Azure Cache pour Redis a annoncé sa chronologie de mise hors service pour toutes les références SKU. Nous vous recommandons de déplacer vos instances Azure Cache pour Redis existantes vers Azure Managed Redis dès que vous le pouvez.

Pour plus d’informations sur la mise hors service :

Cet article décrit plusieurs scénarios de migration Azure Cache pour Redis. Vous pouvez migrer des caches Redis open source s’exécutant localement ou dans des machines virtuelles cloud ou des caches hébergés à partir d’autres plateformes cloud vers Le Cache Azure pour Redis.

Vous pouvez également migrer une instance Azure Cache pour Redis vers une autre instance. Si vous avez uniquement besoin de déplacer un cache Redis Azure d’une région Azure vers une autre, consultez Déplacer des instances Azure Cache pour Redis vers différentes régions.

Redis open source peut s’exécuter dans de nombreux environnements de calcul, tels que des centres de données locaux privés ou des machines virtuelles hébergées dans le cloud. D’autres plateformes d’hébergement comme Amazon Web Services (AWS) hébergent des services de cache Redis comme AWS ElastiCache. Vous pouvez généralement migrer ces caches Redis vers Le Cache Azure pour Redis avec une interruption ou un temps d’arrêt minimal.

Options de migration

La façon dont vous migrez d’un cache vers un autre dépend de l’emplacement de votre cache et de la façon dont votre application interagit avec elle. Le tableau suivant répertorie les stratégies de migration fréquemment utilisées.

Choix Avantages Inconvénients
Créer un cache Plus simple à implémenter. Doit remplir à nouveau les données dans le nouveau cache, ce qui peut ne pas fonctionner avec certaines applications.
Exportez et importez des données via le fichier de base de données en lecture seule (RDB). Compatible avec n’importe quel cache Redis. Les données écrites dans le cache existant après la génération du fichier RDB peuvent être perdues.
Effectuer une double écriture des données dans deux caches. Aucune perte de données ou temps d’arrêt, aucune opération de cache interrompue et un test plus facile. Nécessite deux caches pendant une période prolongée.
Migrez les données par programmation. Contrôle total sur la façon dont les données sont déplacées. Requiert du code personnalisé.

Créer un cache

Si les opérations ininterrompues et la perte de données potentielle ne sont pas des préoccupations, le moyen le plus simple de déplacer des données vers Le Cache Azure pour Redis consiste à créer une instance de cache Redis Azure et à y connecter votre application. Par exemple, si vous utilisez Redis comme cache de recherche d’enregistrements de base de données, vous pouvez facilement reconstruire le cache à partir de zéro. Cette approche n’est pas techniquement une migration.

Les étapes générales pour implémenter cette option sont les suivantes :

  1. Créez une instance Azure Cache pour Redis. Si vous le souhaitez, essayez Azure Managed Redis.
  2. Mettez à jour votre application pour utiliser la nouvelle instance Azure Redis.
  3. Supprimez l’ancienne instance de Redis.

Exporter des données vers un fichier RDB et les importer dans Azure Cache pour Redis

Redis open source définit un mécanisme standard pour prendre un instantané du jeu de données en mémoire d’un cache et l’enregistrer dans un fichier RDB que tout cache Redis peut lire. Azure Cache pour Redis niveau Premium prend en charge l’importation de données dans une instance de cache via un fichier RDB. Vous pouvez utiliser le fichier RDB pour transférer des données d’un cache existant vers Azure Cache pour Redis.

Important

Le format de fichier RDB peut changer entre les versions de Redis et risque de ne pas maintenir la compatibilité descendante. La version Redis du cache que vous exportez doit être égale ou inférieure à la version que fournit Le Cache Azure pour Redis.

Les étapes générales pour implémenter cette option sont les suivantes :

  1. Enregistrez un instantané du cache Redis existant. Vous pouvez configurer Redis pour enregistrer régulièrement des instantanés , ou en enregistrer un manuellement à l’aide des commandes SAVE ou BGSAVE . Le fichier RDB est nommé dump.rdb par défaut et se trouve au chemin d’accès spécifié dans le fichier de configuration redis.conf .
  2. Créez une instance Azure Cache pour Redis de niveau Premium qui est au moins aussi grande que le cache existant.
  3. Copiez le fichier RDB dans un compte de stockage Azure dans la région où se trouve votre nouveau cache. Vous pouvez l’utiliser AzCopy pour cette tâche.
  4. Importez le fichier RDB dans le nouveau cache. Vous pouvez également utiliser l’applet de commande PowerShell Import-AzRedisCache .
  5. Mettez à jour votre application pour utiliser la nouvelle instance de cache.

Remarque

Pour migrer des données à partir d’une autre instance Azure Redis, commencez par exporter le fichier RDB à partir de cette instance ou utilisez l’applet de commande PowerShell Export-AzRedisCache .

Écrire dans deux caches Redis pendant la migration

Au lieu de déplacer des données entre des caches, vous pouvez définir temporairement votre application pour écrire des données dans un cache existant et une nouvelle. L’application lit initialement les données du cache existant. Lorsque le nouveau cache a suffisamment de données, vous pouvez basculer l’application vers ce cache et mettre hors service l’ancien.

Par exemple, supposons que vous utilisez Redis comme magasin de sessions et que les sessions d’application expirent après sept jours. Après avoir écrit dans les deux caches pendant sept jours, vous savez que le nouveau cache contient toutes les informations de session non expirées et vous pouvez vous en appuyer en toute sécurité à partir de ce point. Vous pouvez ensuite mettre hors service l’ancien cache.

Les étapes générales pour implémenter cette option sont les suivantes :

  1. Créez une instance Azure Cache pour Redis de niveau Premium qui est au moins aussi grande que le cache existant.
  2. Modifiez le code de votre application pour écrire dans les instances nouvelles et d’origine.
  3. Continuez à utiliser des données de l’instance d’origine jusqu’à ce que la nouvelle instance soit suffisamment remplie avec des données.
  4. Mettez à jour le code de l’application pour qu’elle lise et écrive à partir de la nouvelle instance uniquement.
  5. Supprimez l'instance d'origine.

Migrer par programme

Vous pouvez créer une migration personnalisée en lisant par programmation des données à partir d’un cache existant et en l’écrivant dans Azure Cache pour Redis. Par exemple, vous pouvez utiliser l’outil open-source redis-copy pour copier des données d’une instance Azure Redis vers une autre.

Le code source peut être un guide utile pour écrire votre propre outil de migration. Une version compilée est également disponible.

Remarque

Cet outil n’est pas officiellement pris en charge par Microsoft.

Les étapes générales pour implémenter cette option sont les suivantes :

  1. Créez une machine virtuelle Azure dans la même région que le cache existant. Si votre jeu de données est volumineux, choisissez une machine virtuelle puissante pour réduire le temps de copie.
  2. Créez une instance Azure Cache pour Redis et assurez-vous qu’elle est vide. L’outil redis-copy ne remplace pas les clés existantes dans le cache cible.
  3. Utilisez une application telle que redis-copy pour automatiser la copie des données du cache source vers le cache cible. Le processus de copie peut prendre un certain temps en fonction de la taille de votre jeu de données.