Cette fonctionnalité utilise la réplication physique en flux continu pour offrir une migration rapide, simple et fiable. Elle prend en charge un large éventail de scénarios et améliore l'efficacité du processus de migration.
Prérequis
-
L'instance ApsaraDB RDS for PostgreSQL cible doit répondre aux exigences suivantes :
-
La version majeure de l'instance doit correspondre à celle de votre base de données PostgreSQL auto-gérée. Les versions PostgreSQL 10 et ultérieures sont prises en charge.
RemarquePour migrer entre différentes versions majeures, par exemple de PostgreSQL 10 vers ApsaraDB RDS for PostgreSQL 13, effectuez d'abord la migration vers le cloud en un clic décrite dans cette rubrique. Ensuite, vous pouvez mettre à niveau la version majeure de la base de données d'ApsaraDB RDS for PostgreSQL 10 vers 13.
L'instance doit être une instance principale. Les instances en lecture seule ne prennent pas en charge la migration vers le cloud en un clic.
Le type de stockage de l'instance doit être un disque cloud.
L'instance doit être vide et disposer d'un espace de stockage disponible supérieur ou égal à la taille des données de votre base de données PostgreSQL auto-gérée.
-
-
Votre base de données PostgreSQL auto-gérée doit répondre aux exigences suivantes :
-
Réseau
Source de migration
Exigences réseau
Base de données PostgreSQL auto-gérée sur une instance ECS ou instance ApsaraDB RDS for PostgreSQL
Les instances source et cible doivent se trouver dans le même Virtual Private Cloud (VPC). Si elles résident dans des VPC différents, connectez-les à l'aide de Cloud Enterprise Network (CEN). Pour plus d'informations, consultez Cloud Enterprise Network (CEN).
Base de données PostgreSQL auto-gérée dans un centre de données sur site (le centre de données est connecté au VPC)
Établissez une connexion réseau privée entre le centre de données sur site et l'instance ApsaraDB RDS for PostgreSQL. Pour plus de détails, consultez Connecter un VPC à un centre de données sur site.
Si vous migrez depuis une base de données PostgreSQL auto-gérée sur une instance ECS vers une instance ApsaraDB RDS for PostgreSQL, suivez d'abord les étapes décrites dans (Facultatif) Configurer un groupe de sécurité ECS.
Suivez les étapes décrites dans Configurer le fichier postgresql.conf.
Suivez les étapes décrites dans Créer un compte de migration.
Suivez les étapes décrites dans Mettre à jour le fichier pg_hba.conf.
Suivez les étapes décrites dans Configurer le pare-feu du serveur.
-
Remarques
Pendant l'exécution de la tâche de migration vers le cloud, vous pouvez lire et écrire dans votre base de données PostgreSQL auto-gérée. Toutefois, n'effectuez pas d'opérations administratives majeures telles qu'une autre migration, un redémarrage ou une modification des spécifications.
Étape 1 : Exécuter une évaluation de faisabilité
Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où réside l'instance RDS. Recherchez ensuite l'instance RDS et cliquez sur son ID.
Dans le volet de navigation de gauche, cliquez sur Cloud Migration/DR Deployment, puis sélectionnez l'onglet Feasibility Assessment.
Sur la page Configure Scenario and Source Type de l'assistant, définissez le paramètre Migration to Cloud sur Cloud Migration, sélectionnez votre source de migration, puis cliquez sur Next.
Sur la page Configure Destination Instance, cliquez sur Next.
-
Sur la page Configure Source Instance, cochez toutes les cases correspondant aux configurations préalables effectuées, puis cliquez sur Next.
RemarquePour plus d'informations sur les éléments de la page Configure Source Instance, consultez les rubriques (Facultatif) Configurer un groupe de sécurité ECS, Créer un compte de migration et Mettre à jour le fichier pg_hba.conf.
-
Sur la page Start Feasibility Assessment, configurez les informations relatives à l'instance source.
Paramètre
Description
Migration Task Name
Généré automatiquement. Aucune modification n'est requise.
Source VPC/DNS IP
-
Si la base de données source se trouve sur une instance ECS, saisissez l'adresse IP privée de l'instance ECS. Pour plus d'informations, consultez Afficher les adresses IP.
-
Si la base de données source se trouve dans un centre de données sur site, saisissez l'adresse IP privée du centre de données.
Port of Source Instance
Port de votre base de données PostgreSQL auto-gérée. Vous pouvez exécuter la commande
netstat -a | grep PGSQLpour afficher le port.Username
migratetest. Il s'agit du compte de base de données créé lors de l'étape Créer un compte de migration.Password
123456. Il s'agit du mot de passe du compte de base de données créé lors de l'étape Créer un compte de migration. -
-
Cliquez sur Create Feasibility Assessment Task.
RemarquePendant l'évaluation de faisabilité, le statut de l'instance passe à Maintaining Instance.
Une fois l'évaluation terminée, consultez le statut de la tâche dans la liste Migration to Cloud de l'onglet Feasibility Assessment.
Si le status est Success, passez à l'étape de migration vers le cloud. Pour plus d'informations, consultez la section Étape 2 : Démarrer la migration vers le cloud.
Si le status est Failed, cliquez sur Report Details dans la colonne Actions et résolvez le problème en vous basant sur le message d'erreur . Pour obtenir des informations sur les erreurs courantes, consultez la rubrique Interpréter un rapport d'évaluation de migration vers le cloud.
Après avoir résolu l'erreur, cliquez sur Re-assess dans la colonne Actions pour relancer la tâche d'évaluation.
Étape 2 : Démarrer la migration vers le cloud
Vous ne pouvez effectuer cette étape qu'après la réussite de l'évaluation de faisabilité.
Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où réside l'instance RDS. Recherchez ensuite l'instance RDS et cliquez sur son ID.
Dans le volet de navigation de gauche, cliquez sur One-Click Cloud Migration/Disaster Recovery, accédez à l'onglet Migration to Cloud, puis cliquez sur Create Cloud Migration Task.
-
Dans la fenêtre Create Cloud Migration Task, sélectionnez la tâche d'évaluation réussie dans la liste Associated Assessment Task. Il s'agit de la tâche créée lors de l'étape Étape 1 : Exécuter une évaluation de faisabilité.
RemarqueLorsque vous sélectionnez une Associated Assessment Task, les paramètres Migration Source Type, Source IP/ DNS, Port of Source Instance et Username sont renseignés automatiquement.
-
Cliquez sur Initiate Migration to Cloud. Le système démarre automatiquement la tâche de migration vers le cloud.
AvertissementPendant la migration vers le cloud, le statut de l'instance passe à Migrating Data In. Vous pouvez effectuer des opérations de lecture et d'écriture sur votre base de données PostgreSQL auto-gérée. Toutefois, n'effectuez pas d'opérations administratives majeures telles qu'une autre migration, un redémarrage ou une modification des spécifications. Sinon, la tâche de migration vers le cloud échouera.
-
Effectuez le basculement.
Dans la liste des tâches de migration vers le cloud, cliquez sur le lien de la colonne Cloud Migration Phase pour vérifier la progression de la tâche.
Lorsque la phase de migration vers le cloud est définie sur Incremental Data Synchronization, cliquez sur Switchover dans la colonne Action pour commencer le basculement.
-
Dans la fenêtre Switchover, suivez les instructions de basculement : configurez l'instance source en lecture seule ou arrêtez les opérations d'écriture depuis votre application. Confirmez que le statut de la réplication est streaming et cochez les cases correspondant aux autres instructions : le rôle superuser est rétrogradé en rds_superuser, et les mots de passe des comptes aurora et replicator sont réinitialisés et utilisés comme comptes système RDS. Après confirmation, cliquez sur Switch Now.
RemarqueConfiguration de l'instance source en lecture seule :
-
Si l'instance source est une instance ApsaraDB RDS for PostgreSQL, procédez comme suit :
Dans la rubrique Configurer les paramètres de l'instance, définissez le paramètre rds_force_trans_ro_non_sup de l'instance source sur on.
-
Exécutez l'instruction suivante pour terminer toutes les sessions existantes.
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE usename not in ('replicator', 'monitor', 'pgsql', 'aurora') AND pid != pg_backend_pid();
-
Si l'instance source est une base de données auto-gérée, procédez comme suit :
-- Set the database to read-only. ALTER SYSTEM SET default_transaction_read_only=on; -- Reload the parameter configuration to apply the change. SELECT pg_reload_conf(); -- Terminate all existing sessions. SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE usename not in ('replicator', 'monitor', 'pgsql', 'aurora') AND pid != pg_backend_pid();
-
Cochez toutes les cases et cliquez sur Switch Now. Attendez ensuite que la migration soit terminée.
Une fois la migration terminée, la colonne Cloud Migration Phase affiche Completed et la colonne Task Status affiche Successful.