Partager via


Tutoriel : Migrer du serveur unique au serveur flexible Azure Database pour PostgreSQL à l’aide du service de migration

S’APPLIQUE À : Azure Database pour PostgreSQL : serveur flexible

Dans le portail Azure, vous pouvez migrer une instance d’Azure Database pour PostgreSQL - Serveur unique vers Azure Database pour PostgreSQL - Serveur flexible. Dans ce tutoriel, nous effectuons la migration d’un exemple de base de données d’un serveur unique Azure Database pour PostgreSQL vers un serveur flexible PostgreSQL à l’aide du portail Azure.

  • Configurez votre instance de serveur flexible Azure Database pour PostgreSQL
  • Configurer la tâche de migration
  • Surveiller la migration
  • Annuler la migration
  • Après la migration

Vous pouvez faire la migration avec le portail Azure.

Prérequis (hors connexion)

Avant de commencer votre migration avec le service de migration dans Azure Database pour PostgreSQL, vous devez satisfaire aux prérequis suivants, qui s’appliquent aux scénarios de migration hors ligne.

Vérifier la version source

La version de PostgreSQL source doit être >= 9.5. Si la version de PostgreSQL source est inférieure à 9.5, mettez à niveau la version de PostgreSQL source vers la version 9.5 ou ultérieure avant la migration.

Configuration cible :

  • Le serveur flexible Azure Database pour PostgreSQL doit être déployé et correctement configuré dans Azure avant de commencer le processus de migration.

  • La référence SKU choisie pour Azure Database pour PostgreSQL doit correspondre aux spécifications de la base de données source afin de garantir la compatibilité et des performances adéquates.

  • Pour obtenir des instructions détaillées sur la création d’une Azure Database pour PostgreSQL, reportez-vous au lien suivant : Démarrage rapide : Créer un serveur.

Configuration du réseau

La configuration du réseau est cruciale pour que le service de migration fonctionne correctement. Vérifiez que le serveur PostgreSQL source peut communiquer avec le serveur Azure Database pour PostgreSQL cible. Les configurations réseau suivantes sont essentielles pour une migration réussie.

Pour plus d’informations sur la configuration réseau, consultez le Guide réseau pour le service de migration.

Activer les extensions

Pour garantir la réussite de la migration à l’aide du service de migration dans Azure Database pour PostgreSQL, il peut être nécessaire de vérifier les extensions de votre instance PostgreSQL source. Les extensions fournissent des fonctionnalités qui peuvent être requises pour votre application. Veillez à vérifier les extensions sur l’instance PostgreSQL source avant de lancer le processus de migration.

Sur l’instance cible d’Azure Database pour PostgreSQL – Serveur flexible, activez les extensions prises en charge et identifiées dans l’instance PostgreSQL source.

Pour plus d’informations, consultez Extensions dans Azure Database pour PostgreSQL.

Remarque

Un redémarrage est nécessaire quand vous apportez des modifications au paramètre shared_preload_libraries.

Vérifier les paramètres du serveur

Ces paramètres ne sont pas automatiquement migrés vers l’environnement cible et doivent être configurés manuellement.

  • Faites correspondre les valeurs des paramètres du serveur de la base de données PostgreSQL source à Azure Database pour PostgreSQL en accédant à la section Paramètres du serveur dans le Portail Azure et en mettant à jour manuellement les valeurs en conséquence.

  • Enregistrez les modifications apportées aux paramètres et, si nécessaire, redémarrez le serveur flexible Azure Database pour PostgreSQL pour appliquer la nouvelle configuration.

Important

Modifiez le paramètre de serveur password_encryption sur votre serveur flexible de SCRAM-SHA-256 à MD5 avant de lancer la migration. Cela est essentiel pour que les informations d’identification existantes sur le serveur unique fonctionnent sur votre serveur flexible.

Désactiver les réplicas de haute disponibilité (fiabilité) et de lecture dans la cible

  • Il est essentiel de désactiver les réplicas de haute disponibilité (fiabilité) et en lecture dans l’environnement cible. Ces fonctionnalités doivent uniquement être activées une fois la migration terminée.

  • En procédant ainsi, vous pouvez garantir un processus de migration fluide sans les variables ajoutées introduites par les réplicas de haute disponibilité et en lecture. Une fois la migration terminée et la base de données stable, vous pouvez activer ces fonctionnalités pour améliorer la disponibilité et la scalabilité de votre environnement de base de données dans Azure.

Configurer votre serveur flexible Azure Database pour PostgreSQL

  • Créez le serveur flexible cible. Pour obtenir les étapes détaillées, consultez le guide de démarrage rapide Créer un serveur flexible Azure Database pour PostgreSQL avec le portail.

  • Extensions de liste d'autorisation dont les bibliothèques doivent être chargées au démarrage du serveur. Les extensions doivent impérativement être dans la liste d’autorisation avant le lancement d’une migration.

  • Vérifiez s’il y a une asymétrie de la distribution des données dans les tables de base de données, par exemple, si la plupart des données sont présentes dans une seule ou quelques tables. En cas d’asymétrie, la vitesse de migration peut être plus lente que prévu. Dans ce cas, la migration peut être accélérée en migrant la grande table en parallèle.

Configurer la tâche de migration

Le service de migration inclut une expérience simple basée sur un Assistant sur le Portail Azure. Voici comment procéder :

  1. Ouvrez votre navigateur web et accédez au portail. Pour vous connecter, entrez vos informations d’identification. Il s’ouvre par défaut sur le tableau de bord des services.

  2. Accédez à votre cible Azure Database pour PostgreSQL - Serveur flexible.

  3. Dans l’onglet Vue d’ensemble du serveur flexible, dans le menu de gauche, faites défiler vers le bas jusqu’à Migration et sélectionnez cette option.

    Capture d’écran de la page de présentation du serveur flexible.

  4. Sélectionnez le bouton Créer pour démarrer une migration de serveur unique vers un serveur flexible. S’il s’agit de la première fois que vous utilisez le service de migration, une grille vide s’affiche pour vous inviter à commencer votre première migration.

    Capture d’écran de l’onglet de migration dans le serveur flexible.

    Si vous avez déjà créé des migrations vers votre serveur flexible cible, la grille contient des informations sur les migrations qui ont été tentées vers cette cible à partir du serveur unique.

  5. Vous utilisez une série d’onglets aidée par un Assistant pour créer une migration vers cette cible de serveur flexible depuis différentes sources possibles. Par défaut, le Type de serveur source est défini sur Serveur unique Azure Database pour PostgreSQL, qui est celui qui nous intéresse dans ce scénario.

Vous pouvez également lancer le processus de migration à partir du serveur unique Azure Database pour PostgreSQL.

  1. Ouvrez votre navigateur web et accédez au portail. Pour vous connecter, vous devez entrer vos informations d’identification. Il s’ouvre par défaut sur le tableau de bord des services.

  2. Lorsque vous sélectionnez le serveur unique, vous pouvez observer une bannière liée à la migration dans l’onglet Vue d’ensemble. Sélectionnez Migrer maintenant pour commencer.

    Capture d’écran pour initier la migration à partir de l’onglet serveur unique.

  3. Vous serez redirigé vers une page avec deux options. Si vous avez déjà créé un serveur flexible et que vous voulez l’utiliser comme cible, choisissez Sélectionner existant et sélectionnez les détails correspondants pour Abonnement, Groupe de ressources et Nom du serveur. Une fois les sélections effectuées, sélectionnez Accéder à l’Assistant de migration et suivez les instructions de la section Configuration.

    Capture d’écran pour choisir l’option de serveur flexible existante.

  4. Si vous choisissez de créer un nouveau serveur flexible, sélectionnez Créer nouveau, puis Accéder à l’Assistant de création. Cette action vous guide tout au long du processus de création du serveur flexible et déploie le serveur flexible.

    Capture d’écran pour choisir l’option de nouveau serveur flexible.

Après avoir déployé le serveur flexible, suivez les étapes 3 à 5 de Configurer la tâche de migration.

Programme d’installation

L’onglet Configuration apparaît en premier. Si vous ne l’avez pas encore fait, établissez une liste d'autorisations pour les extensions nécessaires, comme décrit dans Configurer votre serveur flexible Azure Database pour PostgreSQL, avant de lancer une migration.

Capture d’écran des détails appartenant à l’onglet Configuration pour la migration hors connexion.

Le nom de la migration est l’identificateur unique de chaque migration vers cette cible de serveur flexible. Ce champ n’accepte que des caractères alphanumériques et n’accepte aucun caractère spécial à l’exception du tiret bas (_) et du trait d’union (-). Le nom doit commencer par un caractère alphanumérique. Le nom d’un serveur cible doit également être unique, car deux migrations vers le même serveur flexible cible ne peuvent avoir le même nom.

Le type de serveur source indique la source. Dans ce cas, il s'agit d’Azure Database pour PostgreSQL - Serveur unique

Option de migration vous permet de réaliser des validations avant de déclencher une migration. Vous pouvez choisir l’une des options suivantes.

  • Valider : vérifie la préparation de votre serveur et de votre base de données pour la migration vers la cible.
  • Migrer : ignore les validations et démarre la migration.
  • Valider et migrer : effectue la validation avant de déclencher une migration. La migration est uniquement déclenchée s’il n’y a pas d’échecs de validation.

La bonne pratique est de choisir l’option Valider ou Valider et migrer pour effectuer des validations de prémigration avant d’exécuter la migration.

Mode de migration vous permet de choisir entre une migration en ligne et une migration hors ligne. Dans ce cas, il doit être défini sur Hors ligne.

Sélectionnez le bouton Suivant : sélectionner le serveur de runtime.

Serveur d’exécution

Le serveur d’exécution de migration est une fonctionnalité spécialisée intégrée au service de migration dans Azure Database pour PostgreSQL, conçu pour agir en tant que serveur intermédiaire pendant la migration. Il s’agit d’une instance de serveur flexible Azure Database pour PostgreSQL distincte qui n’est pas le serveur cible, mais utilisé pour faciliter la migration des bases de données à partir d’un environnement source accessible uniquement via un réseau privé.

Capture d’écran de la page du serveur d’exécution de migration.

Pour plus d’informations sur le serveur d’exécution, visitez la page du Serveur d’exécution de migration.

Sélectionnez le bouton Suivant : Se connecter à la source.

Se connecter à la source

La section Source vous invite à fournir des informations sur le Serveur unique, qui est la source des bases de données.

Une fois que vous avez effectué les sélections Abonnement et Groupe de ressources, la liste déroulante des noms de serveur affiche le serveur unique sous ce groupe de ressources dans plusieurs régions. Sélectionnez la source à partir de laquelle vous souhaitez migrer les bases de données. Vous pouvez migrer des bases de données d’un serveur unique vers un serveur flexible cible dans la même région. Les migrations entre régions sont activées uniquement pour les serveurs en Inde, en Chine et aux Émirats arabes unis.

Une fois que vous avez choisi la source Serveur unique, les zones Emplacement et Version PostgreSQL sont remplies automatiquement. Veillez à fournir les informations d’identification d’un rôle d’administrateur, car elles sont nécessaires pour que le service de migration migre correctement les bases de données.

Le champ Nom de domaine complet/IP personnalisé est facultatif et peut être utilisé quand la source se trouve derrière un serveur DNS personnalisé ou a des espaces de noms DNS personnalisés, ce qui la rend accessible seulement via des noms de domaine complets (FQDN) ou des adresses IP spécifiques. Par exemple, il peut s’agir d’entrées telles que singleserver.example.com, 198.1.0.2 ou d’un nom de domaine complet PostgreSQL comme singleserver.postgres.database.azure.com si le serveur DNS personnalisé contient la zone DNS postgres.database.azure.com ou transfère des requêtes pour cette zone à 168.63.129.16, où le nom de domaine complet est résolu dans la zone DNS publique ou privée Azure.

Après avoir renseigné tous les champs, sélectionnez le lien Se connecter à la source. Cette opération confirme que les détails du serveur source entrés sont corrects et que le serveur source est accessible.

Capture d’écran des détails du serveur de base de données source​.

Cliquez sur le bouton Suivant : sélectionner la cible de migration pour continuer.

Sélectionner la cible de migration

La section Sélectionner la cible de migration affiche les métadonnées du serveur flexible cible, comme Abonnement, Groupe de ressources, Nom du serveur, Emplacement et Version PostgreSQL.

Le champ Nom de domaine complet/IP personnalisé est facultatif et peut être utilisé quand la cible se trouve derrière un serveur DNS personnalisé ou a des espaces de noms DNS personnalisés, ce qui la rend accessible seulement via des noms de domaine complets (FQDN) ou des adresses IP spécifiques. Par exemple, il peut s’agir d’entrées telles que flexibleserver.example.com, 198.1.0.2 ou d’un nom de domaine complet PostgreSQL comme flexibleserver.postgres.database.azure.com si le serveur DNS personnalisé contient la zone DNS postgres.database.azure.com ou transfère des requêtes pour cette zone à 168.63.129.16, où le nom de domaine complet est résolu dans la zone DNS publique ou privée Azure.

Capture d’écran des détails du serveur de base de données cible​.

Choisissez les valeurs appropriées pour Méthode d’authentification et tous les champs associés à l’authentification. Vérifiez que l’identité fournie est celle de l’utilisateur administrateur sur le serveur cible. Après avoir rempli toutes les informations requises, sélectionnez le lien Se connecter à la cible. Cette opération permet de confirmer que les détails du serveur cible saisis sont corrects et que ce dernier est accessible.

Sélectionnez le bouton Suivant : sélectionner la ou les bases de données pour la migration pour sélectionner les bases de données à migrer.

Sélectionner une ou plusieurs bases de données pour la migration

Sous cet onglet, il existe une liste de bases de données utilisateur à l’intérieur du serveur unique. Vous pouvez sélectionner et migrer jusqu’à huit bases de données en une seule tentative de migration. S’il existe plus de huit bases de données utilisateur, le processus de migration est répété entre les serveurs source et cible pour l’ensemble de bases de données suivant. Les bases de données sélectionnées qui existent sur le serveur cible avec exactement les mêmes noms sont remplacées.

Capture d’écran des bases de données à migrer.

Sélectionnez le bouton Suivant : résumé pour vérifier les détails.

Résumé

L'onglet Résumé résume tous les détails de la création de la validation ou de la migration. Passez en revue les informations et sélectionnez le bouton Démarrer la validation et la migration.

Capture d’écran des détails à examiner pour la migration.

Portail Monitorer la migration

Une fois la migration démarrée, une notification s’affiche pour indiquer que la création de la validation ou de la migration est réussie. Vous êtes automatiquement redirigé vers la page Migration du serveur flexible. Il s’agit d’une nouvelle entrée pour la validation ou la migration récemment créée.

Capture d’écran des détails de la migration récemment créée.

La grille qui affiche les migrations comporte les colonnes suivantes : Nom, État, Mode de migration, Type de migration, Serveur source, Type du serveur source, Bases de données, Heure de début et Durée. Les entrées sont affichées dans l’ordre décroissant de l’heure de début avec l’entrée la plus récente en haut.

Vous pouvez utiliser le bouton Actualiser pour actualiser l’état de la validation ou de la migration.

Vous pouvez également sélectionner le nom d’une migration particulière dans la grille pour afficher les détails associés.

Après la validation ou une fois la migration créée, l’état devient InProgress avec le sous-état PerformingPreRequisiteSteps. Le workflow prend 2 à 3 minutes pour configurer l’infrastructure de migration et les connexions réseau.

Voyons comment analyser les migrations pour chaque option de migration.

Valider

Une fois le sous-état PerformingPreRequisiteSteps terminé, la validation passe au sous-état de Validation en cours où les vérifications sont effectuées sur le serveur source et cible pour évaluer la préparation de la migration.

La validation passe à l’état Réussi si toutes les validations sont dans l’état Réussi ou Avertissement.

Capture d’écran de la grille de validation.

La grille de validation comporte les informations suivantes :

  • Sections Détails de validation pour l’instance et Détails de validation pour les bases de données qui représentent les règles de validation utilisées pour vérifier la préparation de la migration.
  • Nom de la validation : nom de chaque règle de validation spécifique.
  • État de la validation : représente le résultat de chaque règle et peut prendre l'une des trois valeurs suivantes :
    • Réussi : si aucune erreur n’a été trouvée.
    • Échec : en cas d’erreurs de validation.
    • Avertissement : s’il existe des avertissements de validation.
  • Durée : durée de l'opération de validation.
  • Heure de début (UTC) et Heure de fin (UTC) : heure de début et de fin de l’opération de validation au format UTC.

L'État de validation passe à l'état Échec si la validation comporte des erreurs. Sélectionnez la validation Nom de la validation ou Nom de la base de données qui a échoué. Un volet en éventail vous donne alors les détails et l’action corrective à exécuter pour éviter cette erreur.

Capture d’écran de la grille de validation avec l’état d’échec.

Migrer

Lorsque le sous-état PerformingPreRequisiteSteps est terminé, la migration passe au sous-état Migration des données, lorsque le clonage ou la copie des bases de données ont lieu. La durée de la migration dépend de la taille et de la forme des bases de données que vous migrez. La migration est rapide si les données sont principalement réparties uniformément dans toutes les tables. Les tailles de table inégales prennent un temps relativement plus long.

Lorsque vous sélectionnez n’importe laquelle de ces bases de données en cours de migration, un volet de ramification s’affiche. Il contient tous les nombres de tables (copiées, mises en file d’attente, copie en cours et erreurs) ainsi que l’état de migration de la base de données.

Capture d’écran de la grille de migration contenant tous les détails sur les bases de données.

La migration passe à l’état Réussi dès que l’état Migration des données se termine correctement. En cas de problème au niveau de l’état Migration des données, la migration passe à l’état Échec.

Capture d’écran du résultat de la migration.

Une fois la migration passée à l’état Réussi, la migration du schéma et des données de votre serveur unique vers votre serveur flexible cible est terminée. Vous pouvez actualiser la page pour vérifier la progression.

Capture d’écran des migrations terminées.

Valider et migrer

Dans cette option, les validations sont effectuées en premier avant le démarrage de la migration. Dès que le sous-état PerformingPreRequisiteSteps est terminé, le workflow passe au sous-état Validation en cours.

  • Si la validation présente des erreurs, la migration passe à l’état Échec.
  • Si la validation est terminée sans erreur, la migration démarre et le flux de travail passe au sous-état Migration des données.

Vous pouvez consulter les résultats de Validation et migration une fois l'opération terminée.

Capture d’écran montrant l’onglet Validations dans la page de détails.

Annuler la migration dans le portail

Vous pouvez annuler toutes les validations ou migrations en cours. Le workflow doit être dans l’état InProgress pour être annulé. Vous ne pouvez pas annuler une validation ou une migration qui se trouve dans l’état Réussi ou Échec.

L’annulation d’une validation arrête toute activité de validation supplémentaire et la validation passe à l’état Annulé.

L’annulation d’une migration arrête l’activité de migration supplémentaire sur votre serveur cible et passe à l’état Annulé. L’action d’annulation restaure toutes les modifications apportées par le service de migration sur votre serveur cible.

Vérifier la migration une fois terminée

Après une migration réussie, vérifiez que vous pouvez vous connecter à votre serveur flexible à l’aide des mêmes informations d’identification que sur le serveur unique. Si vous rencontrez des erreurs d’authentification sur votre serveur flexible après la migration à partir d’un serveur unique, cela peut être dû au fait que la machine virtuelle du serveur flexible est conforme à FIPS ou qu’elle utilise un algorithme de chiffrement de mot de passe (SCRAM-SHA-256) autre que le chiffrement MD5 du serveur unique. Pour résoudre ce problème, effectuez les étapes suivantes :

  1. Modifiez le paramètre de serveur password_encryption sur votre serveur flexible de SCRAM-SHA-256 à MD5.
  2. Réinitialisez la migration de votre serveur unique vers le serveur flexible.
  3. Si les problèmes d’authentification persistent, supprimez le serveur flexible existant et approvisionnez-en un nouveau. Répétez les étapes 1 et 2 pour résoudre le problème.

Cela doit résoudre les erreurs d’authentification.

Après la migration, vous pouvez effectuer les tâches suivantes :

  • Vérifiez les données sur votre serveur flexible et vérifiez qu’il s’agit d’une copie exacte de l’instance source.

  • Après vérification, et si cela est nécessaire, activez l’option haute disponibilité sur votre serveur flexible.

  • Changez la référence SKU du serveur flexible en fonction des besoins d’applications. Cette modification nécessite un redémarrage du serveur de base de données.

  • Si vous modifiez les valeurs par défaut de certains paramètres de serveur sur l’instance source, copiez les valeurs de ces paramètres de serveur dans le serveur flexible.

  • Copiez d’autres paramètres de serveur tels que les étiquettes, les alertes et les règles de pare-feu (le cas échéant) de l’instance source vers le serveur flexible.

  • Apportez des modifications à votre application pour lui faire pointer les chaînes de connexion vers un serveur flexible.

  • Surveillez de près le niveau de performance des bases de données pour déterminer s’il est nécessaire de l’ajuster.