Passer d’Azure Cache pour Redis à Redis managé Azure (préversion)
Dans cet article, vous découvrez comment migrer d’une Azure Cache pour Redis vers une instance Redis managé Azure (préversion).
Important
Redis managé Azure est actuellement en PRÉVERSION. Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.
Prérequis
- Abonnement Azure : créez-en un gratuitement
- Une instance d’Azure Cache pour Redis
Comparaison des fonctionnalités entre Azure Cache pour Redis et Redis managé Azure (préversion)
Description de la fonctionnalité | De base | standard | Premium | Équilibré (préversion) | À mémoire optimisée (préversion) | Optimisé pour le calcul (préversion) |
---|---|---|---|---|---|---|
Disponibilité | S/O | 99,9 % | 99,9 % | N/A | N/A | N/A |
Chiffrement des données en transit | Oui | Oui | Oui | Oui | Oui | Oui |
Isolement réseau | Oui | Oui | Oui | Oui | Oui | Oui |
Scale-up/scale-out | Oui | Oui | Oui | Oui | Oui | Oui |
Scale-down/scale-in | Oui | Oui | Oui | No | Non | Non |
Clustering OSS | Non | Non | Oui | Oui | Oui | Oui |
Persistance des données | Non | Non | Oui | Oui | Oui | Oui |
Redondance de zone | Non | Oui (préversion) | Oui | Oui | Oui | Oui |
Géoréplication | Non | Non | Oui (passif) | Oui (actif) | Oui (actif) | Oui (actif) |
Journaux d’audit de connexion | Non | Non | Oui | Oui (basé sur des événements) | Oui (basé sur des événements) | Oui (basé sur des événements) |
Modules Redis | Non | Non | Non | Oui | Oui | Oui |
Import/Export | Non | Non | Oui | Oui | Oui | Oui |
Redémarrage | Oui | Oui | Oui | No | Non | Non |
Mises à jour planifiées | Oui | Oui | Oui | No | Non | Non |
Authentification Microsoft Entra ID | Oui | Oui | Oui | Oui | Oui | Oui |
RBAC Microsoft Entra ID | Oui | Oui | Oui | No | Non | Non |
Notification d’espace de clés | Oui | Oui | Oui | No | Non | Non |
Sans haute disponibilité | S/O | Non | Non | Oui | Oui | Oui |
Voici d’autres différences qui ne sont pas couvertes par le mappage précédent. Tenez compte des modifications suivantes apportées à l’application cliente :
Description de la fonctionnalité | Cache Azure pour Redis | Redis managé Azure (préversion) |
---|---|---|
Suffixe DNS (uniquement pour le cloud PROD) | .redis.cache.windows.net |
<region>.redis.azure.net |
Port TLS | 6380 | 10000 |
Port non TLS | 6379 | Non pris en charge |
Ports TLS des nœuds individuels | 130XX | 85xx |
Ports non-TLS des nœuds individuels | 150XX | Non pris en charge |
Prise en charge du clustering | Mode de clustering OSS | Modes de cluster OSS et Entreprise |
Commandes non prises en charge | Commandes non prises en charge | Commandes multi-clés |
Disponibilité régionale | Toutes les régions Azure | Seulement les régions avec trois zones de disponibilité Pour plus d’informations, consultez Disponibilité des produits. |
Version Redis | 6 | 7.4 |
Versions prises en charge de TLS | 1.2 et 1.3 | 1.2 et 1.3 |
Migrer votre instance Azure Cache pour Redis vers Redis managé Azure
Remarque
Veillez à mettre à jour selon les nécessités le reste de votre application et les ressources Azure associées pour utiliser le cache.
Sélectionnez le cache que vous voulez déplacer dans le portail Azure.
Azure Cache pour Redis De base / Standard / Premium non-cluster
Remarque
Utiliser l’option sans haute disponibilité de Redis managé Azure pour la migration des références SKU de base
Cache Azure pour Redis | Redis managé Azure | Mémoire supplémentaire (%) |
---|---|---|
De base/Standard – C0 | Équilibré – B0 | 50 |
De base/Standard – C1 | Équilibré – B1 | 0 |
De base/Standard – C2 | Équilibré – B3 | 17 |
De base/Standard – C3 | Équilibré – B5 | 0 |
De base/Standard – C4 | À mémoire optimisée – M10 | 8- |
De base/Standard – C4 | À mémoire optimisée – M20** | 46 |
De base/Standard – C5 | À mémoire optimisée – M20* | 8- |
De base/Standard – C5 | À mémoire optimisée – M50** | 57 |
De base/Standard – C6 | À mémoire optimisée – M50 | 12 |
Premium – P1 | Équilibré – B5 | 0 |
Premium – P2 | Équilibré – B10 | 8- |
Premium – P2 | Équilibré – B20** | 46 |
Premium – P3 | Équilibré – B20* | 8- |
Premium – P3 | Équilibré – B50** | 57 |
Premium – P4 | Équilibré – B50 | 12 |
Premium – P5 | Équilibré – B100 | 0 |
- *Cette option est destinée à réduire les coûts. Vérifiez que le pic de mémoire totale utilisée au cours du mois dernier est inférieur à la mémoire AMR suggérée pour choisir cette option.
- ** Cette option est destinée à une consommation abondante de la mémoire.
Azure Cache pour Redis Premium en cluster
- Pour un cluster partitionné, choisissez un niveau À mémoire optimisée qui a une mémoire totale équivalente.
- Pour les clusters avec plusieurs réplicas en lecture, choisissez un niveau Optimisé pour le calcul avec une mémoire totale équivalente comme réplica principal.
Options de migration
Les applications clientes doivent être en mesure d’utiliser une instance Redis managé Azure qui a différents modes de clustering et points de terminaison. Azure Cache pour Redis et Redis managé Azure (préversion) sont compatibles : aucune modification du code d’application autre que les configurations des connexions n’est donc requise pour la plupart des scénarios.
Pour en savoir plus, rendez-vous sur :
Options de migration d’Azure Cache pour Redis vers Redis managé Azure
Option | Avantages | Inconvénients |
---|---|---|
Créer un cache | Plus simple à implémenter. | Vous devez remplir de nouveau le cache, ce qui peut ne pas fonctionner avec de nombreuses applications. |
Exporter et importer des données via un fichier RDB | Compatible avec tout cache Redis en général. | Certaines données peuvent être perdues si elles sont écrites dans le cache existant après la génération du fichier RDB. |
Double-écriture de données dans deux caches | Aucune perte de données, ni aucun temps d’arrêt. Opérations ininterrompues du cache existant. Test plus facile du nouveau cache. | Nécessite deux caches pendant une période prolongée. |
Migrer des données par programme | Contrôle total sur la façon dont les données sont déplacées. | Requiert du code personnalisé. |
Créer une instance Azure Cache pour Redis
Cette approche n’est techniquement pas une migration. Si la perte de données n’est pas problématique, le moyen le plus simple de passer à Redis managé Azure consiste à créer une instance de cache 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. Les étapes générales pour implémenter cette option sont les suivantes :
- Créez une instance Redis managé Azure.
- Mettez à jour votre application pour utiliser la nouvelle instance.
- Supprimez l’ancienne instance Azure Cache pour Redis.
Exporter les données vers un fichier RDB et l’importer dans Redis managé Azure
Cette option est applicable seulement aux caches de niveau Premium. Redis open source définit un mécanisme standard pour la capture d’un instantané du jeu de données en mémoire d’un cache et son enregistrement dans un fichier. Ce type de fichier RDB peut être lu par un autre cache Redis. Le niveau Premium d’Azure Cache pour Redis prend en charge l’exportation de données depuis une instance de cache via des fichiers RDB. Vous pouvez utiliser un fichier RDB pour transférer des données d’une instance Azure Cache pour Redis existante vers une instance Redis managé Azure.
Les étapes générales pour implémenter cette option sont les suivantes :
- Créez une instance Redis managé Azure de la même taille (ou plus grande) que celle de l’instance Azure Cache pour Redis existante.
- Exportez le fichier RDB depuis l’instance Azure Cache pour Redis existante en utilisant ces instructions d’exportation ou la cmdlet PowerShell Export.
- Importez le fichier RDB dans une nouvelle instance Redis managé Azure en utilisant ces instructions d’importation ou la cmdlet PowerShell Import.
- Mettez à jour votre application pour utiliser la nouvelle chaîne de connexion de l’instance Redis managé Azure.
Exportez des données :
az redis export --resource-group <ResourceGroupName> --name <Azure Cache for Redis instance name> --prefix <BlobPrefix> --container <ContainerName> --file-format <FileFormat>
Importez des données :
az redis import --resource-group <ResourceGroupName> --name <Azure Managed Redis instance name> --files <BlobUris>
Remplacez ResourceGroupName, CacheName, BlobPrefix, ContainerName et FileFormat par vos valeurs spécifiques. --file-format_ peut être RDB ou AOF.
Écrire simultanément dans deux caches Redis au cours de la période de migration
Au lieu de déplacer les données directement entre les caches, vous pouvez utiliser votre application pour écrire des données dans un cache existant et un nouveau cache que vous configurez. L’application continue de lire les données dans le cache existant. Lorsque le nouveau cache disposera des données nécessaires, vous basculerez l’application vers ce cache et mettrez l’ancien hors service. Supposons, par exemple, que vous utilisez Redis comme magasin de sessions et que les sessions d’application sont valides pendant sept jours. Après avoir écrit dans les deux caches pendant une semaine, vous avez la certitude que le nouveau cache contient toutes les informations de session non expirées. Vous pouvez, en toute sécurité, l’utiliser à partir de ce point, sans vous soucier des pertes de données.
Les étapes générales pour implémenter cette option sont les suivantes :
- Créez une instance Redis managé Azure de la même taille (ou plus grande) que celle de l’instance Azure Cache pour Redis existante.
- Modifiez le code de l’application pour écrire à la fois dans la nouvelle instance et celle d’origine.
- Continuez la lecture des données à partir de l’instance d’origine jusqu’à ce que la nouvelle instance soit suffisamment remplie avec des données.
- Mettez à jour le code de l’application pour qu’elle lise et écrive à partir de la nouvelle instance uniquement.
- Supprimez l'instance d'origine.
Migrer par programme
Créez un processus de migration personnalisé en lisant par programmation les données d’une instance Azure Cache pour Redis existante et en les écrivant dans une instance Redis managé Azure. Vous pouvez essayer deux outils open source :
- Redis-copy
- Cet outil open source peut être utilisé pour copier des données d’une instance Azure Cache pour Redis vers une autre. Cet outil est utile pour déplacer des données entre des instances de cache dans différentes régions Azure Cache. Une version compilée est également disponible. Le code source peut aussi être un guide utile pour écrire votre propre outil de migration.
- RIOT
- RIOT est un autre outil de migration répandu testé par la communauté Redis. C’est un utilitaire en ligne de commande conçu pour vous aider à placer et à extraire des données dans Redis.
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 :
- Créez une machine virtuelle dans la région où se trouve le cache existant. Si votre jeu de données est volumineux, choisissez une machine virtuelle relativement puissante pour réduire le temps de copie.
- Créez une instance Redis managé Azure.
- Videz les données du nouveau cache pour vous assurer qu’il est vide. Cette étape est requise, car l’outil de copie lui-même ne remplace aucune clé existante dans le cache cible. Important : veillez à ne PAS vider le cache source.
- Utilisez une application telle que l’outil open source mentionné précédemment pour automatiser la copie des données du cache source vers le cache cible. N’oubliez pas que le processus de copie peut prendre un certain temps en fonction de la taille de votre jeu de données.