Pour les migrations continues, vous pouvez lancer le processus de promotion lorsque vous êtes prêt à basculer vos applications vers les bases de données de destination. La promotion du job de migration déconnecte l'instance de destination de la source et la transforme en instance de base de données principale autonome et indépendante. Vous pouvez ainsi reprendre les sauvegardes automatisées, configurer la récupération à un moment précis (PITR) et créer des instances répliquées avec accès en lecture.
Vous pouvez promouvoir un job de migration ou promouvoir des bases de données sélectionnées à partir d'un job de migration.
- Arrêtez toutes les opérations d'écriture, les scripts en cours d'exécution et les connexions client à la base de données source. Le temps d'arrêt commence ici.
- Attendez que la
métrique de délai de réplication soit égale ou proche de zéro. Cela signifie que le job de migration a traité toutes les modifications en attente.
Vous pouvez promouvoir une migration même si le délai de réplication n'est pas nul. Cela peut réduire le temps d'arrêt de la base de données, mais peut affecter la précision des données dans la destination.
- Effectuez l'action de promotion :
Console
- Dans la console Google Cloud , accédez à la page Jobs de migration.
- Dans l'onglet Jobs, cliquez sur le nom à afficher du job de migration que vous souhaitez promouvoir.
La page d'informations sur le job de migration s'ouvre.
- Effectuez l'une des actions de promotion suivantes :
Si vous souhaitez promouvoir toutes les bases de données incluses dans la migration, cliquez sur Promouvoir dans la barre d'outils du job de migration.
La boîte de dialogue de promotion du job de migration s'affiche.
Si vous ne souhaitez promouvoir que certaines bases de données, sélectionnez-les à l'aide des cases à cocher situées à côté de leur nom, puis cliquez sur Promouvoir dans l'onglet Bases de données.
La boîte de dialogue s'affiche avec le nombre de bases de données que vous souhaitez promouvoir.
- Dans la boîte de dialogue, vérifiez qu'aucune erreur ne s'affiche, puis cliquez sur Promouvoir.
gcloud
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- MIGRATION_JOB_ID par l'identifiant de votre job de migration.
Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande
gcloud database-migration migration-jobs listpour lister tous les jobs de migration d'une région donnée et afficher leurs identifiants. - REGION par l'identifiant de la région où votre profil de connexion est enregistré.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ promote MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` promote MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ promote MIGRATION_JOB_ID ^ --region=REGION
Résultat
L'action est effectuée de manière asynchrone. Par conséquent, cette commande renvoie une entité d'opération qui représente une opération de longue durée :
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
Pour vérifier si l'opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état du job de migration :
- Utilisez la commande
gcloud database-migration migration-jobs describeavec MIGRATION_JOB_ID pour afficher l'état du job de migration. - Utilisez la commande
gcloud database-migration operations describeavec l'option OPERATION_ID pour afficher l'état de l'opération elle-même.
- L'instance de destination ou les bases de données que vous avez sélectionnées sont promues.
L'instance de destination est déconnectée de la source, devient une instance principale autonome indépendante et est prête à recevoir l'intégralité du trafic de l'application.
L'état du job de migration passe à
Completed. - (Facultatif) Pour les sources qui utilisent l'extension
pg_cron: l'extensionpg_cron(ou tous les paramètrescronassociés à l'extension) n'est pas migrée par Database Migration Service, mais elle est compatible avec les destinations Cloud SQL pour PostgreSQL. Si vous utilisez l'extensionpg_crondans vos bases de données sources, vous pouvez la réinstaller sur votre instance de destination. - Vous pouvez maintenant connecter votre application à l'instance Cloud SQL et supprimer le job de migration.