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 :
Sauvegarde de votre instance MySQL source et préparation des fichiers de sauvegarde physiques à l'aide de l'utilitaire Percona XtraBackup pour MySQL.
Importation de vos fichiers de sauvegarde dans un bucket Cloud Storage.
Création et exécution du job de migration dans Database Migration Service.
Selon votre scénario, vous pouvez créer l'instance de destination vous-même ou demander à Database Migration Service de la créer pour vous dans le cadre du flux de création de la tâche de migration. Pour en savoir plus, consultez l'étape Configurer et exécuter la tâche de migration.
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 de test lorsque Database Migration Service ne se connecte pas à votre instance source. À la place, Database Migration Service ne lit que les fichiers de sauvegarde que vous importez dans le bucket Cloud Storage et réplique leur contenu à 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 de production, car Database Migration Service ne peut pas effectuer complètement la validation des données.
Si vous souhaitez essayer d'effectuer une tâche de migration hors connexion, ajustez les procédures comme suit:
Lorsque vous créez le profil de connexion source, utilisez un exemple d'adresse IP, de port, de nom d'utilisateur et de mot de passe. Exemple :
- Adresse IP :
0.0.0.0
- Port :
1234
- Nom d'utilisateur de la migration:
test-user
- Adresse IP :
Lorsque vous créez la tâche de migration:
- Utilisez la connectivité IP publique. Ne configurez aucune option de mise en réseau supplémentaire.
- Utilisez le type de tâche de migration unique.
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 à l'aide d'un fichier de sauvegarde physique n'est pas prise en charge. Consultez la section Limitations connues.
Remarques concernant les versions:
- Vous ne pouvez migrer que dans la même version majeure de base de données, 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.
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 s'exécutant sur une 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 queSTATEMENT
ouMIXED
, la réplication peut échouer.Les bases de données dont une table est supérieure à 5 To ne sont pas compatibles.
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éfautibdata1
. 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 avecinnodb_data_file_path=ibdata01:50M:autoextend
.Le paramètre
innodb_page_size
de votre instance source doit être configuré avec la valeur par défaut16384
.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 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 de Google 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
- Déterminez dans quelle région 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Enable the Database Migration Service, Compute Engine, and Cloud SQL Admin APIs.
Rôles requis
Pour obtenir les autorisations nécessaires pour effectuer des migrations MySQL homogènes à l'aide de fichiers de sauvegarde physiques, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet:
-
Compte utilisateur effectuant la migration :
-
Administrateur de migration de bases de données (
roles/datamigration.admin
) -
Lecteur des objets de l'espace de stockage (
roles/storage.objectViewer
) -
Éditeur Cloud SQL (
roles/cloudsql.editor
)
-
Administrateur de migration de bases de données (
Pour en savoir plus sur l'attribution de rôles, consultez la page 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 effectuant 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.
1. Tenir 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 votre source et les instances de destination Cloud SQL. Selon la méthode que vous utilisez, vous devrez peut-être effectuer d'autres étapes pendant le processus de migration.
Déterminez quelle méthode de connectivité convient le mieux à votre scénario avant de passer aux étapes suivantes, car votre choix peut avoir un impact sur les paramètres que vous devez utiliser. Pour en savoir plus, consultez la section Configurer la connectivité.
Étape 2. Préparer vos données source
Pour préparer vos données à la migration, effectuez les étapes suivantes :
- Installez la version correcte de l'utilitaire Percona XtraBackup sur votre instance source. Vous devez utiliser une version de Percona XtraBackup égale ou ultérieure à celle de votre instance source.
Pour en savoir plus, consultez la page
Comparaison des versions de serveur et de sauvegarde dans la documentation de Percona XtraBackup.
- Pour MySQL 5.7, installez Percona XtraBackup 2.4.
- Pour MySQL 8.0, installez Percona XtraBackup 8.0.
- Exportez et préparez le fichier de sauvegarde physique de votre instance source à l'aide de Percona XtraBackup. Pour en savoir plus 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 d'étapes recommandées pour créer et préparer des fichiers de sauvegarde physiques à l'aide de Percona XtraBackup
Avant d'utiliser les données de commande ci-dessous, effectuez les remplacements suivants:
- TARGET_DIR par le chemin d'accès dans lequel vous souhaitez enregistrer le fichier de sauvegarde de sortie.
- USERNAME avec un utilisateur disposant du droit
BACKUP_ADMIN
sur l'instance source. - PASSWORD par le mot de passe du compte USERNAME.
- 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
- Lorsque le fichier de sauvegarde est prêt, utilisez la commande
--prepare
pour assurer la cohérence des fichiers. Exécutez la commande suivante :xtrabackup --prepare --target-dir=TARGET_DIR
- 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, 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 pour les fichiers de sauvegarde) doivent être enregistrées dans une seule région.
- 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 la section Importer des objets à partir d'un système de fichiers de la documentation Cloud Storage.
- Créez le profil de connexion source pour votre instance de base de données source.
Console
Pour créer un profil de connexion de source, procédez comme suit:
- Accédez à la page Profils de connexion de la console Google Cloud .
- Cliquez sur Créer un profil.
- Sur la page Créer un profil de connexion, dans le menu déroulant Moteur de base de données, sélectionnez MySQL.
- Dans le champ Nom du profil de connexion, saisissez un nom lisible pour votre profil de connexion. Cette valeur s'affiche dans la liste des profils de connexion.
- Conservez l'ID du profil de connexion généré automatiquement.
- Saisissez un nom d'hôte ou une adresse IP.
Si la base de données source est hébergée dans Google Cloud, ou si un tunnel SSH inverse 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 la section Configurer la connectivité à l'aide de l'appairage VPC.
Pour les autres méthodes de connectivité, telles que la liste d'autorisation d'adresses IP, indiquez l'adresse IP publique.
- Saisissez le port utilisé pour accéder à l'hôte. Le port MySQL par défaut est 3306.
- 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 nécessaires pour accéder à vos données. Pour en savoir plus, consultez la section Configurer votre base de données source.
- 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.
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 pouvez sélectionner trois options de configuration SSL/TLS dans la section Sécuriser votre connexion de la page:
- Remarque : l'instance de destination Cloud SQL se connecte à la base de données source sans chiffrement.
Authentification serveur uniquement: lorsque l'instance de destination Cloud SQL se connecte à la base de données source, elle authentifie la source, s'assurant ainsi qu'elle se connecte de manière sécurisée à l'hôte approprié. 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 X.509 de l'autorité de certification qui a signé le certificat du serveur externe, encodé au format PEM.
- Authentification serveur-client: lorsque l'instance de destination se connecte à la source, l'instance authentifie la source et la source 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).
- Cliquez sur Créer. Votre profil de connexion est maintenant créé.
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 commandegcloud 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 le port 3306.
- USERNAME avec le nom du compte utilisateur de la base de données avec lequel Database Migration Service doit se connecter à votre instance de base de données source.
- PASSWORD par le mot de passe du compte utilisateur de la base de données.
- (Facultatif) CONNECTION_PROFILE_NAME avec un nom lisible pour votre profil de connexion. Cette valeur s'affiche dans la console Google Cloud.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration connection-profiles \ create 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 la tâche de migration
Lorsque vous effectuez une migration avec Percona XtraBackup, vous pouvez créer vous-même l'instance de destination Cloud SQL ou demander à Database Migration Service de le faire. Pour en savoir plus, consultez la section Présentation de la création de tâches de migration.
Chacune de ces approches vous oblige à suivre un ensemble de procédures légèrement différent. Utilisez le menu déroulant pour afficher les procédures adaptées à votre scénario:
- Si vous souhaitez que Database Migration Service crée la base de données de destination à votre place, 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 pendant le flux 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
- Dans la console Google Cloud, accédez à la page Jobs 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.
- 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 MySQL.
Le champ Moteur de base de données de destination est renseigné automatiquement et ne peut pas être modifié.
- Sélectionnez la région dans laquelle vous enregistrez la tâche de migration.
Database Migration Service est un produit entièrement régional. Par conséquent, toutes les entités liées à votre migration (profils de connexion source et de destination, jobs 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 ou les applications App Engine, et d'autres services). Une fois que vous avez choisi la région de destination, vous ne pouvez plus modifier cette sélection.
- Nom de la tâche de migration
- Cliquez sur Enregistrer et continuer.
Spécifier des informations sur le profil de connexion source
- Sur la page Définir une source, procédez comme suit :
- Dans le menu déroulant Profil de connexion source, sélectionnez le profil de connexion de votre base de données source.
- Dans la section Personnaliser la configuration du vidage complet, cliquez sur Modifier la configuration.
- Dans le panneau Modifier la configuration du dump complet, dans le menu déroulant Méthode de dump complet, sélectionnez Basé sur la physique.
- 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).
- Cliquez sur Enregistrer.
- Cliquez sur Enregistrer et continuer.
Configurer et créer l'instance Cloud SQL de destination
- 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 pertinents :
- Dans le champ ID de l'instance de destination, fournissez un identifiant pour l'instance Cloud SQL ou utilisez l'identifiant généré automatiquement.
N'incluez pas d'informations sensibles ni d'informations 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).
- 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.
- Dans le menu déroulant Version de la base de données, choisissez 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 prise en charge de la migration entre versions
- Sélectionnez l'édition Cloud SQL pour MySQL de votre instance de destination.
Deux options sont disponibles: l'édition Cloud SQL pour MySQL Enterprise et l'édition Cloud SQL pour MySQL Enterprise Plus.
Les éditions Cloud SQL pour MySQL sont fournies avec différents ensembles de fonctionnalités, de types de machines disponibles et de tarifs. Veillez à consulter la documentation Cloud SQL pour choisir l'édition adaptée à vos besoins. Pour en savoir plus, consultez la page Présentation des éditions Cloud SQL pour MySQL.
- 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 Tout pour la zone principale et sur Tout (différent 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.
- 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 effectuer la migration à l'aide d'un 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 les exigences complètes concernant les adresses IP privées.
- L'API Service Networking est activée. Vous pouvez activer l' API Service Networking à l'aide de la console Google Cloud.
- Vous disposez de l'
autorisation IAM
servicenetworking.services.addPeering
. - Vous avez
configuré l'accès aux services privés pour votre projet, pour lequel vous devez disposer du rôle IAM
compute.networkAdmin
. - Votre projet contient au moins un réseau VPC non hérité ou un réseau VPC partagé.
- Si vous utilisez un
réseau VPC partagé, vous devez également effectuer les opérations suivantes :
- Activez l'API Service Networking pour le projet hôte.
- Ajouter votre utilisateur au projet hôte.
- Attribuez à votre utilisateur le rôle IAM compute.networkAdmin dans le projet hôte.
- Sélectionnez le réseau VPC associé à appairer. Si vous prévoyez de vous connecter à la source de migration à l'aide de l'appairage de VPC, choisissez le VPC dans lequel 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 la section Configurer une adresse IP publique dans la documentation Cloud SQL.
Vous configurerez la connectivité de la tâche de migration à une étape ultérieure. Pour en savoir plus sur les méthodes de mise en réseau disponibles, consultez la section Configurer la connectivité.
- Si vous souhaitez effectuer la migration à l'aide d'un appairage de VPC ou d'un tunnel SSH inversé, sélectionnez
Adresse IP privée.
- Dans le champ ID de l'instance de destination, fournissez un identifiant pour l'instance Cloud SQL ou utilisez l'identifiant généré automatiquement.
- Sélectionnez le type de machine pour l'instance Cloud SQL. La taille du disque doit être supérieure ou égale à la taille de la base de données source. En savoir plus sur les types de machines MySQL
- Pour l'édition 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. Elle ajoute un disque SSD local à grande vitesse à votre base de données de destination. Cette fonctionnalité peut entraîner des coûts supplémentaires pour votre Cloud SQL. Pour en savoir plus sur le cache de données, consultez la section Présentation du cache de données dans la documentation Cloud SQL.
- Indiquez le type de stockage pour l'instance Cloud SQL. Vous pouvez choisir un disque dur SSD ou un disque dur HDD.
- 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 réduire.
(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:
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 :
- Cochez la case Utiliser une clé de chiffrement gérée par le client (CMEK).
- Dans le menu Sélectionner une clé gérée par le client, sélectionnez votre clé CMEK.
Si vous ne trouvez pas votre clé, cliquez sur Saisissez le nom de la ressource de clé pour indiquer le nom de la 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
.- Ajoutez les options 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 les mêmes que ceux de la base de données source. En savoir plus sur les options de base de données compatibles avec MySQL
- Ajoutez toutes les
étiquettes spécifiques à l'instance Cloud SQL.
Les libellés vous aident à organiser vos instances. Par exemple, vous pouvez organiser les étiquettes 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.
- Cliquez sur Créer une destination et continuer. Database Migration Service crée maintenant votre instance de destination Cloud SQL. 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 VPC.
Si vous souhaitez utiliser… Alors… la méthode de connectivité réseau par 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 de l'instance principale et de l'instance secondaire. 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 effectue les étapes de configuration du tunnel entre les bases de données source et de destination. Vous devrez exécuter le script dans la Google Cloud CLI.
Exécutez les commandes à partir d'une machine connectée à la fois à la base de données source et à Google Cloud.
la méthode de connectivité réseau d'appairage VPC ; Vous devez sélectionner le réseau VPC sur lequel est hébergée la base de données source. L'instance Cloud SQL est mise à jour afin de se connecter à ce réseau. Après avoir sélectionné et configuré la connectivité réseau, cliquez sur Configurer et continuer.
Créer la tâche 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 de destination Cloud SQL ne dispose pas des autorisations nécessaires.
Effectuez l'une des actions suivantes avant de tester la tâche afin de valider sa configuration:
- Si vous souhaitez tester votre tâche 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 pouvez revenir à cet écran plus tard, tester votre tâche de migration et l'exécuter.
- Si vous souhaitez tester votre tâche 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 créée, mais pas encore démarrée.
gcloud
Créez le profil de connexion de destination.
Lorsque vous migrez vers une nouvelle instance de destination avec la 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 l'agrandir):gcloud database-migration connection-profiles create cloudsql
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 commandegcloud 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 avec la version 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 toutes les versions MySQL possibles, consultez la documentation de référence sur 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 Plusenterprise
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
,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 la section Types de machines dans la documentation Cloud SQL pour MySQL.Par défaut, les instances créées avec la Google Cloud CLI utilisent 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 Cloud SQL pour MySQL Enterprise, 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 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 l'édition à l'aide de l'indicateur
--edition
facultatif. - (Facultatif) CONNECTION_PROFILE_NAME avec un nom lisible pour votre profil de connexion. Cette valeur s'affiche dans la console Google Cloud.
- Configuration réseau
Par défaut, une adresse IP publique est attribuée aux nouvelles instances que vous créez avec Google Cloud CLI et elles sont configurées pour utiliser la connectivité IP publique. Vous pouvez utiliser d'autres méthodes de connectivité. Pour en savoir plus, consultez la section Configurer la connectivité.
Vous n'avez pas besoin d'utiliser d'indicateurs supplémentaires si vous souhaitez utiliser la connectivité par adresse IP publique. Si vous souhaitez utiliser la connectivité IP privée avec l'appairage de réseaux VPC ou un tunnel SSH inverse, assurez-vous de respecter les exigences réseau supplémentaires suivantes pour activer la connectivité IP privée et d'inclure des options supplémentaires dans votre commande.
Développez cette section pour connaître les exigences complètes concernant les adresses IP privées.
- L'API Service Networking est activée. Vous pouvez activer l' API Service Networking à l'aide de la console Google Cloud.
- Vous disposez de l'
autorisation IAM
servicenetworking.services.addPeering
. - Vous avez
configuré l'accès aux services privés pour votre projet, pour lequel vous devez disposer du rôle IAM
compute.networkAdmin
. - Votre projet contient au moins un réseau VPC non hérité ou un réseau VPC partagé.
- Si vous utilisez un
réseau VPC partagé, vous devez également effectuer les opérations suivantes :
- Activez l'API Service Networking pour le projet hôte.
- Ajouter votre utilisateur au projet hôte.
- Attribuez à votre utilisateur le rôle IAM compute.networkAdmin dans le projet hôte.
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 une adresse IP publique et une adresse IP privée à votre instance de destination, mais vous ne souhaitez peut-être pas d'adresse IP publique si vous utilisez une 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]
- Terminez la configuration de la configuration 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 la tâche de migration.
- Si vous utilisez la connectivité IP publique par défaut, configurez votre instance de base de données source pour autoriser les connexions provenant de l'adresse et du port publics de votre destination Cloud SQL. Pour en savoir plus, consultez la section Configurer la connectivité à l'aide de listes d'autorisation d'adresses IP.
- Si vous utilisez un tunnel SSH inversé, configurez-le sur une VM Compute Engine. Pour en savoir plus, consultez la section Configurer la connectivité à l'aide d'un tunnel SSH inverse.
Créez la tâche de migration.
Exécutez la commande suivante (cliquez sur le lien pour l'agrandir):gcloud database-migration migration-jobs create
Cet exemple utilise l'option
--no-async
facultative afin que toutes les opérations soient effectuées de manière synchrone. Cela signifie que certaines commandes peuvent prendre un certain temps. Vous pouvez ignorer l'indicateur--no-async
pour exécuter des commandes de manière asynchrone. Dans ce cas, vous devez utiliser la commandegcloud 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 dans 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.
- MIGRATION_JOB_TYPE par le type de votre tâche de migration. Deux valeurs sont autorisées:
ONE_TIME
ouCONTINUOUS
. Pour en savoir plus, consultez la section 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 options suivantes à 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 avec lequel vous souhaitez établir un lien. - Tunnel SSH inversé sur une VM Compute Engine
- Utilisez les indicateurs suivants pour fournir des informations sur la mise en réseau de 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 les exemples de 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. 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:
-
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. -
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 atteindre toutes les entités source et de destination nécessaires. Avec gcloud CLI, vous pouvez tester les tâches de migration créées, mais pas encore démarrées.
Console
Dans la console Google Cloud, vous ne pouvez tester que les tâches de migration de prévisualisation que vous créez dans l'assistant de création de tâches de migration. Si vous n'avez pas enregistré votre tâche en tant que brouillon, mais que vous l'avez créée entièrement dans l'assistant, vous ne pouvez effectuer le test qu'à l'aide de Google Cloud CLI.
Pour tester une tâche de migration en brouillon, procédez comme suit:
- Dans la console Google Cloud, accédez à la page Jobs de migration.
- Dans l'onglet Brouillons, cliquez sur le nom à afficher de la tâche de migration que vous souhaitez terminer.
L'assistant de création de tâche de migration s'ouvre.
- 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.
- Lorsque le test est terminé, cliquez sur Créer.
La tâche de migration est maintenant créée et prête à être lancée.
gcloud
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.
Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande
gcloud database-migration migration-jobs list
pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants. - REGION avec l'identifiant de la région dans laquelle votre profil de connexion est enregistré.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ verify MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` verify MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ verify MIGRATION_JOB_ID ^ --region=REGION
Résultat
L'action est effectuée de manière asynchrone. Par conséquent, cette commande renvoie une entité Operation représentant une opération de longue durée:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: verify name: OPERATION_ID
Pour vérifier si votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état de la tâche de migration:
- Utilisez la commande
gcloud database-migration migration-jobs describe
avec MIGRATION_JOB_ID pour afficher l'état de la tâche de migration. - Utilisez la commande
gcloud database-migration operations describe
avec OPERATION_ID pour afficher l'état de l'opération elle-même.
Étape 3d. Démarrer la tâche de migration
Une fois votre tâche de migration entièrement créée (c'est-à-dire qu'elle n'est pas enregistrée en tant que brouillon), vous pouvez la démarrer à tout moment pour commencer à migrer les données.
Pour démarrer une tâche de migration, procédez comme suit:
Console
- Dans la console Google Cloud, accédez à la page Jobs de migration.
- Dans l'onglet Jobs (Tâches), cliquez sur le nom à afficher de la tâche de migration que vous souhaitez démarrer.
La page d'informations sur la tâche de migration s'ouvre.
- Cliquez sur Démarrer.
- Dans la boîte de dialogue, cliquez sur Démarrer.
gcloud
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.
Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande
gcloud database-migration migration-jobs list
pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants. - REGION avec l'identifiant de la région dans laquelle votre profil de connexion est enregistré.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ start MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` start MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ start MIGRATION_JOB_ID ^ --region=REGION
Résultat
L'action est effectuée de manière asynchrone. Par conséquent, cette commande renvoie une entité Operation représentant une opération de longue durée:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
Pour vérifier si votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état de la tâche de migration:
- Utilisez la commande
gcloud database-migration migration-jobs describe
avec MIGRATION_JOB_ID pour afficher l'état de la tâche de migration. - Utilisez la commande
gcloud database-migration operations describe
avec OPERATION_ID pour afficher l'état de l'opération elle-même.
-
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:
-
Créez votre instance de destination Cloud SQL pour MySQL. Assurez-vous d'utiliser suffisamment de ressources de calcul et de mémoire pour répondre à vos besoins de migration.
Consultez la section 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 la section Configurer la connectivité.
-
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.
-
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. -
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.
-
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:
- 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 à votre place.
Passez à la section Créer et exécuter une tâche de migration.
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 commandegcloud database-migration operations describe
pour vérifier si votre opération a réussi.Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- CONNECTION_PROFILE_ID avec un identifiant lisible par machine pour votre profil de connexion.
- REGION par l'identifiant de la région dans laquelle vous souhaitez enregistrer le profil de connexion.
- DESTINATION_INSTANCE_ID par l'identifiant de l'instance de votre instance de destination.
- (Facultatif) CONNECTION_PROFILE_NAME avec un nom lisible pour votre profil de connexion. Cette valeur s'affiche dans la console Google Cloud.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration connection-profiles \ create 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 la tâche de migration
Console
Définir les paramètres du job de migration
- Dans la console Google Cloud, accédez à la page Jobs 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.
- 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 MySQL.
Le champ Moteur de base de données de destination est renseigné automatiquement et ne peut pas être modifié.
- Sélectionnez la région dans laquelle vous enregistrez la tâche de migration.
Database Migration Service est un produit entièrement régional. Par conséquent, toutes les entités liées à votre migration (profils de connexion source et de destination, jobs 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 ou les applications App Engine, et d'autres services). Une fois que vous avez choisi la région de destination, vous ne pouvez plus modifier cette sélection.
- Nom de la tâche de migration
- Cliquez sur Enregistrer et continuer.
Spécifier des informations sur le profil de connexion source
- Sur la page Définir une source, procédez comme suit :
- Dans le menu déroulant Profil de connexion source, sélectionnez le profil de connexion de votre base de données source.
- Dans la section Personnaliser la configuration du vidage complet, cliquez sur Modifier la configuration.
- Dans le panneau Modifier la configuration du dump complet, dans le menu déroulant Méthode de dump complet, sélectionnez Basé sur la physique.
- 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).
- Cliquez sur Enregistrer.
- Cliquez sur Enregistrer et continuer.
Sélectionner l'instance Cloud SQL de destination
- Dans le menu Type d'instance de destination, sélectionnez Instance existante.
- Dans la section Sélectionner une instance de destination, sélectionnez votre instance de destination.
- Vérifiez les informations de la section Détails de l'instance, puis cliquez sur Sélectionner et continuer.
- Pour migrer vers une base de données de destination existante, Database Migration Service rétrograde l'instance cible et la convertit en instance répliquée. Pour indiquer que la rétrogradation peut être effectuée en toute sécurité, saisissez l'identifiant de l'instance de destination dans la fenêtre de confirmation.
- Cliquez sur Confirmer et continuer.
Configurer la connectivité entre les instances de base de données source et de destination
Dans le menu déroulant Méthode de connectivité, sélectionnez une méthode de connectivité réseau. Cette méthode définit la manière dont 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 VPC.
Si vous souhaitez utiliser… Alors… la méthode de connectivité réseau par 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 de l'instance principale et de l'instance secondaire. 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 effectue les étapes de configuration du tunnel entre les bases de données source et de destination. Vous devrez exécuter le script dans la Google Cloud CLI.
Exécutez les commandes à partir d'une machine connectée à la fois à la base de données source et à Google Cloud.
la méthode de connectivité réseau d'appairage VPC ; Vous devez sélectionner le réseau VPC sur lequel est hébergée la base de données source. L'instance Cloud SQL est mise à jour afin de 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 la tâche de migration
Lors de cette dernière étape, examinez le résumé des paramètres, de la source, de la destination et de la méthode de connectivité de la tâche de migration, puis testez la validité de la configuration de la tâche de migration. En cas de problème, vous pouvez modifier les paramètres de la tâche de migration. Tous les paramètres ne sont pas modifiables.
-
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 obtenir des informations sur le dépannage d'un test de tâche de migration qui échoue, consultez la section Diagnostiquer les problèmes liés à MySQL.
-
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 la tâche de migration, Database Migration Service lance le vidage complet, en bloquant brièvement la base de données source.
gcloud
Pour configurer et exécuter votre migration, procédez comme suit:
Créez la tâche de migration.
Exécutez la commande suivante (cliquez sur le lien pour l'agrandir):gcloud database-migration migration-jobs create
Cet exemple utilise l'option
--no-async
facultative afin que toutes les opérations soient effectuées de manière synchrone. Cela signifie que certaines commandes peuvent prendre un certain temps. Vous pouvez ignorer l'indicateur--no-async
pour exécuter des commandes de manière asynchrone. Dans ce cas, vous devez utiliser la commandegcloud 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 dans 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.
- MIGRATION_JOB_TYPE par le type de votre tâche de migration. Deux valeurs sont autorisées:
ONE_TIME
ouCONTINUOUS
. Pour en savoir plus, consultez la section 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 options suivantes à 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 avec lequel vous souhaitez établir un lien. - Tunnel SSH inversé sur une VM Compute Engine
- Utilisez les indicateurs suivants pour fournir des informations sur la mise en réseau de 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 les exemples de 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]
-
Rétrogradez votre instance de destination Cloud SQL.
Exécutez la commande suivante (cliquez sur le lien pour l'agrandir):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 tâche de migration.
Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande
gcloud database-migration migration-jobs list
pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants. - REGION avec l'identifiant de la région dans laquelle votre profil de connexion est enregistré.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ demote-destination MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` demote-destination MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ demote-destination MIGRATION_JOB_ID ^ --region=REGION
Résultat
L'action est effectuée de manière asynchrone. Par conséquent, cette commande renvoie une entité Operation représentant une opération de longue durée:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: demote-destination name: OPERATION_ID
Pour vérifier si votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état de la tâche de migration:
- Utilisez la commande
gcloud database-migration migration-jobs describe
pour afficher l'état de la tâche de migration. - Utilisez
gcloud database-migration operations describe
avec OPERATION_ID pour afficher l'état de l'opération elle-même.
- MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.
-
(Facultatif) Effectuer un test de tâche de migration
Vous pouvez exécuter une vérification pour vérifier 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 l'agrandir):gcloud database-migration migration-jobs verify
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.
Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande
gcloud database-migration migration-jobs list
pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants. - REGION avec l'identifiant de la région dans laquelle votre profil de connexion est enregistré.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ verify MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` verify MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ verify MIGRATION_JOB_ID ^ --region=REGION
Résultat
L'action est effectuée de manière asynchrone. Par conséquent, cette commande renvoie une entité Operation représentant une opération de longue durée:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: verify name: OPERATION_ID
Pour vérifier si votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état de la tâche de migration:
- Utilisez la commande
gcloud database-migration migration-jobs describe
avec MIGRATION_JOB_ID pour afficher l'état de la tâche de migration. - Utilisez la commande
gcloud database-migration operations describe
avec OPERATION_ID pour afficher l'état de l'opération elle-même.
- MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.
-
Démarrez la tâche de migration.
Exécutez la commande suivante (cliquez sur le lien pour l'agrandir):gcloud database-migration migration-jobs start
Avant d'utiliser les données de la commande ci-dessous, effectuez les remplacements suivants :
- MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.
Si vous ne connaissez pas l'identifiant, vous pouvez utiliser la commande
gcloud database-migration migration-jobs list
pour lister toutes les tâches de migration d'une région donnée et afficher leurs identifiants. - REGION avec l'identifiant de la région dans laquelle votre profil de connexion est enregistré.
Exécutez la commande suivante :
Linux, macOS ou Cloud Shell
gcloud database-migration migration-jobs \ start MIGRATION_JOB_ID \ --region=REGION
Windows (PowerShell)
gcloud database-migration migration-jobs ` start MIGRATION_JOB_ID ` --region=REGION
Windows (cmd.exe)
gcloud database-migration migration-jobs ^ start MIGRATION_JOB_ID ^ --region=REGION
Résultat
L'action est effectuée de manière asynchrone. Par conséquent, cette commande renvoie une entité Operation représentant une opération de longue durée:
done: false metadata: '@type': type.googleapis.com/google.cloud.clouddms.v1.OperationMetadata apiVersion: v1 createTime: '2024-02-20T12:20:24.493106418Z' requestedCancellation: false target: MIGRATION_JOB_ID verb: start name: OPERATION_ID
Pour vérifier si votre opération a réussi, vous pouvez interroger l'objet d'opération renvoyé ou vérifier l'état de la tâche de migration:
- Utilisez la commande
gcloud database-migration migration-jobs describe
avec MIGRATION_JOB_ID pour afficher l'état de la tâche de migration. - Utilisez la commande
gcloud database-migration operations describe
avec OPERATION_ID pour afficher l'état de l'opération elle-même.
Lorsque vous démarrez la tâche de migration, votre instance Cloud SQL de destination est mise en mode lecture seule, où elle est entièrement gérée par Database Migration Service. Vous pouvez le promouvoir en tant qu'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).
- MIGRATION_JOB_ID par l'identifiant de votre tâche de migration.
-
Créez votre instance de destination Cloud SQL pour MySQL. Assurez-vous d'utiliser suffisamment de ressources de calcul et de mémoire pour répondre à vos besoins de migration.
Consultez la section Créer une instance dans la documentation Cloud SQL.
Étape 4. (Facultatif) Arrêter la migration
Vous pouvez arrêter et supprimer votre tâche de migration à tout moment si vous souhaitez annuler le processus de migration de données. Vous pouvez gérer la tâche de migration dans la console Google Cloud ou avec Google Cloud CLI.
Pour en savoir plus sur la gestion des tâches de migration dans la console Google Cloud, consultez Gérer les tâches de migration.
Pour en savoir plus sur la gestion des tâches de migration avec Google Cloud CLI, consultez la documentation de référence sur
gcloud database-migration migration-jobs
.
Étape 5 : Finaliser la migration
Une fois la tâche de migration terminée, finalisez-la en effectuant l'une des opérations suivantes:
Pour les migrations ponctuelles: l'état de la tâche de migration passe à Terminée. Aucune autre action n'est requise. Vous pouvez nettoyer la tâche de migration et les ressources du profil de connexion.
Pour les migrations continues: promuvez le job de migration pour transférer votre application vers la nouvelle instance de base de données.