Database Migration Service utilise des jobs de migration pour migrer des données de vos bases de données sources vers l'instance de destination Cloud SQL. Les jobs de migration vous aident à organiser les profils de connexion source et de destination, à définir des paramètres spécifiques au processus de migration, à surveiller la progression et à finaliser l'ensemble de l'opération en toute sécurité.
La création d'un job de migration comprend les tâches suivantes:
Sélectionner des profils de connexion source et de destination
Choisissez les bases de données détectées dans votre instance source que vous souhaitez migrer.
Effectuer un test de tâche de migration pour vous assurer que Database Migration Service peut se connecter à votre source et destination de données.
Démarrer la tâche de migration et surveiller sa progression
Promouvoir la tâche de migration lorsque vous souhaitez passer votre application à la nouvelle instance.
Avant de commencer
- Assurez-vous de remplir les conditions suivantes :
- Vous disposez d'un bucket Cloud Storage pour les fichiers de sauvegarde SQL Server.
- Vos fichiers de sauvegarde et de journal des transactions complets sont importés dans le bucket Cloud Storage.
- Vous disposez d'un profil de connexion source pour le bucket Cloud Storage.
- Vous avez créé et configuré votre instance Cloud SQL pour SQL Server de destination, et vous disposez d'un profil de connexion de destination pour l'instance.
- Dans la console Google Cloud , sur la page du sélecteur de projet, sélectionnez ou créez un projet .
- Activez les API Database Migration Service, Compute Engine, Cloud Storage et Cloud SQL Admin.
Rôles requis
Pour obtenir les autorisations nécessaires pour créer des tâches de migration dans Database Migration Service, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet:
-
Administrateur de migration de bases de données (
roles/datamigration.admin
) -
Administrateur de l'espace de stockage (
roles/storage.admin
) -
Éditeur Cloud SQL (
roles/cloudsql.editor
)
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Ces rôles prédéfinis contiennent les autorisations requises pour effectuer des migrations SQL Server homogènes avec Database Migration Service. Pour connaître les autorisations exactes requises, développez la section Autorisations requises:
Autorisations requises
Les autorisations suivantes sont requises pour effectuer des migrations homogènes de SQL Server avec Database Migration Service:
datamigration.*
resourcemanager.projects.get
resourcemanager.projects.list
cloudsql.instances.create
cloudsql.instances.get
cloudsql.instances.list
cloudsql.databases.get
cloudsql.databases.delete
cloudsql.operations.get
compute.machineTypes.list
compute.machineTypes.get
compute.projects.get
storage.buckets.create
storage.buckets.list
storage.objects.list
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Définir des paramètres et créer une tâche de migration
Pour créer un job de migration, procédez comme suit:
Console
- Dans la console Google Cloud , accédez à la page Migration jobs (Tâches de migration).
- Cliquez sur Créer un job de migration.
La page de l'assistant de configuration de la tâche de migration s'ouvre. Cet assistant contient plusieurs panneaux qui vous guident à chaque étape de la configuration.
Vous pouvez suspendre la création d'une tâche de migration à tout moment en cliquant sur ENREGISTRER ET QUITTER. Toutes les données que vous saisissez jusqu'à ce point sont enregistrées dans un brouillon de tâche de migration. Vous pourrez terminer votre tâche de migration d'essai plus tard. Consultez la section Modifier un job de migration en brouillon.
- Sur la page Premiers pas, saisissez les informations suivantes :
- Nom de la tâche de migration
Il s'agit d'un nom lisible pour votre tâche de migration. Cette valeur s'affiche dans la console Google Cloud .
- ID du job de migration
Il s'agit d'un identifiant lisible par machine de 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.
- Dans la liste Moteur de base de données source, sélectionnez SQL Server ou Amazon RDS pour SQL Server.
Les champs Moteur de base de données de destination et Type de tâche de migration sont renseignés automatiquement et ne peuvent pas être modifiés.
- Nom de la tâche de migration
- Cliquez sur Enregistrer et continuer.
- Sur la page Définir votre source, procédez comme suit :
- Dans le menu déroulant, sélectionnez votre profil de connexion source.
Si vous ne disposez pas encore d'un profil de connexion source, vous pouvez cliquer sur Créer un profil de connexion directement dans le menu déroulant. Pour en savoir plus sur la création de profils de connexion, consultez Créer un profil de connexion source.
- Si vous souhaitez utiliser un fichier de sauvegarde différentielle dans votre migration, cochez la case Utiliser des sauvegardes différentielles dans la section Personnaliser les configurations sources.
Les sauvegardes différentielles sont utiles si vous devez répliquer de nombreuses données qui sont apparues dans votre base de données depuis la sauvegarde complète et que vous souhaitez les gérer de manière groupée plutôt que d'importer plusieurs fichiers de journaux de transactions. Pour en savoir plus sur les types de sauvegarde acceptés, consultez la section Types de fichiers de sauvegarde acceptés.
Si vous utilisez des sauvegardes différentielles, veillez à créer le dossier
diff
dans votre bucket Cloud Storage. Consultez la section Stocker des fichiers de sauvegarde dans un bucket Cloud Storage. - Cliquez sur Enregistrer et continuer.
- Dans le menu déroulant, sélectionnez votre profil de connexion source.
- Sur la page Définir une destination, utilisez le menu déroulant pour sélectionner votre profil de connexion de destination.
Si vous ne disposez pas encore d'un profil de connexion de destination, vous pouvez cliquer sur Créer un profil de connexion directement dans le menu déroulant. Pour en savoir plus sur la création de profils de connexion, consultez la section Créer un profil de connexion de destination.
- Cliquez sur Enregistrer et continuer.
- Sur la page Configurer les bases de données de migration, procédez comme suit :
- Dans la section Sélectionner les bases de données à migrer, utilisez les cases à cocher pour sélectionner les bases de données que vous souhaitez inclure dans cette tâche de migration. Cette liste est renseignée en fonction des dossiers que vous avez créés dans le bucket Cloud Storage pour vos fichiers de sauvegarde.
Vous pourrez ajouter et supprimer des bases de données de la tâche de migration ultérieurement. Consultez la section Ajouter ou supprimer des bases de données d'une tâche de migration.
- (Facultatif) Si vous utilisez des sauvegardes chiffrées, fournissez les clés de chiffrement de vos sauvegardes. Pour en savoir plus sur l'utilisation des sauvegardes chiffrées, consultez la section
Utiliser des sauvegardes chiffrées.
Effectuez les actions suivantes :
- Cliquez sur Modifier les informations à côté de la base de données que vous avez sélectionnée pour la migration.
Le panneau latéral Chiffrement s'ouvre.
- Utilisez les menus déroulants Clé de chiffrement pour sélectionner vos clés.
- Dans le champ Password (Mot de passe), saisissez le mot de passe de la clé de chiffrement.
- Cliquez sur Enregistrer et quitter.
- Cliquez sur Modifier les informations à côté de la base de données que vous avez sélectionnée pour la migration.
- Dans la section Sélectionner les bases de données à migrer, utilisez les cases à cocher pour sélectionner les bases de données que vous souhaitez inclure dans cette tâche de migration. Cette liste est renseignée en fonction des dossiers que vous avez créés dans le bucket Cloud Storage pour vos fichiers de sauvegarde.
- Cliquez sur Enregistrer et continuer.
- Sur la page Tester et créer une tâche de migration, procédez comme suit :
- (Facultatif) Cliquez sur Tâche de test pour vérifier si Database Migration Service peut identifier tous les fichiers de sauvegarde et établir les connexions réseau nécessaires.
Si le test échoue, vous pouvez consulter les messages d'erreur pour résoudre le problème et exécuter à nouveau le test. Pour en savoir plus sur les erreurs possibles, consultez la section Diagnostiquer les problèmes.
- Cliquez sur Créer et démarrer la tâche pour lancer la migration.
Si vous souhaitez effectuer la tâche de migration à un autre moment, cliquez sur Enregistrer, puis revenez plus tard pour l'exécuter. Consultez la section Démarrer une tâche de migration.
- (Facultatif) Cliquez sur Tâche de test pour vérifier si Database Migration Service peut identifier tous les fichiers de sauvegarde et établir les connexions réseau nécessaires.
gcloud
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.
- COMMA_SEPARATED_DATABASE_ID_LIST avec une liste d'identifiants de base de données du SQL Server que vous souhaitez migrer à partir de vos fichiers de sauvegarde, séparés par une virgule. Ces identifiants doivent être identiques aux
noms de dossiers de base de données dans votre Cloud Storage.
Par exemple :
--sqlserver-databases=my-business-database,my-other-database
- Configuration de la sauvegarde différentielle: si vous utilisez des fichiers de sauvegarde différentielle pour la migration, ajoutez l'indicateur
--sqlserver-diff-backup
à votre commande. Par défaut, les tâches de migration n'utilisent pas de fichiers de sauvegarde différentielle et ignorent le dossierdiff
de votre bucket Cloud Storage.Pour en savoir plus sur les fichiers de sauvegarde acceptés, consultez la section Types de fichiers de sauvegarde acceptés.
- (Facultatif) MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS avec le chemin d'accès au disque local à un fichier de configuration qui met en correspondance les chemins d'accès aux clés de chiffrement dans Cloud Storage avec leurs identifiants de base de données pertinents. Pour en savoir plus sur la création de ce fichier de mappage, consultez la section Utiliser des sauvegardes chiffrées.
Par exemple :
--sqlserver-encrypted-databases=~/encryption-keys-mapping-file.json
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 \ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST \ --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS \ --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 ` --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ` --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS ` --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 ^ --sqlserver-databases=COMMA_SEPARATED_DATABASE_ID_LIST ^ --sqlserver-encrypted-databases=MAPPING_FILE_FOR_PATHS_TO_ENCRYPTION_KEYS ^ --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]
La tâche de migration est maintenant créée. Vous pouvez poursuivre le processus de migration:
- (Facultatif) Effectuez un test de tâche de migration pour vérifier si Database Migration Service peut atteindre toutes les entités source et de destination nécessaires.
- Démarrez la tâche de migration pour commencer à déplacer vos données vers l'instance de destination.