Présentation
Database Migration Service utilise des jobs de migration pour migrer des données de votre instance de base de données source vers l'instance de base de données de destination. La création d'un job de migration pour une instance de destination existante comprend les étapes suivantes:
- Définir les paramètres du job de migration
- Sélectionner le profil de connexion de la base de données source
- Sélectionner l'instance de base de données de destination existante
- Réduire l'instance existante pour la convertir en instance dupliquée avec accès en lecture
- Configurer la connectivité entre les instances de base de données source et de destination
- Tester la tâche de migration pour vous assurer que les informations de connexion que vous avez fournies pour la tâche sont valides
Vous devez tenir compte de certaines limites lorsque vous souhaitez migrer vers une instance de destination créée en dehors de Database Migration Service. Pour en savoir plus, consultez la section Limites connues.
Créer une tâche de migration à l'aide de la console Google Cloud
Définir les paramètres du job de migration
Accédez à Migration jobs (Tâches de migration) dans la console Google Cloud .
Cliquez sur Créer un job de migration en haut de la page.
Indiquez un nom pour la tâche de migration. Choisissez un nom convivial qui vous aidera à identifier la tâche de migration. N'incluez pas d'informations sensibles ou permettant d'identifier personnellement l'utilisateur dans le nom de l'offre d'emploi.
Conservez l'ID de tâche de migration généré automatiquement.
Sélectionnez le moteur de base de données source.
Sélectionnez AlloyDB pour PostgreSQL comme moteur de destination.
Sélectionnez la région de destination de votre migration. Cette région doit être la même que celle de votre base de données de destination. Une fois que vous avez choisi la région de destination, vous ne pouvez plus modifier cette sélection.
Sélectionnez Continu (instantané + modifications en cours) comme type de tâche de migration.
Dans la section Avant de continuer, consultez les conditions préalables, cliquez sur Ouvrir pour afficher les instructions générées automatiquement qui peuvent vous aider à préparer votre base de données source pour la migration. Il est préférable d'appliquer ces prérequis dès la présente étape, mais vous pouvez le faire à tout moment avant de tester ou de démarrer le job de migration. Pour en savoir plus, consultez Configurer votre source.
Cliquez sur Enregistrer et continuer.
Spécifier des informations sur le profil de connexion source
-
Si vous avez créé un profil de connexion, sélectionnez-le dans la liste des profils de connexion existants.
Si vous n'avez pas créé de profil de connexion, créez-en un en cliquant sur Créer un profil de connexion en bas de la liste déroulante, puis suivez la même procédure que dans la section Créer un profil de connexion source.
Il est recommandé de créer un profil de connexion dédié pour votre migration AlloyDB.
- Dans la section Personnaliser les configurations de vidage des données, cliquez sur Afficher les configurations de vidage des données.
La vitesse du parallélisme du vidage de données est liée à la charge sur votre base de données source. Vous pouvez utiliser les paramètres suivants:
- Optimal (recommandé): performances équilibrées avec une charge optimale sur la base de données source.
- Maximum: fournit les vitesses de vidage les plus élevées, mais peut entraîner une charge accrue sur la base de données source.
- Minimum: utilise la plus faible quantité de ressources de calcul sur la base de données source, mais le débit de vidage peut être plus lent.
Si vous souhaitez utiliser des paramètres de parallélisme de vidage de données ajustés, veillez à augmenter les paramètres
max_replication_slots
,max_wal_senders
etmax_worker_processes
dans votre base de données source. Vous pouvez vérifier votre configuration en exécutant le test de la tâche de migration à la fin de la création de la tâche de migration. - Cliquez sur Enregistrer et continuer.
Sélectionner l'instance de destination
1. Dans le menu Type de cluster de destination, sélectionnez Cluster existant.Dans la section Sélectionner un cluster de destination, sélectionnez votre cluster de destination.
Vérifiez les informations sur votre cluster, puis cliquez sur Sélectionner et continuer.
Pour migrer vers une base de données de destination existante, Database Migration Service rétrograde l'instance cible et la convertit en instance répliquée. Pour indiquer que la rétrogradation peut être effectuée en toute sécurité, saisissez l'identifiant de l'instance de destination dans la fenêtre de confirmation.
Cliquez sur Confirmer et continuer.
Configurer la connectivité entre les instances de base de données source et de destination
Dans le menu déroulant Méthode de connectivité, sélectionnez une méthode de connectivité réseau. Cette méthode définit la manière dont le cluster AlloyDB nouvellement créé se connectera à la base de données source. Les méthodes de connectivité réseau actuelles incluent la liste d'autorisation d'adresses IP, l'appairage VPC, le tunnel SSH inversé et le proxy TCP via une VM hébergée dans le cloud.
- Si vous sélectionnez la méthode de connectivité réseau de liste d'autorisation d'adresses IP, vous devez spécifier l'adresse IP sortante de votre instance de destination. Copiez les adresses IP sortantes de l'instance principale et secondaire, puis utilisez-les pour configurer le pare-feu réseau de votre serveur de base de données source et dans le fichier
pg_hba.conf
afin que la source puisse accepter les connexions provenant de ces adresses. Si vous sélectionnez la méthode de connectivité réseau du tunnel SSH inversé, sélectionnez l'instance de VM Compute Engine qui hébergera le tunnel.
Après avoir spécifié l'instance, Google fournit un script qui effectue les étapes de configuration du tunnel entre les bases de données source et de destination. Vous devrez exécuter le script dans la Google Cloud CLI.
Exécutez les commandes à partir d'une machine connectée à la fois à la base de données source et à Google Cloud.
- Si vous sélectionnez la méthode de connectivité réseau d'appairage de VPC, sélectionnez le réseau VPC sur lequel se trouve la base de données source. L'instance Cloud SQL est mise à jour afin de se connecter à ce réseau.
Si vous sélectionnez le proxy TCP via la méthode de connectivité de VM hébergée dans le cloud, saisissez les informations requises pour la nouvelle instance de VM Compute Engine qui hébergera le proxy TCP.
Après avoir spécifié les détails, la console Google Cloud fournit un script qui effectue les étapes de configuration du proxy entre les bases de données source et de destination. Vous devez exécuter le script sur une machine équipée d'une Google Cloud CLI à jour.
Une fois le script exécuté, l'adresse IP privée de la VM nouvellement créée s'affiche. Saisissez l'adresse IP, puis cliquez sur Configurer et continuer.
- Découvrez comment configurer la connectivité.
Après avoir sélectionné la méthode de connectivité réseau et fourni des informations supplémentaires à son sujet, cliquez sur CONFIGURER ET CONTINUER.
Tester et créer la tâche de migration
Lors de cette dernière étape, examinez le résumé des paramètres, de la source, de la destination et de la méthode de connectivité de la tâche de migration, puis testez la validité de la configuration de la tâche de migration. En cas de problème, vous pouvez modifier les paramètres de la tâche de migration. Tous les paramètres ne sont pas modifiables.
Cliquez sur JOB DE TEST pour vérifier les points suivants:
- La base de données source a été correctement configurée, conformément aux conditions préalables.
- Les instances source et de destination peuvent communiquer entre elles.
- Toutes les mises à jour des adresses IP privées requises sur la destination sont effectuées.
- La tâche de migration est valide, et les versions source et de destination sont compatibles.
Si le test échoue, vous pouvez résoudre le problème dans la partie appropriée du flux, puis revenir au test.
La tâche de migration peut être créée même si le test échoue, mais une fois la tâche démarrée, elle peut échouer à un moment donné de l'exécution.
Cliquez sur CRÉER ET DÉMARRER LA TÂCHE pour créer la tâche de migration et la démarrer immédiatement, ou sur CRÉER LA TÂCHE pour créer la tâche de migration sans la démarrer immédiatement.
Si la tâche n'est pas démarrée au moment de sa création, vous pouvez la démarrer sur la page Tâches de migration en cliquant sur DÉMARRER.
Quelle que soit la date de début du job de migration, votre organisation est facturée pour l'existence de l'instance de destination.
Lorsque vous démarrez la tâche de migration, Database Migration Service lance le vidage complet, en verrouillant brièvement la base de données source. Si votre source se trouve dans Amazon RDS ou Amazon Aurora, Database Migration Service nécessite également un bref temps d'arrêt d'écriture (environ moins d'une minute) au début de la migration. Pour en savoir plus, consultez la section Considérations concernant le parallélisme des vidages de données.
La tâche de migration est ajoutée à la liste des tâches de migration et peut être consultée directement.
Passez à la section Examiner la tâche de migration.
Créer une tâche de migration à l'aide de la Google Cloud CLI
Lorsque vous effectuez une migration vers une instance existante à l'aide de Google Cloud CLI, vous devez créer manuellement le profil de connexion de l'instance de destination. Cette étape n'est pas nécessaire lorsque vous utilisez la console Google Cloud , car Database Migration Service se charge de créer et de supprimer le profil de connexion de destination.
Avant de commencer
Avant d'utiliser la gcloud CLI pour créer un job de migration vers une instance de base de données de destination existante, assurez-vous de:
- Créez votre instance de base de données de destination.
- Préparez votre instance de base de données source. Consultez les ressources suivantes :
- Configurer votre source
- Créez le profil de connexion source (l'identifiant du profil de connexion source est requis pour créer une tâche de migration).
- Configurer la connectivité
Créer un profil de connexion de destination
Créez le profil de connexion de destination pour votre instance de destination existante en exécutant la commande gcloud database-migration connection-profiles create
:
Cet exemple utilise l'option --no-async
facultative afin que toutes les opérations soient effectuées de manière synchrone. Cela signifie que certaines commandes peuvent prendre un certain temps. Vous pouvez ignorer l'indicateur --no-async
pour exécuter des commandes de manière asynchrone.
Dans ce cas, vous devez utiliser la commande gcloud database-migration operations describe
pour vérifier si votre opération a réussi.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- CONNECTION_PROFILE_ID avec un identifiant lisible par machine pour votre profil de connexion.
- REGION par l'identifiant de la région dans laquelle vous souhaitez enregistrer le profil de connexion.
- DESTINATION_INSTANCE_ID par l'identifiant de l'instance de votre instance de destination.
- (Facultatif) CONNECTION_PROFILE_NAME avec un nom lisible pour votre profil de connexion. Cette valeur s'affiche dans la console Google Cloud .
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration connection-profiles \ create postgresql CONNECTION_PROFILE_ID \ --no-async \ --alloydb-cluster=DESTINATION_INSTANCE_ID \ --region=REGION \ --display-name=CONNECTION_PROFILE_NAME
Windows (PowerShell)
gcloud database-migration connection-profiles ` create postgresql CONNECTION_PROFILE_ID ` --no-async ` --alloydb-cluster=DESTINATION_INSTANCE_ID ` --region=REGION ` --display-name=CONNECTION_PROFILE_NAME
Windows (cmd.exe)
gcloud database-migration connection-profiles ^ create postgresql CONNECTION_PROFILE_ID ^ --no-async ^ --alloydb-cluster=DESTINATION_INSTANCE_ID ^ --region=REGION ^ --display-name=CONNECTION_PROFILE_NAME
Vous devriez obtenir un résultat semblable à celui-ci :
Waiting for connection profile [CONNECTION_PROFILE_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created connection profile CONNECTION_PROFILE_ID [OPERATION_ID]
Créer la tâche de migration
Cet exemple utilise l'option --no-async
facultative afin que toutes les opérations soient effectuées de manière synchrone. Cela signifie que certaines commandes peuvent prendre un certain temps. Vous pouvez ignorer l'indicateur --no-async
pour exécuter des commandes de manière asynchrone.
Dans ce cas, vous devez utiliser la commande gcloud database-migration operations describe
pour vérifier si votre opération a réussi.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- MIGRATION_JOB_ID avec un identifiant lisible par machine pour votre tâche de migration. Vous utilisez cette valeur pour travailler avec les jobs de migration à l'aide des commandes ou de l'API Google Cloud CLI de Database Migration Service.
- REGION par l'identifiant de la région dans laquelle vous souhaitez enregistrer la tâche de migration.
- MIGRATION_JOB_NAME par un nom lisible pour votre tâche de migration. Cette valeur s'affiche dans Database Migration Service de la console Google Cloud .
- SOURCE_CONNECTION_PROFILE_ID avec un identifiant lisible par machine du profil de connexion source.
- DESTINATION_CONNECTION_PROFILE_ID avec un identifiant lisible par machine du profil de connexion de destination.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ create MIGRATION_JOB_ID \ --no-async \ --region=REGION \ --display-name=MIGRATION_JOB_NAME \ --source=SOURCE_CONNECTION_PROFILE_ID \ --destination=DESTINATION_CONNECTION_PROFILE_ID \ --type=CONTINUOUS \
Windows (PowerShell)
gcloud database-migration migration-jobs ` create MIGRATION_JOB_ID ` --no-async ` --region=REGION ` --display-name=MIGRATION_JOB_NAME ` --source=SOURCE_CONNECTION_PROFILE_ID ` --destination=DESTINATION_CONNECTION_PROFILE_ID ` --type=CONTINUOUS `
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ create MIGRATION_JOB_ID ^ --no-async ^ --region=REGION ^ --display-name=MIGRATION_JOB_NAME ^ --source=SOURCE_CONNECTION_PROFILE_ID ^ --destination=DESTINATION_CONNECTION_PROFILE_ID ^ --type=CONTINUOUS ^
Vous devriez obtenir un résultat semblable à celui-ci :
Waiting for migration job [MIGRATION_JOB_ID] to be created with [OPERATION_ID] Waiting for operation [OPERATION_ID] to complete...done. Created migration job MIGRATION_JOB_ID [OPERATION_ID]
Déclasser la base de données de destination
Database Migration Service exige que l'instance de base de données de destination fonctionne comme une instance répliquée avec accès en lecture au moment de la migration. Avant de démarrer la tâche de migration, exécutez la commande gcloud database-migration migration-jobs demote-destination
pour rétrograder l'instance de base de données de destination.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.
Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande
gcloud database-migration migration-jobs list
pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants. - REGION avec l'identifiant de la région dans laquelle votre profil de connexion est enregistré.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ demote-destination MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` demote-destination MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ demote-destination MIGRATION_JOB_ID ^ --region=REGION
Résultat
L'action est effectuée de manière asynchrone. Par conséquent, cette commande renvoie une entité Operation représentant 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: demote-destination name: OPERATION_ID
Pour vérifier si votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état de la tâche de migration:
- Utilisez la commande
gcloud database-migration migration-jobs describe
pour afficher l'état de la tâche de migration. - Utilisez
gcloud database-migration operations describe
avec OPERATION_ID pour afficher l'état de l'opération elle-même.
Gérer les tâches de migration
À ce stade, votre tâche de migration est configurée et connectée à votre instance de base de données de destination. Vous pouvez le gérer à l'aide des opérations verify
, start
, stop
, restart
et resume
.
Vérifier le job de migration
Nous vous recommandons de commencer par vérifier votre tâche de migration en exécutant la commande gcloud database-migration migration-jobs verify
.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.
Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande
gcloud database-migration migration-jobs list
pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants. - REGION avec l'identifiant de la région dans laquelle votre profil de connexion 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. Par conséquent, cette commande renvoie une entité Operation représentant 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 votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état de la tâche de migration:
- Utilisez la commande
gcloud database-migration migration-jobs describe
avec MIGRATION_JOB_ID pour afficher l'état de la tâche de migration. - Utilisez la commande
gcloud database-migration operations describe
avec OPERATION_ID pour afficher l'état de l'opération elle-même.
Démarrer la tâche de migration
Démarrez la tâche de migration en exécutant la commande gcloud database-migration migration-jobs start
.
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.
Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande
gcloud database-migration migration-jobs list
pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants. - REGION avec l'identifiant de la région dans laquelle votre profil de connexion 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. Par conséquent, cette commande renvoie une entité Operation représentant 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 votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état de la tâche de migration:
- Utilisez la commande
gcloud database-migration migration-jobs describe
avec MIGRATION_JOB_ID pour afficher l'état de la tâche de migration. - Utilisez la commande
gcloud database-migration operations describe
avec OPERATION_ID pour afficher l'état de l'opération elle-même.
Promouvoir la tâche de migration
Une fois la migration arrivée à la phase de capture des données modifiées (CDC, Change Data Capture), vous pouvez promouvoir l'instance de base de données de destination d'un réplica de lecture à une instance autonome.
Exécutez la commande gcloud database-migration migration-jobs promote
:
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.
Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande
gcloud database-migration migration-jobs list
pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants. - REGION avec l'identifiant de la région dans laquelle 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é Operation représentant 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
- Utilisez la commande
gcloud database-migration migration-jobs describe
avec MIGRATION_JOB_ID pour afficher l'état de la tâche de migration. - Utilisez la commande
gcloud database-migration operations describe
avec OPERATION_ID pour afficher l'état de l'opération elle-même.