Déplacer les instances Azure Cache pour Redis vers différentes régions
Dans cet article, vous allez découvrir comment déplacer les instances Azure Cache pour Redis vers une autre région Azure. Vous pouvez déplacer vos ressources vers une autre région pour de multiples raisons :
- Pour tirer parti d’une nouvelle région Azure.
- Pour déployer des fonctionnalités ou des services disponibles uniquement dans des régions spécifiques.
- Pour respecter des exigences de gouvernance et de stratégie internes.
- Pour répondre à des exigences de planification de la capacité.
Si vous envisagez d’opérer une migration vers Azure Cache pour Redis à partir de machines virtuelles locales, basées sur le cloud ou d’un autre service d’hébergement, nous vous recommandons de consulter Migrer vers Azure Cache pour Redis.
Le niveau d’Azure Cache pour Redis que vous utilisez détermine l’option qui vous convient le mieux.
Niveau de cache | Options |
---|---|
Premium | Géoréplication, créer un cache, effectuer une double écriture sur deux caches, exporter et importer des données via un fichier RDB ou migrer par programme |
De base ou Standard | Créer un cache, effectuer une double écriture sur deux caches ou migrer par programme |
Enterprise ou Enterprise Flash | Créer un cache ou exporter et importer des données avec un fichier RDB, ou migrer par programme |
Géoréplication passive (Premium)
Prérequis
Pour configurer la géoréplication entre deux caches, les conditions préalables suivantes doivent être remplies :
- Les deux caches sont de niveau Premium.
- Les deux caches figurent dans le même abonnement Azure.
- La taille du cache lié secondaire est supérieure ou égale à celle du cache lié principal.
- Les deux caches existent déjà et sont en cours d’exécution.
Préparation
Pour déplacer votre instance de cache vers une autre région, vous devez créer une deuxième instance de cache Premium dans la région de votre choix. Une fois que les deux caches sont en cours d’exécution, vous pouvez configurer la géoréplication entre les deux instances de cache.
Notes
Le transfert de données entre régions Azure est facturé aux tarifs de bande passante standard.
Certaines fonctionnalités ne sont pas prises en charge par la géoréplication :
- La redondance de zone n’est pas prise en charge avec la géoréplication.
- La persistance n'est pas prise en charge par la géoréplication.
Conditions pour la prise en charge de la géoréplication :
- Le clustering est pris en charge s'il est activé pour les deux caches et si ceux-ci possèdent le même nombre de partitions.
- Les caches situés dans des réseaux virtuels différents sont pris en charge avec des mises en garde. Pour plus d’informations, consultez Puis-je utiliser la géoréplication avec mes caches dans un réseau virtuel ?
Une fois la géoréplication configurée, les restrictions suivantes s’appliquent à votre paire de caches liés :
- Le cache lié secondaire est en lecture seule. Vous pouvez y lire des données, mais vous ne pouvez pas y écrire de données.
- Si vous choisissez de lire à partir de l’instance géo-secondaire, quand une synchronisation complète des données se produit entre les instances principale et secondaire, par exemple lors de la mise à jour de l’instance géo-principale ou géo-secondaire, ou lors de certains scénarios de redémarrage, l’instance géo-secondaire lève des erreurs sur toute opération Redis, jusqu’à la fin de la synchronisation complète des données entre l’instance géo-principale et l’instance géo-secondaire.
- Les applications qui lisent depuis une instance géographique secondaire doivent être générées pour revenir à l’instance géographique principale chaque fois que l’instance géographique secondaire génère de telles erreurs.
- Toutes les données présentes dans le cache lié secondaire avant l’ajout du lien sont supprimées. Toutefois, en cas de suppression ultérieure de la géoréplication, les données répliquées restent dans le cache lié secondaire.
- Vous ne pouvez pas procéder à la mise à l'échelle d'un seul des deux caches lorsque ceux-ci sont liés.
- Vous ne pouvez pas modifier le nombre de partitions si le clustering est activé pour le cache.
- Vous ne pouvez activer la persistance sur aucun des caches.
- Vous pouvez exporter à partir de l'un ou l'autre des caches.
- Vous ne pouvez pas importer dans le cache lié secondaire.
- Vous ne pouvez pas supprimer les caches liés ou le groupe de ressources qui les contient tant qu'ils n'ont pas été dissociés. Pour plus d’informations, consultez Pourquoi ma tentative de suppression de mon cache lié a-t-elle échoué ?
- Si les caches se trouvent dans des régions différentes, des frais de sortie de réseau s'appliquent aux données déplacées d'une région à l'autre. Pour plus d’informations, consultez Combien coûte la réplication de mes données entre des régions Azure ?
- Le basculement n’est pas automatique. Vous devez démarrer le basculement depuis le cache lié principal vers le cache lié secondaire. Pour plus d’informations sur la manière de basculer une application cliente, consultez Lancer un basculement du cache géo-principal vers le cache géo-secondaire.
Déplacer
Pour relier deux caches à des fins de géoréplication, sélectionnez d’abord Géoréplication dans le menu Ressource du cache que vous souhaitez utiliser comme cache lié principal. Ensuite, dans le panneau Géoréplication sur la gauche, sélectionnez Ajouter une liaison de réplication de cache.
Dans la liste Caches compatibles, cliquez sur le nom du cache secondaire souhaité. Si le cache secondaire ne figure pas dans la liste, vérifiez que les conditions préalables à la géoréplication du cache secondaire sont remplies. Pour filtrer les caches par région, sélectionnez la région dans la carte afin de n’afficher que les caches figurant dans la liste Caches compatibles.
Vous pouvez également lancer le processus de liaison ou afficher des détails sur le cache secondaire à l'aide du menu contextuel.
Sélectionnez Lier pour lier les deux caches et commencer le processus de réplication.
Vérification
Vous pouvez voir la progression du processus de réplication dans le panneau Géoréplication sur la gauche.
Vous pouvez également voir l’état de la liaison sur la gauche, en utilisant la Vue d’ensemble pour les caches principal et secondaire.
Une fois le processus de réplication terminé, l’État du lien devient Réussi.
Le cache lié principal reste disponible pour une utilisation pendant le processus de liaison. Le cache lié secondaire n'est pas disponible tant que le processus de liaison n'est pas terminé.
Nettoyer les ressources sources
Une fois que votre nouveau cache dans la région ciblée est rempli avec toutes les données nécessaires, supprimez le lien entre les deux caches et supprimez l’instance d’origine.
Pour supprimer la liaison entre deux caches et arrêter la géoréplication, dans le panneau Géoréplication sur la gauche, sélectionnez Dissocier les caches.
Une fois le processus de dissociation terminé, le cache secondaire est disponible tant en lecture qu’en écriture.
Notes
En cas de suppression du lien de géoréplication, les données répliquées à partir du cache lié principal restent dans le cache secondaire.
- Supprimez l'instance d'origine.
Créer un cache (tous les niveaux)
Prérequis
- Abonnement Azure : créez-en un gratuitement
Préparation
Si vous n’avez pas besoin de gérer vos données pendant le déplacement, le moyen le plus simple de déplacer des régions consiste à créer une nouvelle instance de cache dans la région ciblée 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.
Déplacer
Pour créer un cache, connectez-vous au Portail Azure. Dans le menu du portail, sélectionnez Créer une ressource.
Dans le volet Démarrer, entrez Azure Cache pour Redis dans la barre de recherche. Dans les résultats de la recherche, localisez Azure Cache pour Redis, puis sélectionnez Créer.
Dans le volet Nouveau cache Redis, sous l’onglet Informations de base, configurez les paramètres suivants pour votre cache :
Setting Action Description Abonnement Sélectionnez votre abonnement Azure. L’abonnement à utiliser pour créer l’instance d’Azure Cache pour Redis. Groupe de ressources Sélectionnez un groupe de ressources ou choisissez Créer nouveau, puis entrez un nouveau nom de groupe de ressources. Le nom du groupe de ressources dans lequel créer votre cache et d’autres ressources. En plaçant toutes les ressources de votre application dans un seul groupe de ressources, vous pouvez facilement les gérer ou les supprimer ensemble. Nom DNS Entrez un nom unique. Le nom du cache doit être une chaîne de 1 à 63 caractères ne contenant que des chiffres, des lettres et des traits d’union. Le nom doit commencer et se terminer par un chiffre ou une lettre, et ne doit pas contenir de traits d’union consécutifs. Le nom d’hôte de votre instance de cache est \<DNS name>.redis.cache.windows.net
.Emplacement Sélectionnez un emplacement. Une région Azure proche d’autres services qui utilisent votre cache. Référence SKU du cache Sélectionnez une référence SKU. La référence SKU détermine les paramètres de taille, de performance et de fonctionnalités disponibles pour le cache. Pour plus d’informations, consultez Présentation d’Azure Cache pour Redis. Taille du cache Sélectionnez une taille de cache. Pour plus d’informations, consultez Présentation d’Azure Cache pour Redis. Sélectionnez l’onglet Mise en réseau ou sélectionnez Suivant : Mise en réseau.
Sous l’onglet Mise en réseau, sélectionnez une méthode de connectivité à utiliser pour le cache.
Sélectionnez l’onglet Avancé ou sélectionnez Suivant : avancé.
Dans le volet Avancé, vérifiez ou sélectionnez une méthode d’authentification en fonction des informations suivantes :
- Par défaut, pour un nouveau cache Basic, Standard ou Premium, l’authentification Microsoft Entra est activée et l’authentification par clés d’accès est désactivée.
- Pour les caches Basic ou Standard, vous pouvez choisir la sélection d'un port non TLS.
- Pour les caches Standard et Premium, vous pouvez choisir d'activer les zones de disponibilité. Vous ne pouvez pas désactiver les zones de disponibilité une fois le cache créé.
- Pour un cache Premium, configurez les paramètres afin d’utiliser un port non-TLS, le clustering, l’identité managée et la persistance des données.
Important
Pour bénéficier d’une sécurité optimale, nous vous recommandons d’utiliser si possible Microsoft Entra ID avec des identités managées pour autoriser les requêtes sur votre cache. L’autorisation avec Microsoft Entra ID et les identités managées offre davantage de sécurité et de facilité d’utilisation que l’autorisation par clé d’accès partagée. Pour plus d’informations sur l’utilisation d’identités managées avec votre cache, consultez Utiliser Microsoft Entra ID pour l’authentification du cache.
(Facultatif) Sélectionnez l’onglet Étiquettes ou sélectionnez Suivant : Étiquettes.
(Facultatif) Sous l’onglet Étiquettes, entrez un nom et une valeur d’étiquette si vous voulez catégoriser votre ressource de cache.
Sélectionnez le bouton Vérifier + Créer.
Sous l’onglet Vérifier et créer, Azure vérifie automatiquement votre configuration.
Une fois que le message vert Validation réussie s’affiche, sélectionnez Créer.
Le déploiement d’un nouveau cache prend plusieurs minutes. Vous pouvez surveiller la progression du déploiement dans le volet Vue d’ensemble d’Azure Cache pour Redis. Lorsque État indique En cours d’exécution, le cache est prêt pour utilisation.
Enfin, mettez à jour votre application pour utiliser les nouvelles instances.
Nettoyer les ressources sources
Une fois que votre nouveau cache dans la région ciblée est en cours d’exécution, supprimez l’instance d’origine.
Exporter et importer des données avec un fichier RDB (Premium, Enterprise, Enterprise Flash)
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 fichier, appelé RDB, peut être lu par un autre cache Redis. Les niveaux Premium et Enterprise d’Azure Cache pour Redis prennent en charge l’importation de données dans une instance de cache avec des fichiers RDB. Vous pouvez utiliser un fichier RDB pour transférer des données à partir 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 assurer la compatibilité descendante. La version de Redis du cache que vous exportez doit être identique ou inférieure à la version de votre nouvelle instance de cache.
Prérequis
- Les deux caches sont de niveau Premium ou niveau Enterprise.
- Le deuxième cache a soit la même taille de cache, soit une taille de cache supérieure à celle du cache d’origine.
- La version de Redis du cache que vous exportez doit être identique ou inférieure à la version de votre nouvelle instance de cache.
Préparation
Pour déplacer votre instance de cache vers une autre région, vous devez créer une deuxième instance de cache Premium ou une deuxième instance de cache Enterprise dans la région de votre choix.
Déplacer
Pour plus d’informations sur la manière d’importer et d’exporter des données dans Azure Cache pour Redis, consultez Importer et exporter des données dans Azure Cache pour Redis.
Mettez à jour votre application pour utiliser la nouvelle instance de cache.
Vérification
Vous pouvez surveiller la progression de l’importation grâce aux notifications du portail Azure ou aux événements dans le journal d’audit.
Nettoyer les ressources sources
Une fois que votre nouveau cache dans la région ciblée est en cours d’exécution, supprimez l’instance d’origine.
Double écriture dans deux caches (De base, Standard et Premium)
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 lit initialement les données du 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.
Prérequis
- Le deuxième cache a soit la même taille de cache, soit une taille de cache supérieure à celle du cache d’origine.
Préparation
Pour déplacer votre instance de cache vers une autre région, vous devez créer une deuxième instance de cache dans la région de votre choix.
Déplacer
Les étapes générales pour implémenter cette option sont les suivantes :
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.
Nettoyer les ressources sources
Une fois que votre nouveau cache dans la région ciblée est en cours d’exécution, supprimez l’instance d’origine.
Migrer par programme (tous niveaux)
Vous pouvez créer un processus de migration personnalisé en lisant par programmation les données d’un cache existant et en les écrivant dans Azure Cache pour Redis. Cet outil open source permet de copier des données d’une instance Azure Cache pour Redis vers une autre dans une région Azure Cache différente. Une version compilée est également disponible. Vous pourriez également trouver le code source utile pour l’écriture de votre propre outil de migration.
Notes
Cet outil n’est pas officiellement pris en charge par Microsoft.
Prérequis
- Le deuxième cache a soit la même taille de cache, soit une taille de cache supérieure à celle du cache d’origine.
Préparation
- 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.
- Pour déplacer votre instance de cache vers une autre région, vous devez créer une deuxième instance de cache dans la région de votre choix.
Déplacer
Après la création d’une machine virtuelle dans la région où se trouve le cache existant, et la création d’un cache dans la région souhaitée, les étapes générales pour implémenter cette option sont les suivantes :
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 ci-dessus 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.
Nettoyer les ressources sources
Une fois que votre nouveau cache dans la région ciblée est en cours d’exécution, supprimez l’instance d’origine.
Étapes suivantes
En savoir plus sur les fonctionnalités d’Azure Cache pour Redis.