Vous pouvez effectuer des actions à partir de la liste des jobs de migration, de la page d'informations d'un job de migration ou directement de la page du cluster de destination dans AlloyDB pour PostgreSQL. Dans la console Google Cloud , vous pouvez effectuer des actions sur plusieurs jobs simultanément s'ils ont tous le même état. Vous pouvez effectuer des actions sur un job de migration unique dans la console Google Cloud et à l'aide de la Google Cloud CLI.
Vous pouvez effectuer certaines actions sur l'ensemble des jobs de migration, tandis que d'autres actions (telles que le redémarrage des bases de données ayant échoué ou l'affichage des détails) peuvent également être effectuées sur des bases de données individuelles au sein d'un job de migration.
Vous pouvez effectuer les actions suivantes sur les jobs de migration :
| Action | Description |
|---|---|
| Modifier | Pour apporter les modifications suivantes, modifiez le job de migration :
|
| Démarrer | Démarrez les jobs de migration qui ont été créés sans être démarrés. Vous pouvez démarrer des jobs qui ne sont pas à l'état En cours d'exécution ou Démarrage. Consultez États des jobs de migration. |
| Arrêter | Arrêtez un job de migration en cours d'exécution à tout moment. La migration des données est interrompue et l'état du job de migration passe à
Surveillez les emplacements de réplication et l'espace disque de votre serveur de base de données source. La suppression du job de migration efface tous les emplacements de réplication sur la source et arrête le trafic réseau. |
| Resume | Si un job de migration continu a été arrêté pendant la phase de CDC, il peut être repris. La reprise du job de migration redémarre la réplication des événements et des modifications de données qui se sont accumulés pendant l'arrêt. |
| Redémarrer | Si un job de migration a échoué et n'est pas récupérable, ou s'il a été arrêté pendant la phase de dump complet initiale, vous pouvez le redémarrer depuis le début. Vous pouvez redémarrer toutes les bases de données du job de migration ou redémarrer uniquement celles qui ont échoué :
|
| Delete | Supprimer un job de migration. Vous pouvez supprimer des jobs de migration, quel que soit leur état. Toutefois, vous ne pouvez supprimer un job de migration en cours d'exécution que dans la console Google Cloud . Le résultat dépend de l'état du job :
La suppression d'un job de migration supprime les emplacements de réplication alloués sur la base de données source et arrête le trafic réseau. La suppression d'un job de migration ne supprime pas les bases de données sources. |
| Promouvoir |
Promouvez le cluster AlloyDB pour PostgreSQL de destination de la réplication vers un cluster de base de données principal autonome indépendant, puis déconnectez le cluster de destination de la source.
Pour en savoir plus, consultez Promouvoir une migration. |
| Afficher une base de données spécifique | Affichez les détails de la migration d'une base de données spécifique configurée pour la migration. |
| Afficher toutes les bases de données | Affichez les détails de la migration pour toutes les bases de données configurées pour la migration. |
Démarrer un job de migration
Une fois votre job de migration entièrement créé (c'est-à-dire qu'il n'est pas enregistré à l'état de brouillon), vous pouvez le lancer à tout moment pour commencer à migrer des données.
Pour démarrer un job de migration, procédez comme suit :
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 démarrer.
La page d'informations sur le job de migration s'ouvre.
- Cliquez sur Démarrer.
- Dans la boîte de dialogue, cliquez sur Démarrer.
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 dans laquelle votre job de migration est enregistré.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ start MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` start MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ start MIGRATION_JOB_ID ^ --region=REGION
Résultat
L'action est effectuée de manière asynchrone. Cette commande renvoie donc une entité Operation 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 OPERATION_ID pour afficher l'état de l'opération elle-même.
Arrêter un job de migration
Vous pouvez arrêter un job de migration
en cours d'exécution à tout moment. Lorsque vous arrêtez un job de migration, la migration des données est interrompue et l'état du job de migration passe à Stopping, puis à Stopped.
Pour arrêter un job de migration, procédez comme suit :
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 arrêter.
La page d'informations sur le job de migration s'ouvre.
- Cliquez sur Arrêter.
- Dans la boîte de dialogue, cliquez sur Arrêter.
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 dans laquelle votre job de migration est enregistré.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ stop MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` stop MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ stop MIGRATION_JOB_ID ^ --region=REGION
Résultat
L'action est effectuée de manière asynchrone. Cette commande renvoie donc une entité Operation 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: stop name: OPERATION_ID
- Utilisez la commande
gcloud database-migration migration-jobs describepour afficher l'état du job de migration. - Utilisez
gcloud database-migration operations describeavec OPERATION_ID pour afficher l'état de l'opération elle-même.
Reprendre un job de migration
Si un job de migration continu a été arrêté pendant la phase de capture des données modifiées (CDC), vous pouvez le reprendre. La reprise du job de migration redémarre la réplication des événements et des modifications de données qui se sont accumulés sur la base de données source pendant l'arrêt du job.
Pour reprendre un job de migration arrêté, procédez comme suit :
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 reprendre.
La page d'informations sur le job de migration s'ouvre.
- Cliquez sur Réactiver.
- Dans la boîte de dialogue, cliquez sur Reprendre.
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 dans laquelle votre job de migration est enregistré.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ resume MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` resume MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ resume MIGRATION_JOB_ID ^ --region=REGION
Résultat
L'action est effectuée de manière asynchrone. Cette commande renvoie donc une entité Operation 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: resume name: OPERATION_ID
- Utilisez la commande
gcloud database-migration migration-jobs describepour afficher l'état du job de migration. - Utilisez
gcloud database-migration operations describeavec OPERATION_ID pour afficher l'état de l'opération elle-même.
Redémarrer un job de migration
Si un job de migration a échoué et n'est pas récupérable, ou s'il a été arrêté pendant la phase de vidage complet initial, vous pouvez le redémarrer depuis le début.
Vous pouvez redémarrer toutes les bases de données du job de migration ou seulement celles qui ont échoué :
- Redémarrer toutes les bases de données : efface toutes les données de toutes les bases de données en cours de migration dans le cluster de destination et lance un nouveau vidage complet pour celles-ci. Si le job de migration est configuré pour migrer toutes les bases de données et que de nouvelles bases de données ont été créées sur le serveur PostgreSQL source depuis le début de la migration, le redémarrage du job de migration réplique également ces nouvelles bases de données dans le cluster de destination.
- Redémarrer les bases de données ayant échoué : efface toutes les données uniquement des bases de données de destination qui ont rencontré des erreurs et lance un nouveau vidage complet pour celles-ci. Les autres bases de données du cluster de destination ne sont pas affectées.
Pour redémarrer un job de migration, procédez comme suit :
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 redémarrer.
La page d'informations sur le job de migration s'ouvre.
- Effectuez l'une des actions de redémarrage suivantes :
Si vous souhaitez redémarrer toutes les bases de données incluses dans la migration, cliquez sur Redémarrer dans la barre d'outils du job de migration.
La boîte de dialogue de redémarrage du job de migration s'affiche.
Si vous ne souhaitez redémarrer que les bases de données ayant échoué, cliquez sur Redémarrer les bases de données ayant échoué dans l'onglet Bases de données.
La boîte de dialogue indiquant le nombre de bases de données ayant échoué à redémarrer s'affiche.
- Dans la boîte de dialogue, cliquez sur Redémarrer.
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 dans laquelle votre job de migration est enregistré.
Facultatif : Par défaut, le redémarrage d'un job de migration redémarre toutes les bases de données incluses dans le job de migration. Si vous souhaitez redémarrer uniquement les bases de données qui ont échoué sans affecter les autres bases de données en cours de migration, ajoutez l'option
--restart-failed-objects.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ restart MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` restart MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ restart MIGRATION_JOB_ID ^ --region=REGION
Résultat
L'action est effectuée de manière asynchrone. Cette commande renvoie donc une entité Operation 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: restart name: OPERATION_ID
- Utilisez la commande
gcloud database-migration migration-jobs describepour afficher l'état du job de migration. - Utilisez
gcloud database-migration operations describeavec OPERATION_ID pour afficher l'état de l'opération elle-même.
Mettre à jour un brouillon de job de migration
Pour terminer la création d'un job de migration, procédez comme suit :
Console
- Dans la console Google Cloud , accédez à la page Jobs de migration.
- Dans l'onglet Brouillons, cliquez sur le nom à afficher du job de migration que vous souhaitez terminer de créer.
L'assistant de création de job de migration s'ouvre.
- Terminez la création du job de migration. Consultez Créer un job de migration.
gcloud
Cet exemple utilise l'option facultative --no-async pour que toutes les opérations soient effectuées de manière synchrone. Cela signifie que l'exécution de certaines commandes peut prendre un certain temps. Vous pouvez ignorer l'option --no-async pour exécuter des commandes de manière asynchrone.
Si vous le faites, vous devez utiliser la commande gcloud database-migration operations describe pour vérifier si l'opération a réussi.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- MIGRATION_JOB_ID par un identifiant lisible par machine pour votre job de migration.
- REGION par l'identifiant de la région dans laquelle vous souhaitez enregistrer le job de migration.
- MIGRATION_JOB_NAME par un nom lisible par l'humain pour votre job de migration. Cette valeur s'affiche dans Database Migration Service dans la console Google Cloud .
- SOURCE_CONNECTION_PROFILE_ID par un identifiant lisible par machine du profil de connexion source.
- DESTINATION_CONNECTION_PROFILE_ID par un identifiant lisible par machine du profil de connexion de destination.
- COMMA_SEPARATED_DATABASE_ID_LIST par une liste d'identifiants de base de données PostgreSQL que vous souhaitez migrer, séparés par une virgule.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ update MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --databases-filter=COMMA_SEPARATED_DATABASE_ID_LIST \ --type=CONTINUOUS
Windows (PowerShell)
gcloud database-migration migration-jobs ` update MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --databases-filter=COMMA_SEPARATED_DATABASE_ID_LIST ` --type=CONTINUOUS
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ update MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --databases-filter=COMMA_SEPARATED_DATABASE_ID_LIST ^ --type=CONTINUOUS
Vous devriez obtenir un résultat semblable à celui-ci :
Waiting for migration job [MIGRATION_JOB_ID] to be updated with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Updated migration job MIGRATION_JOB_ID [OPERATION_ID]
Ajouter ou supprimer des bases de données du job de migration
Vous pouvez ajouter ou supprimer des bases de données à n'importe quel état ou phase de migration, autant de fois que nécessaire. Lorsque vous supprimez une base de données, Database Migration Service arrête le processus de réplication sur cette base de données, mais ne la supprime pas du cluster AlloyDB pour PostgreSQL de destination.
Pour ajouter ou supprimer des bases de données de votre job de migration, procédez comme suit :
- Dans la console Google Cloud , accédez à la page Jobs de migration.
- Dans l'onglet Jobs, cliquez sur le nom à afficher de votre job de migration. La page d'informations sur le job de migration s'ouvre.
- Cliquez sur Modifier.
- Dans la section Sélectionner les bases de données à migrer, cochez les cases correspondant aux nouvelles bases de données que vous souhaitez ajouter au job de migration ou décochez celles que vous souhaitez supprimer.
- Cliquez sur Enregistrer.
Modifier un job de migration qui n'est pas un brouillon
Pour modifier le niveau de parallélisme du vidage des données d'un job de migration en cours d'exécution, consultez Limites connues. Vous devez enregistrer et redémarrer le job de migration après avoir modifié les paramètres de parallélisme.
Pour les jobs de migration qui ne sont pas à l'état de brouillon, vous pouvez utiliser la Google Cloud CLI pour modifier le nom à afficher du job de migration :
Cet exemple utilise l'option facultative --no-async pour que toutes les opérations soient effectuées de manière synchrone. Cela signifie que l'exécution de certaines commandes peut prendre un certain temps. Vous pouvez ignorer l'option --no-async pour exécuter des commandes de manière asynchrone.
Si vous le faites, vous devez utiliser la commande gcloud database-migration operations describe pour vérifier si l'opération a réussi.
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 dans laquelle votre job de migration est enregistré.
- MIGRATION_JOB_NAME par un nom lisible par l'humain pour votre job de migration. Cette valeur s'affiche dans Database Migration Service dans la console Google Cloud .
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ update MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME
Windows (PowerShell)
gcloud database-migration migration-jobs ` update MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ update MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME
Vous devriez obtenir un résultat semblable à celui-ci :
Waiting for migration job [MIGRATION_JOB_ID] to be updated with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Updated migration job MIGRATION_JOB_ID [OPERATION_ID]
Tester un job de migration
Avant d'exécuter le job de migration, vous pouvez effectuer une opération de test pour vérifier si Database Migration Service peut atteindre toutes les entités sources et de destination nécessaires. Dans la console Google Cloud , vous ne pouvez tester que les brouillons de jobs de migration que vous créez dans l'assistant de création de jobs de migration (voir Créer un job de migration).
Avec la gcloud CLI, vous pouvez tester les jobs de migration créés, mais pas encore démarrés :
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 dans laquelle votre job de migration est enregistré.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ verify MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` verify MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ verify MIGRATION_JOB_ID ^ --region=REGION
Résultat
L'action est effectuée de manière asynchrone. Cette commande renvoie donc une entité Operation 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: verify 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 OPERATION_ID pour afficher l'état de l'opération elle-même.
Afficher les détails de la migration d'une base de données spécifique
Une fois votre job de migration entièrement créé (c'est-à-dire qu'il n'est pas enregistré à l'état de brouillon), vous pouvez utiliser la Google Cloud CLI pour afficher les détails d'une base de données spécifique dans ce job de migration :
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 dans laquelle votre job de migration est enregistré.
- DATABASE_NAME par le nom de la base de données.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration objects lookup --migration-job=MIGRATION_JOB_ID \ --region=REGION --database=DATABASE_NAME
Windows (PowerShell)
gcloud database-migration objects lookup --migration-job=MIGRATION_JOB_ID ` --region=REGION --database=DATABASE_NAME
Windows (cmd.exe)
gcloud database-migration objects lookup --migration-job=MIGRATION_JOB_ID ^ --region=REGION --database=DATABASE_NAME
Résultat
Le résultat ressemble à ce qui suit :
createTime: '2025-03-21T17:05:19.211441641Z' name: projects/PROJECT_ID/locations/REGION/migrationJobs/MIGRATION_JOB_ID/objects/OBJECT_ID phase: FULL_DUMP sourceObject: database: DATABASE_NAME type: DATABASE state: RUNNING
Afficher les détails de la migration pour des bases de données spécifiques
Une fois votre job de migration entièrement créé (c'est-à-dire qu'il n'est pas enregistré à l'état de brouillon), vous pouvez utiliser la Google Cloud CLI pour lister toutes les bases de données que vous avez sélectionnées pour ce job de migration et afficher des détails les concernant :
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 dans laquelle votre job de migration est enregistré.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration objects list --migration-job=MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration objects list --migration-job=MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration objects list --migration-job=MIGRATION_JOB_ID ^ --region=REGION
Résultat
Le résultat ressemble à ce qui suit :
SOURCE_OBJECT STATE PHASE ERROR
{'database': 'db1', 'type': 'DATABASE'} RUNNING FULL_DUMP
{'database': 'db2', 'type': 'DATABASE'} STOPPED CDC {'code': 1, 'message': 'Internal error'}