Migrer vos bases de données à l'aide d'un fichier physique Percona XtraBackup

Vous pouvez migrer vos bases de données MySQL vers Cloud SQL en utilisant des fichiers de sauvegarde de bases de données physiques créés avec l'utilitaire Percona XtraBackup pour MySQL. Migrer avec des fichiers de sauvegarde physiques offre des vitesses de restauration de données accrues par rapport aux migrations utilisant des fichiers de sauvegarde logiques. C'est un excellent choix pour déplacer de grandes bases de données contenant plusieurs téraoctets de données.

Ce flux de migration implique les tâches suivantes :

  1. Sauvegarde de votre instance MySQL source et préparation des fichiers de sauvegarde physiques à l'aide de l'utilitaire Percona XtraBackup pour MySQL.

  2. Importation de vos fichiers de sauvegarde dans un bucket Cloud Storage.

  3. Création et exécution du job de migration dans Database Migration Service.

    Selon votre scénario, vous pouvez créer vous-même l'instance de destination ou demander à Database Migration Service de la créer pour vous lors de la création du job de migration. Pour en savoir plus, consultez l'étape Configurer et exécuter le job de migration.

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

Migrations hors connexion

Ce guide décrit les scénarios de migration pour les environnements dans lesquels vous pouvez assurer la connectivité réseau entre vos instances de base de données source et de destination.

Il est possible d'effectuer une migration test au cours de laquelle Database Migration Service ne se connecte pas à votre instance source. En revanche, Database Migration Service ne lit que les fichiers de sauvegarde que vous importez dans le bucket Cloud Storage et réplique leur contenu vers la destination Cloud SQL pour MySQL. Un flux de migration qui n'utilise pas la connectivité réseau n'est pas recommandé pour les migrations en production, car Database Migration Service ne peut pas effectuer une validation complète des données.

Si vous souhaitez essayer d'effectuer un job de migration hors connexion, ajustez les procédures comme suit :

Limites

Cette section répertorie les limites des migrations qui utilisent des fichiers physiques Percona XtraBackup :

  • La migration vers MySQL 5.6 ou 8.4 avec un fichier de sauvegarde physique n'est pas prise en charge. Consultez les limitations connues.

  • Remarques concernant les différentes versions :

    • Vous ne pouvez migrer que vers une version majeure de base de données identique (par exemple, de MySQL 8.0.30 vers MySQL 8.0.35, ou de MySQL 5.7.0 vers MySQL 5.7.1).
    • Vous ne pouvez pas migrer de MySQL 5.7 vers MySQL 8.0.

    • La migration n'est pas compatible avec les versions majeures ou mineures de bases de données antérieures. Par exemple, vous ne pouvez pas migrer de MySQL 8.0 vers la version 5.7, ou de MySQL 8.0.36 vers la version 8.0.16.

  • Considérations interarchitectures : Cloud SQL est compatible avec l'architecture ARM. Vous ne pouvez migrer des bases de données qu'entre des machines du même type d'architecture. Par exemple, si votre base de données est hébergée sur une machine ARM64, vous devez migrer vers une machine ARM64.

  • La taille du disque de la base de données de destination doit être supérieure ou égale à celle de la base de données source. Pour en savoir plus, consultez Types de machines MySQL pour votre édition Cloud SQL.

  • Vous devez utiliser Percona XtraBackup pour sauvegarder vos données dans le bucket Cloud Storage. Aucun autre utilitaire de sauvegarde n'est accepté.

  • La migration de bases de données à partir d'un fichier physique Percona XtraBackup n'est possible que pour les bases de données MySQL sur site ou les bases de données MySQL autogérées sur VM. Il n'est pas possible de migrer des bases de données Amazon RDS depuis Amazon Aurora ou MySQL.

  • Vous ne pouvez effectuer la migration qu'à partir d'une sauvegarde complète. Les autres types de sauvegardes, tels que les sauvegardes incrémentielles ou partielles, ne sont pas compatibles.

  • La migration d'une base de données n'inclut pas les utilisateurs ni les droits associés à la base de données.

  • Vous devez définir le format du journal binaire sur ROW. Si vous configurez le journal binaire dans un autre format, tel que STATEMENT ou MIXED, la réplication peut échouer.

  • Les bases de données dont une table dépasse 5 To ne sont pas acceptées.

  • Cloud Storage limite la taille d'un fichier que vous pouvez importer dans un bucket à 5 To. Si votre fichier physique Percona XtraBackup dépasse 5 To, vous devez le diviser en plusieurs fichiers plus petits.

  • Assurez-vous d'importer les fichiers de sauvegarde dans un dossier Cloud Storage dédié qui ne contient aucun autre fichier.

  • Vous devez configurer le paramètre innodb_data_file_path avec un seul fichier de données portant le nom par défaut ibdata1. Si votre base de données est configurée avec deux fichiers de données ou si elle contient un fichier de données portant un nom différent, vous ne pouvez pas migrer la base de données à l'aide d'un fichier physique Percona XtraBackup. Par exemple, il n'est pas possible de migrer une base de données configurée avec innodb_data_file_path=ibdata01:50M:autoextend.

  • Le paramètre innodb_page_size de votre instance source doit être configuré avec la valeur par défaut 16384.

  • Vous ne pouvez migrer aucun plug-in depuis votre base de données externe.

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 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 de Google Cloud :

  • Cloud Storage
  • Cloud SQL

Pour obtenir une estimation des coûts en fonction de votre utilisation prévue, utilisez le simulateur de coût.

Les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai gratuit.

Avant de commencer

  1. 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. Cela 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Enable the Database Migration Service, Compute Engine, and Cloud SQL Admin APIs.

    Enable the APIs

Rôles requis

Pour obtenir les autorisations nécessaires pour effectuer des migrations MySQL homogènes à l'aide de fichiers de sauvegarde physique, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour effectuer des migrations MySQL homogènes à l'aide de fichiers de sauvegarde physiques. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour effectuer des migrations MySQL homogènes à l'aide de fichiers de sauvegarde physiques :

  • Compte utilisateur qui effectue la migration :
    • datamigration.*
    • resourcemanager.projects.get
    • resourcemanager.projects.list
    • cloudsql.instances.create
    • cloudsql.instances.get
    • cloudsql.instances.list
    • compute.machineTypes.list
    • compute.machineTypes.get
    • compute.projects.get
    • storage.buckets.create
    • storage.buckets.list

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

Étape 1. Tenez compte de vos exigences de connectivité réseau

Vous pouvez utiliser différentes méthodes de mise en réseau pour configurer la connectivité entre vos instances sources et de destination Cloud SQL. Selon la méthode que vous utilisez, vous devrez peut-être effectuer des étapes supplémentaires pendant le processus de migration.

Avant de passer aux étapes suivantes, réfléchissez à la méthode de connectivité qui convient le mieux à votre scénario, car votre choix peut avoir une incidence sur les paramètres que vous devez utiliser. Pour en savoir plus, consultez Configurer la connectivité.

Étape 2 : Préparer vos données source

Pour préparer vos données à la migration, effectuez les étapes suivantes :

  1. Installez la version correcte de l'utilitaire Percona XtraBackup sur votre instance source. Vous devez utiliser une version de Percona XtraBackup identique ou ultérieure à la version de votre instance source. Pour en savoir plus, consultez Comparaison des versions de serveur et de sauvegarde dans la documentation Percona XtraBackup.
  2. Exportez et préparez le fichier de sauvegarde physique de votre instance source à l'aide de Percona XtraBackup. Pour obtenir des informations complètes sur l'utilisation de Percona XtraBackup, consultez la documentation de l'outil. Vous pouvez également développer la section suivante pour obtenir un exemple d'étapes recommandées.

    Exemple de procédure recommandée pour créer et préparer des fichiers de sauvegarde physiques à l'aide de Percona XtraBackup

    Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :

    • TARGET_DIR par le chemin d'accès où vous souhaitez enregistrer le fichier de sauvegarde de sortie.
    • USERNAME avec un utilisateur disposant du droit BACKUP_ADMIN sur l'instance source.
    • Remplacez PASSWORD par le mot de passe du compte USERNAME.
    1. Effectuez une sauvegarde physique complète de votre instance source. Exécutez la commande suivante :
        xtrabackup --backup \
          --target-dir=TARGET_DIR \
          --user=USERNAME \
          --password=PASSWORD
            
    2. Lorsque le fichier de sauvegarde est prêt, utilisez la commande --prepare pour assurer la cohérence du fichier. Exécutez la commande suivante :
        xtrabackup --prepare --target-dir=TARGET_DIR
            
  3. Créez votre bucket pour stocker les fichiers de sauvegarde. Assurez-vous d'utiliser la même région que celle dans laquelle vous souhaitez créer votre instance de destination Cloud SQL pour MySQL.

    Database Migration Service est un produit entièrement régional. Cela 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 pour les fichiers de sauvegarde) doivent être enregistrées dans une seule région.

  4. Importez les fichiers de sauvegarde dans votre bucket Cloud Storage. Assurez-vous d'importer les fichiers de sauvegarde dans un dossier Cloud Storage dédié qui ne contient aucun autre fichier. Consultez Importer des objets à partir d'un système de fichiers dans la documentation Cloud Storage.
  5. Créez le profil de connexion source pour votre instance de base de données source.

    Console

    Pour créer un profil de connexion à une source, procédez comme suit :

    1. Accédez à la page Profils de connexion de la console Google Cloud .
    2. Cliquez sur Créer un profil.
    3. Sur la page Créer un profil de connexion, dans le menu déroulant Moteur de base de données, sélectionnez MySQL.
    4. Dans le champ Nom du profil de connexion, saisissez un nom compréhensible pour votre profil de connexion. Cette valeur s'affiche dans la liste des profils de connexion.
    5. Conservez l'ID du profil de connexion généré automatiquement.
    6. Saisissez un nom d'hôte ou une adresse IP.
      • Si la base de données source est hébergée dans Google Cloudou si un tunnel SSH inversé est utilisé pour connecter la base de données de destination à la base de données source, spécifiez l'adresse IP privée (interne) de la base de données source. Cette adresse sera accessible par la destination Cloud SQL. Pour en savoir plus, consultez Configurer la connectivité à l'aide de l'appairage de réseaux VPC.

        Pour les autres méthodes de connectivité, telles que la liste d'autorisation d'adresses IP, indiquez l'adresse IP publique.

    7. Saisissez le port utilisé pour accéder à l'hôte. Le port MySQL par défaut est 3306.
    8. Saisissez un nom d'utilisateur et un mot de passe pour la base de données de destination. Le compte utilisateur doit disposer des droits requis pour accéder à vos données. Pour en savoir plus, consultez Configurer votre base de données source.
    9. Dans la section Région du profil de connexion de la page, sélectionnez la région dans laquelle vous souhaitez enregistrer le profil de connexion.
    10. Facultatif : Si la connexion est établie sur un réseau public (à l'aide de listes d'autorisations d'adresses IP), nous vous recommandons d'utiliser le chiffrement SSL/TLS pour la connexion entre les bases de données source et de destination.

      Vous avez le choix entre trois options de configuration SSL/TLS dans la section Sécuriser votre connexion de la page :

      1. Remarque : l'instance de destination Cloud SQL se connecte à la base de données source sans chiffrement.
      2. Authentification du serveur uniquement : lorsque l'instance de destination Cloud SQL se connecte à la base de données source, l'instance authentifie la source, garantissant ainsi que l'instance se connecte en toute sécurité au bon hôte. Cela empêche les attaques dites MITM. Pour l'authentification serveur uniquement, la source n'authentifie pas l'instance.

        Pour utiliser l'authentification serveur uniquement, vous devez fournir le certificat encodé au format PEM x509 de l'autorité de certification qui a signé le certificat du serveur externe.

      3. Authentification serveur-client : lorsque l'instance de destination se connecte à la source, l'instance authentifie la source et celle-ci authentifie l'instance.

        L'authentification serveur-client offre le niveau de sécurité le plus élevé. Toutefois, si vous ne souhaitez pas fournir le certificat client et la clé privée lors de la création de l'instance de destination Cloud SQL, vous pouvez toujours utiliser l'authentification serveur uniquement.

        Pour utiliser l'authentification serveur-client, vous devez fournir les éléments suivants lors de la création du profil de connexion de destination :

        • Certificat de l'autorité qui a délivré le certificat du serveur de base de données source (certificat de l'autorité de certification).
        • Certificat utilisé par l'instance pour s'authentifier auprès du serveur de base de données source (certificat client).
        • Clé privée associée au certificat client (clé client).
    11. Cliquez sur Créer. Votre profil de connexion est maintenant créé.

    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 les commandes de manière asynchrone. Si c'est le 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.
    • HOST_IP_ADDRESS avec l'adresse IP à laquelle Database Migration Service peut accéder à votre instance de base de données source. Cette valeur peut varier en fonction de la méthode de connectivité que vous utilisez pour votre migration.
    • PORT_NUMBER avec le numéro de port où votre base de données source accepte les connexions entrantes. Le port MySQL par défaut est 3306.
    • USERNAME avec le nom du compte utilisateur de base de données que vous souhaitez que Database Migration Service utilise pour se connecter à votre instance de base de données source.
    • PASSWORD par le mot de passe du compte utilisateur de base de données.
    • (Facultatif) Remplacez CONNECTION_PROFILE_NAME par 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 mysql CONNECTION_PROFILE_ID \
      --no-async \
      --region=REGION \
      --host=HOST_IP_ADDRESS \
      --port=PORT_NUMBER \
      --username=USERNAME \
      --password=PASSWORD \
      --display-name=CONNECTION_PROFILE_NAME

    Windows (PowerShell)

    gcloud database-migration connection-profiles `
    create mysql CONNECTION_PROFILE_ID `
      --no-async `
      --region=REGION `
      --host=HOST_IP_ADDRESS `
      --port=PORT_NUMBER `
      --username=USERNAME `
      --password=PASSWORD `
      --display-name=CONNECTION_PROFILE_NAME

    Windows (cmd.exe)

    gcloud database-migration connection-profiles ^
    create mysql CONNECTION_PROFILE_ID ^
      --no-async ^
      --region=REGION ^
      --host=HOST_IP_ADDRESS ^
      --port=PORT_NUMBER ^
      --username=USERNAME ^
      --password=PASSWORD ^
      --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]
    

Étape 3 : Configurer et exécuter le job de migration

Lorsque vous migrez avec Percona XtraBackup, vous pouvez créer vous-même l'instance Cloud SQL de destination ou demander à Database Migration Service de la créer pour vous. Pour en savoir plus, consultez Présentation de la création de jobs de migration.

Chacune de ces approches nécessite de suivre un ensemble de procédures légèrement différent. Utilisez le menu déroulant pour afficher les procédures correspondant à votre scénario :

  • Si vous souhaitez que Database Migration Service crée la base de données de destination pour vous, sélectionnez Migrer vers une nouvelle instance de destination.
  • Si vous souhaitez migrer vers une base de données de destination créée en dehors de Database Migration Service, sélectionnez Migrer vers une instance de destination existante.

  • Lorsque vous migrez vers une nouvelle instance de destination, Database Migration Service crée l'instance Cloud SQL pour MySQL de destination pour vous lors du processus de création du job de migration.

    Étape 3a : Créer le job de migration vers une nouvelle instance de destination

    Pour créer un job de migration vers une nouvelle instance de destination, procédez comme suit :

    Console

    Définir les paramètres du job de migration

    1. Dans la console Google Cloud , accédez à la page Jobs de migration.

      Accéder à la page "Jobs de migration"

    2. Cliquez sur Créer un job de migration.

      La page de l'assistant de configuration du job de migration s'ouvre. Cet assistant contient plusieurs panneaux qui vous guident à travers chaque étape de la configuration.

      Vous pouvez suspendre la création d'un job 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 brouillon de tâche de migration plus tard.

    3. Sur la page Premiers pas, saisissez les informations suivantes :
      1. Nom de la tâche de migration

        Nom lisible de votre tâche de migration. Cette valeur s'affiche dans la console Google Cloud .

      2. ID du job de migration

        Il s'agit d'un identifiant lisible par machine pour votre job 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.

      3. Dans la liste Moteur de base de données source, sélectionnez MySQL.

        Le champ Moteur de base de données de destination est renseigné automatiquement et ne peut pas être modifié.

      4. Sélectionnez la région dans laquelle vous enregistrez le job de migration.

        Database Migration Service est un produit entièrement régionalisé. Cela signifie que toutes les entités liées à votre migration (profils de connexion source et de destination, tâches de migration, bases de données de destination) doivent être enregistrées dans une seule région. Sélectionnez la région en fonction de l'emplacement des services qui ont besoin de vos données (comme les instances Compute Engine, les applications App Engine ou d'autres services). Une fois que vous avez choisi la région de destination, vous ne pouvez plus la modifier.

    4. Cliquez sur Enregistrer et continuer.

    Spécifier des informations sur le profil de connexion source

    1. Sur la page Définir une source, procédez comme suit :
      1. Dans le menu déroulant Profil de connexion source, sélectionnez le profil de connexion de votre base de données source.
      2. Dans la section Personnaliser la configuration du vidage complet, cliquez sur Modifier la configuration.
      3. Dans le panneau Modifier la configuration du vidage complet, sélectionnez Basée sur la mémoire physique dans le menu déroulant Méthode de vidage complet.
      4. Dans Indiquez votre dossier, cliquez sur Parcourir, puis sélectionnez le dossier dans lequel vous avez importé votre fichier de dump complet (étape 3 de la section Préparer vos données sources).
      5. Cliquez sur Enregistrer.
    2. Cliquez sur Enregistrer et continuer.

    Configurer et créer l'instance Cloud SQL de destination

    1. Sur la page Définir une destination, dans le menu déroulant Type d'instance de destination, sélectionnez Nouvelle instance. Définissez tous les paramètres concernés :
      1. Dans le champ ID de l'instance de destination, indiquez un identifiant pour l'instance Cloud SQL ou utilisez l'identifiant généré automatiquement.

        N'incluez pas d'informations sensibles ni permettant d'identifier personnellement l'utilisateur dans l'identifiant. Vous n'avez pas besoin d'indiquer l'ID du projet dans le nom de l'instance. Cet ajout s'effectue automatiquement le cas échéant (par exemple, dans les fichiers journaux).

      2. Dans le champ Mot de passe, indiquez un mot de passe alphanumérique pour l'instance Cloud SQL de destination. Il s'agit du mot de passe du compte administrateur root dans l'instance.

        Vous pouvez saisir le mot de passe manuellement ou cliquer sur Générer pour que Database Migration Service en crée un automatiquement.

      3. Dans le menu déroulant Version de la base de données, sélectionnez la version de la base de données pour l'instance de destination.

        Cliquez sur Afficher les versions mineures pour afficher toutes les versions mineures. En savoir plus sur la compatibilité de la migration entre les versions

      4. Sélectionnez l'édition Cloud SQL pour MySQL pour votre instance de destination. Deux options sont disponibles : Cloud SQL pour MySQL Enterprise et Cloud SQL pour MySQL Enterprise Plus.

        Les éditions Cloud SQL pour MySQL sont fournies avec différents ensembles de fonctionnalités, types de machines disponibles et tarifs. Assurez-vous de consulter la documentation Cloud SQL pour choisir l'édition qui correspond à vos besoins. Pour en savoir plus, consultez la page Présentation des éditions Cloud SQL pour MySQL.

      5. Le menu Région affiche la même région que celle que vous avez sélectionnée sur la page Premiers pas.

        Si vous configurez votre instance pour la haute disponibilité, sélectionnez Plusieurs zones (Haute disponibilité). Vous pouvez sélectionner la zone principale et la zone secondaire. Les conditions suivantes s'appliquent lorsque la zone secondaire est utilisée lors de la création de l'instance :

        • Les zones sont définies par défaut sur Toutes pour la zone principale et sur Toutes (différentes de la zone principale) pour la zone secondaire.
        • Si les zones principale et secondaire sont spécifiées, elles doivent être distinctes l'une de l'autre.
      6. Dans la section Connexions, choisissez d'ajouter une adresse IP publique ou privée pour votre instance de destination. Vous pouvez configurer votre instance pour qu'elle dispose des deux types d'adresses IP, mais au moins un type est requis pour la migration. Sélectionnez l'une des options suivantes :
        • Si vous souhaitez migrer à l'aide de l'appairage de VPC ou d'un tunnel SSH inversé, sélectionnez Adresse IP privée.
          • Pour activer la connectivité IP privée, assurez-vous de répondre à toutes les exigences réseau supplémentaires.

            Développez cette section pour connaître toutes les exigences concernant les adresses IP privées.

          • Sélectionnez le réseau VPC associé à appairer. Si vous envisagez de vous connecter à la source de migration à l'aide de l'appairage de VPC, choisissez le VPC où se trouve l'instance.
          • Si aucun réseau de service géré n'a jamais été configuré pour le VPC sélectionné, vous pouvez sélectionner une plage d'adresses IP et cliquer sur Connecter, ou utiliser une plage d'adresses IP sélectionnée automatiquement et cliquer sur Allouer et connecter.
        • Si vous souhaitez migrer sur Internet à l'aide d'une liste d'autorisation d'adresses IP, sélectionnez Adresse IP publique.

          Si vous le souhaitez, sous Adresse IP publique, cliquez sur le champ Réseaux autorisés, puis autorisez un réseau ou un proxy à se connecter à l'instance Cloud SQL. Les réseaux ne sont autorisés qu'avec les adresses que vous fournissez. Consultez Configurer une adresse IP publique dans la documentation Cloud SQL.

        Vous configurerez la connectivité du job de migration lors d'une prochaine étape. Pour en savoir plus sur les méthodes de mise en réseau disponibles, consultez Configurer la connectivité.

    2. Sélectionnez le type de machine pour l'instance Cloud SQL.

      Pour en savoir plus, consultez la section Limites.

    3. Pour Cloud SQL pour MySQL Enterprise Plus : cochez la case Activer le cache de données si vous souhaitez utiliser la fonctionnalité de cache de données dans votre base de données de destination.

      Le cache de données est une fonctionnalité facultative disponible pour les instances Cloud SQL pour MySQL Enterprise Plus. Il ajoute un disque SSD local à haute vitesse à votre base de données de destination. Cette fonctionnalité peut entraîner des coûts supplémentaires pour votre instance Cloud SQL. Pour en savoir plus sur le cache de données, consultez Présentation du cache de données dans la documentation Cloud SQL.

    4. Indiquez le type de stockage pour l'instance Cloud SQL. Vous pouvez choisir un disque dur SSD ou HDD.
    5. Spécifiez la capacité de stockage (en Go) de l'instance Cloud SQL.

      Assurez-vous que l'instance dispose d'une capacité de stockage suffisante pour gérer les données de votre base de données source. Vous pouvez augmenter cette capacité à tout moment, mais pas la diminuer.

    6. (Facultatif) Configurez les options de chiffrement des données ou les libellés de ressources pour votre instance de destination.

      Développez cette section pour afficher les étapes facultatives.

      Cliquez sur Afficher les configurations facultatives, puis :

      1. Indiquez si vous souhaitez gérer le chiffrement des données migrées de la source vers la destination. Par défaut, vos données sont chiffrées à l'aide d'une clé gérée par Google Cloud. Si vous souhaitez gérer votre chiffrement, vous pouvez utiliser une clé de chiffrement gérée par le client (CMEK). Pour ce faire :

        1. Cochez la case Utiliser une clé de chiffrement gérée par le client (CMEK).
        2. Dans le menu Sélectionner une clé gérée par le client, sélectionnez votre CMEK.

        Si vous ne voyez pas votre clé, cliquez sur Saisir le nom de ressource de la clé pour fournir le nom de ressource de la clé que vous souhaitez utiliser. Exemple de nom de ressource de clé : projects/my-project-name/locations/my-location/keyRings/my-keyring/cryptoKeys/my-key.

      2. Ajoutez les indicateurs nécessaires à appliquer au serveur de base de données. Si possible, assurez-vous que les indicateurs de base de données de l'instance Cloud SQL de destination créée sont identiques à ceux de la base de données source. En savoir plus sur les options de base de données compatibles avec MySQL
      3. Ajoutez les étiquettes spécifiques à l'instance Cloud SQL.

        Les libellés vous aident à organiser vos instances. Par exemple, vous pouvez organiser les libellés par centre de coûts ou par environnement. Elles sont également incluses dans votre facture, ce qui vous permet de vérifier la répartition des coûts.

    7. Cliquez sur Créer une destination et continuer. Database Migration Service est en train de créer votre instance Cloud SQL de destination. Ce processus peut prendre plusieurs minutes.

    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 l'instance Cloud SQL créée se connecte à la base de données source. Les méthodes actuelles de connectivité réseau incluent la liste d'autorisation d'adresses IP, le tunnel SSH inversé et l'appairage de VPC.

    Si vous souhaitez utiliser…Alors…
    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. Si l'instance Cloud SQL que vous avez créée est une instance à haute disponibilité, incluez les adresses IP sortantes pour l'instance principale et l'instance secondaire.
    La méthode de connectivité réseau du tunnel SSH inversé Vous devez sélectionner l'instance de VM Compute Engine qui hébergera le tunnel.

    Après avoir spécifié l'instance, Google fournit un script qui réalise 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 depuis une machine connectée à la base de données source et à Google Cloud.

    la méthode de connectivité réseau par appairage de VPC ; Vous devez sélectionner le réseau VPC sur lequel réside la base de données source. L'instance Cloud SQL sera mise à jour pour se connecter à ce réseau.

    Après avoir sélectionné et configuré la connectivité réseau, cliquez sur Configurer et continuer.

    Créer le job de migration

    Sur la page Tester et créer une tâche de migration, vérifiez les paramètres de la tâche de migration. À ce stade, le test de la tâche de migration échouera, car le compte de service associé à l'instance Cloud SQL de destination ne dispose pas des autorisations nécessaires.

    Avant de tester le job, effectuez l'une des actions suivantes pour valider sa configuration :

    • Si vous souhaitez tester votre job de migration à l'aide de la console Google Cloud après avoir attribué les autorisations au compte de service de l'instance de destination, cliquez sur Enregistrer et quitter. Cette action enregistre votre tâche de migration en tant que brouillon. Vous pourrez revenir à cet écran plus tard, tester votre job de migration et l'exécuter.
    • Si vous souhaitez tester votre job de migration à l'aide de Google Cloud CLI après avoir attribué les autorisations au compte de service de l'instance de destination,cliquez sur Créer. Avec Google Cloud CLI, vous pouvez tester une tâche de migration qui a été créée, mais qui n'a pas encore démarré.

    gcloud

    1. Créez le profil de connexion de destination.
      Lorsque vous migrez vers une nouvelle instance de destination avec Google Cloud CLI, vous créez l'instance de destination et le profil de connexion en une seule action.
      Exécutez la commande suivante (cliquez sur le lien pour la développer) :

      gcloud database-migration connection-profiles create cloudsql

      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 les commandes de manière asynchrone. Si c'est le 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.
      • DATABASE_VERSION par la version de MySQL que vous souhaitez utiliser dans l'instance de destination. Les versions de base de données sont spécifiées sous forme de chaînes incluant à la fois la version majeure et la version mineure. Par exemple : MYSQL_8_0, MYSQL_8_0_32, MYSQL_8_0_36.

        Pour connaître toutes les versions de MySQL possibles, consultez la référence de l'option --database-version.

      • (Facultatif) EDITION Par défaut, les nouvelles instances que vous créez avec la Google Cloud CLI utilisent l'édition Cloud SQL pour MySQL Enterprise Plus. Si vous prévoyez d'utiliser l'édition Cloud SQL pour MySQL Enterprise Plus, assurez-vous que votre région est compatible avec cette édition. Consultez la section Compatibilité régionale de l'édition Enterprise Plus de Cloud SQL pour MySQL.

        Vous pouvez modifier votre édition à l'aide de l'indicateur --edition avec l'une des valeurs suivantes :

        • enterprise-plus pour l'édition Cloud SQL pour MySQL Enterprise Plus
        • enterprise pour l'édition Cloud SQL pour MySQL Enterprise
      • TIER par le nom du type de machine Cloud SQL que vous souhaitez utiliser. Les types de machines sont spécifiés sous forme de chaînes qui suivent la convention Cloud SQL, par exemple db-n1-standard-1 ou db-perf-optimized-N-2. Pour obtenir la liste complète des types de machines disponibles et de leurs identifiants à utiliser avec Google Cloud CLI, consultez Types de machines dans la documentation Cloud SQL pour MySQL.

        Les instances créées avec la Google Cloud CLI utilisent par défaut l'édition Cloud SQL pour MySQL Enterprise Plus, qui propose différents types de machines. Si vous souhaitez utiliser un type de machine disponible uniquement dans l'édition Enterprise de Cloud SQL pour MySQL, utilisez l'indicateur facultatif --edition=enterprise pour spécifier l'édition.

      • REGION par l'identifiant de la région dans laquelle vous souhaitez enregistrer le profil de connexion.

        Par défaut, les nouvelles instances que vous créez avec Google Cloud CLI utilisent l'édition Cloud SQL pour MySQL Enterprise Plus. Si vous prévoyez d'utiliser l'édition Cloud SQL pour MySQL Enterprise Plus, assurez-vous que votre région est compatible avec cette édition. Consultez la section Compatibilité régionale de l'édition Enterprise Plus de Cloud SQL pour MySQL. Vous pouvez modifier l'édition à l'aide de l'option facultative --edition.

      • (Facultatif) Remplacez CONNECTION_PROFILE_NAME par un nom lisible pour votre profil de connexion. Cette valeur s'affiche dans la console Google Cloud .
      • Configuration réseau

        Par défaut, les nouvelles instances que vous créez avec Google Cloud CLI se voient attribuer une adresse IP publique et sont configurées pour utiliser la connectivité IP publique. Vous pouvez utiliser d'autres méthodes de connectivité. Pour en savoir plus, consultez Configurer la connectivité.

        Vous n'avez pas besoin d'utiliser d'autres indicateurs si vous souhaitez utiliser la connectivité par adresse IP publique. Si vous souhaitez utiliser la connectivité par adresse IP privée avec le peering de réseaux VPC ou un tunnel SSH inversé, assurez-vous de répondre aux exigences réseau supplémentaires suivantes pour activer la connectivité par adresse IP privée et incluez des indicateurs supplémentaires dans votre commande.

        Développez cette section pour connaître toutes les exigences concernant les adresses IP privées.

        Incluez les indicateurs supplémentaires suivants si vous souhaitez utiliser la connectivité IP privée (avec l'appairage de réseaux VPC ou avec un tunnel SSH inversé sur une VM Compute Engine) :

        • --no-enable-ip-v4 : (facultatif) pour ne pas attribuer d'adresse IP publique à votre instance de destination. Vous pouvez attribuer à la fois une adresse IP publique et une adresse IP privée à votre instance de destination, mais vous n'aurez peut-être pas besoin d'adresse IP publique si vous utilisez la connectivité IP privée.
        • --private-network : pour attribuer une adresse IP privée à votre instance de destination, spécifiez le nom du cloud privé virtuel auquel vous souhaitez attribuer une adresse IP privée.

      Exécutez la commande suivante :

      Linux, macOS ou Cloud Shell

      gcloud database-migration connection-profiles \
      create mysql CONNECTION_PROFILE_ID \
        --no-async \
        --region=REGION \
        --database-version=DATABASE_VERSION \
        --tier=TIER \
        --display-name=CONNECTION_PROFILE_NAME

      Windows (PowerShell)

      gcloud database-migration connection-profiles `
      create mysql CONNECTION_PROFILE_ID `
        --no-async `
        --region=REGION `
        --database-version=DATABASE_VERSION `
        --tier=TIER `
        --display-name=CONNECTION_PROFILE_NAME

      Windows (cmd.exe)

      gcloud database-migration connection-profiles ^
      create mysql CONNECTION_PROFILE_ID ^
        --no-async ^
        --region=REGION ^
        --database-version=DATABASE_VERSION ^
        --tier=TIER ^
        --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]
      
    2. Terminez la configuration du réseau.

      En fonction de la connectivité réseau que vous souhaitez utiliser, vous devrez peut-être suivre des étapes supplémentaires avant de créer le job de migration.

    3. Créez le job de migration.
       Exécutez la commande suivante (cliquez sur le lien pour la développer) :

      gcloud database-migration migration-jobs create

      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 les commandes de manière asynchrone. Si c'est le 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 par un identifiant lisible par machine pour votre job de migration. Vous utilisez cette valeur pour travailler avec les jobs de migration à l'aide des commandes Google Cloud CLI ou de l'API Database Migration Service.
      • REGION par l'identifiant de la région dans laquelle vous souhaitez enregistrer le job de migration.
      • MIGRATION_JOB_NAME par un nom lisible pour votre job de migration. Cette valeur s'affiche dans la console Google Cloud de Database Migration Service.
      • 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.
      • MIGRATION_JOB_TYPE avec le type de votre job de migration. Deux valeurs sont autorisées : ONE_TIME ou CONTINUOUS. Pour en savoir plus, consultez Types de migration.
      • PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES avec le chemin d'accès à vos fichiers de sauvegarde physiques stockés dans un dossier d'un bucket Cloud Storage. Utilisez le format suivant : gs://<bucket_name>/<path_to_backup_file_folder>.
      • Configuration réseau

        Si vous utilisez une connectivité IP privée avec l'appairage de réseaux VPC ou un tunnel SSH inversé, ajoutez les indicateurs suivants à votre commande :

        Connectivité IP privée avec l'appairage de réseaux VPC
        Utilisez l'option --peer-vpc pour spécifier le nom du réseau que vous souhaitez appairer.
        Tunnel SSH inversé sur une VM Compute Engine
        Utilisez les indicateurs suivants pour fournir des informations sur le réseau pour Compute Engine : --vm-ip, --vm-port, --vpc. Vous pouvez également utiliser l'option facultative --vm pour spécifier le nom de la VM.

        Pour obtenir d'autres exemples d'utilisation, consultez Exemples Google Cloud CLI.

      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=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      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=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      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=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      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]
      

    Étape 3b : Accorder les autorisations requises au compte de service de l'instance Cloud SQL

    Lorsque vous créez le job de migration vers une nouvelle instance, Database Migration Service crée également l'instance Cloud SQL de destination pour vous. Avant de pouvoir exécuter la migration, vous devez attribuer des autorisations Cloud Storage au compte de service de l'instance.

    Pour accorder les autorisations Cloud Storage au compte de service associé à votre instance de destination, procédez comme suit :

    1. Recherchez l'adresse e-mail du compte de service pour votre instance Cloud SQL sur la page des détails de l'instance Cloud SQL. Cette adresse utilise le format suivant : <project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com. Consultez la section Afficher les informations sur les instances dans la documentation Cloud SQL.
    2. Ajoutez le rôle IAM Lecteur des objets Storage (roles/storage.objectViewer) au compte de service. Pour savoir comment gérer les accès avec Identity and Access Management, consultez Gérer les accès aux projets, dossiers et organisations dans la documentation IAM.

    Étape 3c : (Facultatif) Tester la tâche de migration

    Avant d'exécuter la tâche de migration, vous pouvez effectuer une opération de test pour vérifier si Database Migration Service peut accéder à toutes les entités sources et de destination nécessaires. Avec gcloud CLI, vous pouvez tester les tâches de migration qui ont été créées, mais pas encore démarrées.

    Console

    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. Si vous n'avez pas enregistré votre job en tant que brouillon, mais que vous l'avez entièrement créé dans l'assistant, vous ne pouvez effectuer le test qu'à l'aide de Google Cloud CLI.

    Pour tester une tâche de migration brouillon, procédez comme suit :

    1. Dans la console Google Cloud , accédez à la page Jobs de migration.

      Accéder à la page "Jobs de migration"

    2. 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 tâches de migration s'ouvre.

    3. Sur la page Tester et créer une tâche de migration, cliquez sur Tester la tâche. Database Migration Service vérifie désormais si votre instance de destination dispose de toutes les autorisations requises et peut se connecter à la base de données source.
    4. Lorsque le test est terminé, cliquez sur Créer.

      Le job de migration est maintenant créé et prêt à être lancé.

    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 list pour lister tous les jobs de migration dans une région donnée et afficher leurs identifiants.

    • REGION par 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 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 votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état du job de migration :

    Étape 3d : Démarrer la tâche 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 démarrer à tout moment pour commencer la migration des données.

    Pour démarrer un job de migration, procédez comme suit :

    Console

    1. Dans la console Google Cloud , accédez à la page Jobs de migration.

      Accéder à la page "Jobs de migration"

    2. Dans l'onglet Jobs, cliquez sur le nom à afficher du job de migration que vous souhaitez démarrer.

      La page des détails du job de migration s'ouvre.

    3. Cliquez sur Démarrer.
    4. 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 list pour lister tous les jobs de migration dans une région donnée et afficher leurs identifiants.

    • REGION par 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 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 votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état du job de migration :


  • Pour migrer vers une instance de destination existante, vous devez d'abord créer et configurer votre instance de destination.

    Étape 3a : Préparer votre instance de destination

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

    1. Créez votre instance Cloud SQL pour MySQL de destination. Assurez-vous d'utiliser suffisamment de ressources de calcul et de mémoire pour répondre à vos besoins de migration. Consultez Créer une instance dans la documentation Cloud SQL.

      Selon la méthode de connectivité que vous souhaitez utiliser pour votre migration, vous devrez peut-être ajouter une adresse IP publique ou privée à votre instance de destination. Pour en savoir plus sur les méthodes de connectivité, consultez Configurer la connectivité.

    2. Accordez les autorisations Cloud Storage au compte de service associé à votre instance de destination. Ce compte est créé une fois que vous avez créé l'instance de destination.
      1. Recherchez l'adresse e-mail du compte de service pour votre instance Cloud SQL sur la page des détails de l'instance Cloud SQL. Cette adresse utilise le format suivant : <project-identifier>@gcp-sa-cloud-sql.iam.gserviceaccount.com. Consultez la section Afficher les informations sur les instances dans la documentation Cloud SQL.
      2. Ajoutez le rôle IAM Lecteur des objets Storage (roles/storage.objectViewer) au compte de service. Pour savoir comment gérer les accès avec Identity and Access Management, consultez Gérer les accès aux projets, dossiers et organisations dans la documentation IAM.
    3. Créez un profil de connexion de destination pour votre instance Cloud SQL.

      Console

      Vous n'avez pas besoin de créer le profil de connexion de destination. Lorsque vous créez un job de migration dans la console Google Cloud , vous utilisez l'identifiant de l'instance de destination, et Database Migration Service gère le profil de connexion pour vous.

      Passez à la section Créer et exécuter 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 les commandes de manière asynchrone. Si c'est le 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 d'instance de votre instance de destination.
      • (Facultatif) Remplacez CONNECTION_PROFILE_NAME par 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 mysql CONNECTION_PROFILE_ID \
        --no-async \
        --cloudsql-instance=DESTINATION_INSTANCE_ID \
        --region=REGION \
        --display-name=CONNECTION_PROFILE_NAME

      Windows (PowerShell)

      gcloud database-migration connection-profiles `
      create mysql CONNECTION_PROFILE_ID `
        --no-async `
        --cloudsql-instance=DESTINATION_INSTANCE_ID `
        --region=REGION `
        --display-name=CONNECTION_PROFILE_NAME

      Windows (cmd.exe)

      gcloud database-migration connection-profiles ^
      create mysql CONNECTION_PROFILE_ID ^
        --no-async ^
        --cloudsql-instance=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]
      

    Étape 3b : Créer et exécuter le job de migration

    Console

    Définir les paramètres du job de migration

    1. Dans la console Google Cloud , accédez à la page Jobs de migration.

      Accéder à la page "Jobs de migration"

    2. Cliquez sur Créer un job de migration.

      La page de l'assistant de configuration du job de migration s'ouvre. Cet assistant contient plusieurs panneaux qui vous guident à travers chaque étape de la configuration.

      Vous pouvez suspendre la création d'un job 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 brouillon de tâche de migration plus tard.

    3. Sur la page Premiers pas, saisissez les informations suivantes :
      1. Nom de la tâche de migration

        Nom lisible de votre tâche de migration. Cette valeur s'affiche dans la console Google Cloud .

      2. ID du job de migration

        Il s'agit d'un identifiant lisible par machine pour votre job 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.

      3. Dans la liste Moteur de base de données source, sélectionnez MySQL.

        Le champ Moteur de base de données de destination est renseigné automatiquement et ne peut pas être modifié.

      4. Sélectionnez la région dans laquelle vous enregistrez le job de migration.

        Database Migration Service est un produit entièrement régionalisé. Cela signifie que toutes les entités liées à votre migration (profils de connexion source et de destination, tâches de migration, bases de données de destination) doivent être enregistrées dans une seule région. Sélectionnez la région en fonction de l'emplacement des services qui ont besoin de vos données (comme les instances Compute Engine, les applications App Engine ou d'autres services). Une fois que vous avez choisi la région de destination, vous ne pouvez plus la modifier.

    4. Cliquez sur Enregistrer et continuer.

    Spécifier des informations sur le profil de connexion source

    1. Sur la page Définir une source, procédez comme suit :
      1. Dans le menu déroulant Profil de connexion source, sélectionnez le profil de connexion de votre base de données source.
      2. Dans la section Personnaliser la configuration du vidage complet, cliquez sur Modifier la configuration.
      3. Dans le panneau Modifier la configuration du vidage complet, sélectionnez Basée sur la mémoire physique dans le menu déroulant Méthode de vidage complet.
      4. Dans Indiquez votre dossier, cliquez sur Parcourir, puis sélectionnez le dossier dans lequel vous avez importé votre fichier de dump complet (étape 4 de la section Préparer vos données sources).
      5. Cliquez sur Enregistrer.
    2. Cliquez sur Enregistrer et continuer.

    Sélectionnez l'instance Cloud SQL de destination.

    1. Dans le menu Type d'instance de destination, sélectionnez Instance existante.
    2. Dans la section Sélectionner une instance de destination, sélectionnez votre instance de destination.
    3. Vérifiez les informations dans la section Détails de l'instance, puis cliquez sur Sélectionner et continuer.
    4. Pour migrer vers une base de données de destination existante, Database Migration Service rétrograde l'instance cible et la convertit en réplica. Pour indiquer que la rétrogradation peut être effectuée sans risque, saisissez l'identifiant de l'instance de destination dans la fenêtre de confirmation.
    5. 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 l'instance Cloud SQL créée se connecte à la base de données source. Les méthodes actuelles de connectivité réseau incluent la liste d'autorisation d'adresses IP, le tunnel SSH inversé et l'appairage de VPC.

    Si vous souhaitez utiliser…Alors…
    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. Si l'instance Cloud SQL que vous avez créée est une instance à haute disponibilité, incluez les adresses IP sortantes pour l'instance principale et l'instance secondaire.
    La méthode de connectivité réseau du tunnel SSH inversé Vous devez sélectionner l'instance de VM Compute Engine qui hébergera le tunnel.

    Après avoir spécifié l'instance, Google fournit un script qui réalise 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 depuis une machine connectée à la base de données source et à Google Cloud.

    la méthode de connectivité réseau par appairage de VPC ; Vous devez sélectionner le réseau VPC sur lequel réside la base de données source. L'instance Cloud SQL sera mise à jour pour se connecter à ce réseau.

    Après avoir sélectionné et configuré la connectivité réseau, cliquez sur Configurer et continuer.

    Tester, créer et exécuter le job de migration

    Lors de cette dernière étape, vérifiez le récapitulatif 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.

    1. Sur la page Tester et créer une tâche de migration, cliquez sur Tester la tâche.

      Si le test échoue, vous pouvez résoudre le problème dans la partie appropriée du flux, puis revenir au test. Pour savoir comment résoudre les problèmes liés à un test de tâche de migration qui échoue, consultez Diagnostiquer les problèmes liés à MySQL.

    2. Une fois le test du job de migration terminé, cliquez sur Créer et démarrer le job.

      Votre migration est en cours. Lorsque vous démarrez le job de migration, Database Migration Service lance le vidage complet, ce qui verrouille brièvement la base de données source.

    gcloud

    Pour configurer et exécuter votre migration, procédez comme suit :

    1. Créez le job de migration.
       Exécutez la commande suivante (cliquez sur le lien pour la développer) :

      gcloud database-migration migration-jobs create

      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 les commandes de manière asynchrone. Si c'est le 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 par un identifiant lisible par machine pour votre job de migration. Vous utilisez cette valeur pour travailler avec les jobs de migration à l'aide des commandes Google Cloud CLI ou de l'API Database Migration Service.
      • REGION par l'identifiant de la région dans laquelle vous souhaitez enregistrer le job de migration.
      • MIGRATION_JOB_NAME par un nom lisible pour votre job de migration. Cette valeur s'affiche dans la console Google Cloud de Database Migration Service.
      • 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.
      • MIGRATION_JOB_TYPE avec le type de votre job de migration. Deux valeurs sont autorisées : ONE_TIME ou CONTINUOUS. Pour en savoir plus, consultez Types de migration.
      • PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES avec le chemin d'accès à vos fichiers de sauvegarde physiques stockés dans un dossier d'un bucket Cloud Storage. Utilisez le format suivant : gs://<bucket_name>/<path_to_backup_file_folder>.
      • Configuration réseau

        Si vous utilisez une connectivité IP privée avec l'appairage de réseaux VPC ou un tunnel SSH inversé, ajoutez les indicateurs suivants à votre commande :

        Connectivité IP privée avec l'appairage de réseaux VPC
        Utilisez l'option --peer-vpc pour spécifier le nom du réseau que vous souhaitez appairer.
        Tunnel SSH inversé sur une VM Compute Engine
        Utilisez les indicateurs suivants pour fournir des informations sur le réseau pour Compute Engine : --vm-ip, --vm-port, --vpc. Vous pouvez également utiliser l'option facultative --vm pour spécifier le nom de la VM.

        Pour obtenir d'autres exemples d'utilisation, consultez Exemples Google Cloud CLI.

      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=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      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=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      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=MIGRATION_JOB_TYPE
        --dump-type=PHYSICAL
        --dump-path=PATH_TO_THE_FOLDER_IN_STORAGE_BUCKET_WITH_PHYSICAL_BACKUP_FILES

      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]
      
    2. Rétrogradez votre instance Cloud SQL de destination.
       Exécutez la commande suivante (cliquez sur le lien pour la développer) :

      gcloud database-migration migration-jobs demote-destination

      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 list pour lister tous les jobs de migration dans une région donnée et afficher leurs identifiants.

      • REGION par 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 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: 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 du job de migration :

    3. (Facultatif) Effectuer un test de job de migration
      Vous pouvez exécuter une vérification pour déterminer si Database Migration Service peut atteindre toutes les entités source et de destination nécessaires. Exécutez la commande suivante (cliquez sur le lien pour la développer) :

      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 job de migration.

        Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande gcloud database-migration migration-jobs list pour lister tous les jobs de migration dans une région donnée et afficher leurs identifiants.

      • REGION par 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 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 votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état du job de migration :

    4. Démarrez la tâche de migration.
      Exécutez la commande suivante (cliquez sur le lien pour la développer) :

      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 job de migration.

        Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande gcloud database-migration migration-jobs list pour lister tous les jobs de migration dans une région donnée et afficher leurs identifiants.

      • REGION par 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 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 votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état du job de migration :

      Lorsque vous démarrez le job de migration, votre instance Cloud SQL de destination est placée en mode lecture seule, où elle est entièrement gérée par Database Migration Service. Vous pourrez la promouvoir en instance autonome une fois vos données entièrement migrées.

      Remarque : Vous pouvez surveiller la progression de la migration, ainsi que l'état de votre instance de destination grâce aux fonctionnalités d'observabilité de Database Migration Service. Consultez [Métriques des tâches de migration](/database-migration/docs/mysql/migration-job-metrics).

Étape 4 : (Facultatif) Arrêter la migration

Vous pouvez arrêter et supprimer votre job de migration à tout moment si vous souhaitez annuler le processus de migration des données. Vous pouvez gérer le job de migration dans la console Google Cloud ou avec Google Cloud CLI.

Étape 5 : Finaliser la migration

Une fois le job de migration terminé, finalisez-le en procédant comme suit :

  • Pour les migrations ponctuelles : l'état de la tâche de migration passe à Terminée. Aucune autre action n'est requise. Vous pouvez nettoyer les ressources du profil de connexion et du job de migration.

  • Pour les migrations continues : promouvez le job de migration pour basculer votre application vers la nouvelle instance de base de données.