Migrer depuis une instance Cloud SQL pour SQL Server

Cette page explique comment migrer vos bases de données Cloud SQL pour SQL Server vers une instance Cloud SQL pour SQL Server à l'aide de Database Migration Service. Ce flux de migration vous permet de déplacer vos bases de données vers une autre instance Cloud SQL pour SQL Server dans le même projet Google Cloud ou dans un autre. Pour savoir comment migrer depuis des sources autogérées ou Amazon RDS, consultez le guide de migration pour les sources auto-hébergées et Amazon RDS.

Le processus de migration pour les sources Cloud SQL pour SQL Server implique les tâches suivantes :

  1. Configurer votre instance Cloud SQL pour SQL Server source afin que Database Migration Service puisse exporter automatiquement les fichiers de sauvegarde vers un bucket Cloud Storage.

  2. Créer un profil de connexion source avec la Google Cloud CLI.

  3. Créer l'instance Cloud SQL pour SQL Server de destination

  4. Création et exécution du job de migration dans Database Migration Service avec la Google Cloud CLI.

  5. Surveiller la progression du job de migration à l'aide des fonctionnalités d'observabilité de Database Migration Service

  6. Promotion du travail de migration une fois les données entièrement migrées.

Coûts

Pour les migrations homogènes vers Cloud SQL, Database Migration Service est proposé sans frais supplémentaires. Toutefois, les tarifs de Cloud SQL et de Cloud Storage s'appliquent aux frais de réseau, ainsi qu'aux entités Cloud SQL et Cloud Storage créées à des fins de migration.

Dans ce document, vous utilisez les composants facturables suivants deGoogle Cloud :

  • Cloud Storage
  • Cloud SQL

Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.

Avant de commencer

  1. Vérifiez si ce chemin de migration peut entièrement prendre en charge votre scénario. Consultez Limites connues de SQL Server.
  2. Réfléchissez à la région dans laquelle vous souhaitez créer la base de données de destination. Database Migration Service est un produit entièrement régional, ce qui signifie que toutes les entités liées à votre migration (profils de connexion source et de destination, jobs de migration, bases de données de destination, buckets de stockage) doivent être enregistrées dans une seule région.
  3. Dans la console Google Cloud , sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud .

    Accéder au sélecteur de projet

  4. Activez les API Database Migration Service, Compute Engine, Cloud Storage et Cloud SQL Admin.

    Activer les API

Rôles requis

Pour obtenir les autorisations nécessaires pour effectuer des migrations homogènes entre deux instances Cloud SQL pour SQL Server avec Database Migration Service, demandez à votre administrateur d'accorder les rôles IAM requis aux comptes impliqués dans le processus de migration dans les projets concernés.

Ce scénario vous permet de migrer entre deux instances Cloud SQL pour SQL Server qui résident dans des projets Google Cloud différents. Si vous souhaitez migrer entre des instances du même projet, accordez toutes les autorisations dans le même projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer les accès.

Rôles et autorisations dans le projet source

Attribuez les rôles suivants à des comptes spécifiques sur le projet Google Cloud où se trouve votre instance Cloud SQL pour SQL Server source :

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 (projet source) :

Autorisations requises (projet source)

Vous devez disposer des autorisations suivantes pour effectuer des migrations SQL Server homogènes avec Database Migration Service :

  • Compte utilisateur qui effectue la migration :
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.operations.get
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • cloudsql.instances.import
    • cloudsql.databases.get
    • cloudsql.databases.list
    • cloudsql.databases.delete
    • compute.machineTypes.list
    • compute.machineTypes.get
    • compute.projects.get
    • storage.buckets.create
    • storage.buckets.list
  • Compte de service Database Migration Service du projet de destination :
    • cloudsql.instances.export
    • cloudsql.instances.get
    • cloudsql.instances.list
    • cloudsql.instances.executeSql

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Rôles et autorisations dans le projet de destination

Attribuez les rôles suivants à des comptes spécifiques sur le projet Google Cloud où se trouve votre instance Cloud SQL pour SQL Server de destination :

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 (projet de destination) :

Autorisations requises (projet de destination)

Vous devez disposer des autorisations suivantes pour effectuer des migrations SQL Server homogènes avec Database Migration Service :

  • Compte utilisateur qui effectue la migration :
    • datamigration.*
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.operations.get
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • cloudsql.instances.import
    • cloudsql.databases.get
    • cloudsql.databases.list
    • cloudsql.databases.delete
    • compute.machineTypes.list
    • compute.machineTypes.get
    • compute.projects.get
    • storage.buckets.create
    • storage.buckets.list
  • Compte de service Database Migration Service :
    • datamigration.*
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • cloudsql.instances.executeSql
    • storage.objects.create
    • storage.objects.list
  • Compte de service Cloud SQL associé à l'instance source :
    • storage.objects.create
    • storage.objects.list
    • storage.objects.get

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Préparer votre instance Cloud SQL source

  1. Créez un bucket Cloud Storage dans le projet de destination Google Cloud . Ce bucket permet de stocker les fichiers journaux de sauvegarde exportés depuis votre instance Cloud SQL pour SQL Server source.

    • Nous vous recommandons de configurer une durée de conservation des données comprise entre 14 et 30 jours pour ces fichiers de sauvegarde.
    • Le compte de service Cloud SQL associé à votre instance source doit disposer du rôle IAM Utilisateur d'objets Storage (roles/storage.objectUser) pour écrire les fichiers de sauvegarde dans ce bucket. Pour en savoir plus sur les autorisations pour ce flux de migration, consultez la section Rôles requis.
  2. Configurez votre instance Cloud SQL pour SQL Server source.

  3. Créez un profil de connexion source pour l'instance source Cloud SQL pour SQL Server.

Préparer votre instance Cloud SQL pour SQL Server de destination

Pour configurer votre instance Cloud SQL de destination, procédez comme suit :

  1. Créez et configurez votre instance Cloud SQL pour SQL Server de destination. Assurez-vous d'utiliser suffisamment de ressources de calcul et de mémoire pour couvrir vos besoins de migration.

  2. Créez un profil de connexion de destination pour votre instance Cloud SQL.

Créer et exécuter le job de migration

  1. Créer et exécuter le job de migration pour une source Cloud SQL pour SQL Server

Lorsque vous lancez le job de migration, vos bases de données Cloud SQL pour SQL Server de destination sont placées en mode de récupération, où elles sont entièrement gérées par Database Migration Service. Vous pouvez promouvoir votre instance de destination une fois que vos données ont été entièrement migrées. Une fois votre instance de destination promue, toutes les bases de données de cette instance deviennent entièrement opérationnelles. Vous bénéficiez également d'un accès complet en écriture à ces bases de données.

Finaliser la migration

Lorsque vous décidez de basculer votre application vers la nouvelle instance Cloud SQL pour SQL Server, finalisez la migration en procédant comme suit :

  1. Arrêtez toutes les opérations d'écriture sur vos bases de données sources. Vous pouvez les passer en mode lecture seule pour conserver les fonctionnalités opérationnelles.
  2. Promouvoir le job de migration.
  3. (Facultatif) Vérifiez l'exhaustivité des données de migration.