Tutoriel : Migration hors ligne à partir d’Amazon Aurora PostgreSQL vers Azure Database pour PostgreSQL à l’aide du service de migration
Cet article explique comment migrer votre base de données PostgreSQL depuis Amazon Aurora vers Azure Database pour PostgreSQL hors connexion.
Le service de migration dans Azure Database pour PostgreSQL est un service entièrement managé qui est intégré au portail Azure et à Azure CLI. Il est conçu pour simplifier votre parcours de migration vers Azure Database pour PostgreSQL.
Dans ce tutoriel, vous allez :
- Répondre aux prérequis
- Lancer la migration
- Surveiller la migration
- Vérifier la migration
Prérequis
Avant de commencer une migration en utilisant le service de migration dans Azure Database pour PostgreSQL, il est important de satisfaire aux prérequis suivants. Ces prérequis sont spécifiquement conçus pour les scénarios de migration hors connexion.
- Vérifier la version source
- Définir la configuration cible
- Définir la configuration réseau
- Activer les extensions
- Vérifier les paramètres de serveur
- Vérifier les utilisateurs et les rôles
- Désactiver la haute disponibilité (fiabilité) et les réplicas en lecture sur la cible
Vérifier la version source
La version du serveur PostgreSQL source doit être 9.5 ou une version ultérieure. Si la version PostgreSQL source est antérieure à 9.5, mettez-la à niveau vers la version 9.5 ou ultérieure avant de commencer la migration.
Définir la configuration cible
Avant de commencer la migration, vous devez créer une instance d’Azure Database pour PostgreSQL dans Azure. La référence SKU approvisionnée pour Azure Database pour PostgreSQL – Serveur flexible doit correspondre à la source.
Pour plus d’informations, consultez Créer une instance d’Azure Database pour PostgreSQL.
Définir la configuration 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 cible dans Azure Database pour PostgreSQL.
Pour plus d’informations sur la configuration réseau, consultez Scénarios 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 lorsqu’une modification est apportée au paramètre shared_preload_libraries
.
Vérifier les paramètres de serveur
Les paramètres de serveur ne sont pas migrés automatiquement vers l’environnement cible et doivent être configurés manuellement.
Faites correspondre les valeurs des paramètres de serveur de la base de données PostgreSQL source à celles de l’instance d’Azure Database pour PostgreSQL. Dans le portail Azure, accédez à Paramètres de serveur et mettez à jour manuellement les valeurs.
Enregistrez les modifications apportées aux paramètres et redémarrez l’instance d’Azure Database pour PostgreSQL pour appliquer si nécessaire la nouvelle configuration.
Vérifier les utilisateurs et les rôles
Quand vous migrez vers Azure Database pour PostgreSQL, il est essentiel de traiter séparément la migration des utilisateurs et des rôles, car une intervention manuelle est nécessaire.
Migration manuelle des utilisateurs et des rôles : les utilisateurs et leurs rôles associés doivent être migrés manuellement vers l’instance d’Azure Database pour PostgreSQL. Pour faciliter ce processus, vous pouvez utiliser l’utilitaire pg_dumpall avec l’indicateur
--globals-only
pour exporter des objets globaux tels que des rôles et des comptes d’utilisateur.Exécutez la commande suivante. Remplacez
<username>
par le nom d’utilisateur réel, puis remplacez<filename>
par le nom que vous voulez utiliser pour le fichier de sortie.pg_dumpall --globals-only -U <username> -f <filename>.sql
Restriction sur les rôles de superutilisateur : Azure Database pour PostgreSQL ne prend pas en charge les rôles de superutilisateur. Les autorisations de superutilisateur doivent être supprimées avant la migration. Veillez à ajuster les autorisations et les rôles en conséquence.
En suivant ces étapes, vous pouvez vous assurer que les comptes d’utilisateur et les rôles sont correctement migrés vers Azure Database pour PostgreSQL sans rencontrer de problèmes liés aux restrictions de superutilisateur.
Désactiver la haute disponibilité (fiabilité) et les réplicas en lecture sur la cible
Il est essentiel de désactiver la haute disponibilité (fiabilité) et les réplicas de lecture dans l’environnement cible avant de lancer la migration. Ces fonctionnalités doivent être activées seulement une fois la migration terminée.
Lancer la migration
Vous pouvez migrer à l’aide du Portail Azure ou d’Azure CLI.
Le portail Azure offre une expérience simple et intuitive basée sur un Assistant qui vous guide tout au long de la migration. En suivant les étapes décrites dans ce tutoriel, vous pouvez transférer facilement votre base de données vers Azure Database pour PostgreSQL – Serveur flexible et tirer parti de sa scalabilité et de ses puissantes fonctionnalités.
Pour migrer en utilisant le portail Azure, commencez par configurer la tâche de migration. Ensuite, connectez-vous à la source et à la cible, puis lancez la migration.
Configurer la tâche de migration
Pour configurer la tâche de migration dans le portail Azure :
Ouvrez votre navigateur web pour accéder au Portail Azure. Entrez vos informations d’identification pour vous connecter.
Accédez à votre instance d’Azure Database pour PostgreSQL – Serveur flexible.
Dans le menu du service, sélectionnez Migration.
Sélectionnez Créer pour migrer depuis Amazon Aurora vers un serveur flexible.
La première fois que vous utilisez le service de migration, une grille vide s’affiche avec une invite pour commencer votre première migration. Si des migrations vers votre cible de serveur flexible ont déjà été créées, la grille contient des informations sur les tentatives de migration.
Sélectionnez Créer pour parcourir une série d’onglets permettant de configurer une migration.
Programme d’installation
Entrez ou sélectionnez les informations suivantes :
Nom de la migration : entrez un identificateur unique pour chaque migration vers cette cible de serveur flexible. Vous pouvez utiliser seulement des caractères alphanumériques et des traits d’union (
-
) dans le nom de la migration. Le nom ne peut pas commencer par un trait d’union et il doit être unique pour un serveur cible. Deux migrations vers la même cible de serveur flexible ne peuvent pas avoir le même nom.Type de serveur source : sélectionnez le type de source qui correspond à votre source PostgreSQL, par exemple un service PostgreSQL basé sur le cloud, une configuration locale ou une machine virtuelle.
Option de migration : choisissez une des options suivantes pour une validation de la prémigration :
- Validez. Vérifie la préparation de votre serveur et de votre base de données pour la migration vers la source cible.
- Migrer. Ignore les validations et démarre la migration.
- Valider et migrer. Effectue une validation avant de déclencher une migration. En l’absence d’échecs de validation, la migration est déclenchée.
Une bonne pratique est de sélectionner l’option Valider ou Valider et migrer pour les validations de prémigration.
Pour plus d’informations, consultez Validations de prémigration.
Mode de migration : sélectionnez le mode de la migration. L’option par défaut est Hors connexion.
Sélectionnez Suivant : Connexion à la source.
Sélectionner le serveur d’exécution
Le serveur d’exécution de migration est une fonctionnalité spécialisée du service de migration. Le serveur d’exécution agit en tant que serveur intermédiaire pendant la migration. Il s’agit d’une instance distincte d’Azure Database pour PostgreSQL – Serveur flexible qui n’est pas le serveur cible. Le serveur d’exécution facilite la migration des bases de données depuis un environnement source accessible seulement via un réseau privé.
Pour plus d’informations, consultez Serveur d’exécution de migration.
Se connecter à la source
Sous l’onglet Connexion à la source, entrez ou sélectionnez les informations suivantes pour la source de base de données :
- Nom du serveur : entrez le nom d’hôte ou l’adresse IP de l’instance PostgreSQL source.
- Port : entrez le numéro de port du serveur source.
- Nom de connexion de l’administrateur du serveur : entrez le nom d’utilisateur du serveur PostgreSQL source.
- Mot de passe : entrez le mot de passe du serveur PostgreSQL source.
- Mode SSL : les valeurs prises en charge sont Préférer et Exiger. Quand SSL (Secure Sockets Layer) est désactivé sur le serveur PostgreSQL source, sélectionnez Préférer. Si SSL est activé sur le serveur source, sélectionnez Exiger. Les valeurs pour SSL peuvent être définies dans le fichier postgresql.conf.
- Tester la connexion : effectue un test de connectivité entre la cible et la source. Une fois la connexion établie, passez à l’étape suivante pour identifier les problèmes réseau entre la cible et la source, et pour vérifier le nom d’utilisateur et le mot de passe de la source. L’établissement d’une connexion de test prend quelques minutes.
Une fois le test de la connexion réussi, sélectionnez Suivant : Sélectionner la cible de migration.
Sélectionner la cible de migration
Sous l’onglet Sélectionner la cible de migration, entrez ou sélectionnez les informations suivantes pour la cible de serveur flexible, en plus de l’abonnement, du groupe de ressources et du nom du serveur :
- Nom d’utilisateur de l’administrateur : le nom d’utilisateur de l’administrateur du serveur PostgreSQL cible.
- Mot de passe : le mot de passe du serveur PostgreSQL cible.
- Nom de domaine complet (FQDN)/IP personnalisé (facultatif) : le champ FQDN/IP personnalisé est facultatif et peut être utilisé lorsque la cible se trouve derrière un serveur DNS personnalisé ou possède des espaces de noms DNS personnalisés, ce qui le rendent accessible uniquement via des noms de domaine complets ou des adresses IP spécifiques. Par exemple, cela peut inclure des entrées telles que
flexibleserver.example.com
,198.1.0.2
ou un nom de domaine complet PostgreSQL tel queflexibleserver.postgres.database.azure.com
, si le serveur DNS personnalisé contient la zone DNSpostgres.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. - Tester la connexion : effectue un test de connectivité entre la cible et la source. Une fois la connexion établie, passez à l’étape suivante pour identifier les problèmes réseau entre la cible et la source, et pour vérifier le nom d’utilisateur et le mot de passe du serveur cible. L’établissement d’une connexion de test prend quelques minutes.
Une fois le test de la connexion réussi, sélectionnez Suivant : Sélectionner une ou plusieurs bases de données pour la migration.
Sélectionner des bases de données pour la migration
Sous l’onglet Sélectionner une base de données pour la migration, effectuez une sélection dans la liste des bases de données utilisateur à migrer depuis votre serveur PostgreSQL source.
Après avoir sélectionné les bases de données, sélectionnez Suivant : Résumé.
Résumé
L’onglet Résumé récapitule toutes les informations de la source et de la cible pour la création de la validation ou de la migration. Passez en revue les informations, puis sélectionnez Démarrer la validation et la migration.
Surveiller la migration
Quelques secondes après avoir sélectionné Démarrer la validation et la migration, vous voyez apparaître une notification indiquant que la validation ou la création de la migration a réussi. Vous êtes redirigé vers le volet Migration de l’instance de serveur flexible. L’entrée de l’état est InProgress et le sous-état PerformingPreRequisiteSteps. Il faut 2 à 3 minutes pour que le flux de travail configure l’infrastructure de migration et vérifie les connexions réseau.
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
- Durée
- Heure de début
Les entrées sont affichées dans l’ordre décroissant des heures de début, avec l’entrée la plus récente en haut. Vous pouvez sélectionner Actualiser dans la barre de menus pour actualiser l’état d’exécution de la validation ou de la migration.
Détails de la migration
Dans la liste des migrations, sélectionnez le nom d’une migration pour voir les détails associés.
Sous l’onglet Configuration, sélectionnez l’option de migration Valider et migrer. Dans ce scénario, les validations sont effectuées avant le début 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 se termine sans erreur, la migration démarre et le workflow passe au sous-état Migration des données.
Vous pouvez vérifier les détails de la validation au niveau de l’instance et au niveau de la base de données :
Validation au niveau de l’instance :
- Vérifiez la validation liée à la vérification de la connectivité pour la version de la source (vérification du paramètre
PostgreSQL version >= 9.5
du serveur) si les extensions sont activées dans les paramètres de serveur de l’instance d’Azure Database pour PostgreSQL – Serveur flexible.
- Vérifiez la validation liée à la vérification de la connectivité pour la version de la source (vérification du paramètre
Validation au niveau de la base de données :
- Vérifiez la validation des bases de données individuelles liées aux extensions et à la prise en charge des classements dans Azure Database pour PostgreSQL – Serveur flexible.
Vous pouvez voir l’état actuel de la validation et de la migration dans le volet des détails de la migration.
Les tableaux suivants décrivent quelques états et sous-états possibles de la migration.
États de migration
State | Description |
---|---|
InProgress | L’infrastructure de migration est en cours de configuration, ou la migration des données est en cours. |
Annulé | La migration est annulée ou supprimée. |
Échec | La migration a échoué. |
Échec de la validation | La validation a échoué. |
Réussi | La migration a réussi et est terminée. |
WaitingForUserAction | Applicable seulement pour les migrations en ligne. En attente de basculement par un utilisateur. |
Sous-états de la migration
Sous-état | Description |
---|---|
PerformingPreRequisiteSteps | L’infrastructure est en cours de configuration pour la migration des données. |
Validation en cours | La validation est en cours. |
MigratingData | La migration des données est en cours. |
CompletingMigration | La migration est en phase finale. |
Terminé | La migration est terminée. |
Échec | La migration a échoué. |
Sous-états de validation
Sous-état | Description |
---|---|
Échec | Échec de la validation. |
Réussi | La validation a réussi. |
Avertissement | La validation montre un avertissement. |
Annuler la migration
Vous pouvez annuler toutes les validations ou migrations en cours. Le workflow doit être dans l’état En cours pour pouvoir ê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 migration arrête toute activité de migration sur votre serveur cible et passe la tentative de migration à l’état Annulé. L’action d’annulation annule toutes les modifications apportées par le service de migration sur votre serveur cible.
Vérifier la migration
Une fois la migration de base de données terminée, validez manuellement les données entre la source et la cible. Vérifiez que tous les objets de la base de données cible sont correctement créés.
Après la migration, vous pouvez effectuer ces tâches :
- Vérifiez les données sur votre serveur flexible et assurez-vous qu’il s’agit d’une copie exacte de l’instance source.
- Après vérification, activez si nécessaire l’option de haute disponibilité sur votre serveur flexible.
- Changez la référence SKU (version) du serveur flexible pour la faire correspondre aux besoins de votre application. Cette modification nécessite un redémarrage du serveur de base de données.
- Si vous changez les valeurs par défaut de certains paramètres de serveur sur l’instance source, copiez les valeurs de ces paramètres de serveur sur 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.