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 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.
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 :
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 le job de migration :
- Utilisez la connectivité IP publique. Ne configurez aucune option de mise en réseau supplémentaire.
- Utilisez le type de job de migration ponctuelle.
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 queSTATEMENT
ouMIXED
, 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é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 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.
Avant de commencer
- 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.
-
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 physique, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :
-
Compte utilisateur qui effectue la migration :
-
Administrateur de migration de bases de données (
roles/datamigration.admin
) -
Lecteur des objets Storage (
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 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 :
- 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.
- 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 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.
- 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 du fichier. 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. 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.
- 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.
- 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 :
- 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 compréhensible 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 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.
- 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 requis pour accéder à vos données. Pour en savoir plus, consultez 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 avez le choix entre 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 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.
- 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).
- 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 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 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
- 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 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.
- Sur la page Premiers pas, saisissez les informations suivantes :
- Nom de la tâche de migration
Nom lisible de 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 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.
- 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 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.
- 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 vidage complet, sélectionnez Basée sur la mémoire physique dans le menu déroulant Méthode de vidage complet.
- 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 concernés :
- 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).
- 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, 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
- 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.
- 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.
- 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.
- 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 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é.
- Si vous souhaitez migrer à l'aide de l'appairage de VPC ou d'un tunnel SSH inversé, sélectionnez
Adresse IP privée.
- 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.
Sélectionnez le type de machine pour l'instance Cloud SQL.
Pour en savoir plus, consultez la section Limites.
- 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.
- Indiquez le type de stockage pour l'instance Cloud SQL. Vous pouvez choisir un disque dur SSD ou 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 diminuer.
(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 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
.- 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
- 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.
- 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
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 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 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 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
oudb-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.
- 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 à 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]
- 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.
- Si vous utilisez la connectivité IP publique par défaut, configurez votre instance de base de données source pour autoriser les connexions à partir de l'adresse et du port publics de votre destination Cloud SQL. Pour en savoir plus, consultez 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 Configurer la connectivité à l'aide d'un tunnel SSH inversé.
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 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 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
ouCONTINUOUS
. 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 :
-
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 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 :
- Dans la console Google Cloud , accédez à la page Jobs de migration.
- 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.
- 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.
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 :
- Utilisez la commande
gcloud database-migration migration-jobs describe
avec MIGRATION_JOB_ID pour afficher l'état du job 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 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
- Dans la console Google Cloud , accédez à la page Jobs de migration.
- 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.
- 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 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 :
- Utilisez la commande
gcloud database-migration migration-jobs describe
avec MIGRATION_JOB_ID pour afficher l'état du job 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 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é.
-
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 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 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 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
- 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 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.
- Sur la page Premiers pas, saisissez les informations suivantes :
- Nom de la tâche de migration
Nom lisible de 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 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.
- 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 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.
- 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 vidage complet, sélectionnez Basée sur la mémoire physique dans le menu déroulant Méthode de vidage complet.
- 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électionnez 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 dans 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 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.
- 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.
-
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.
-
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 :
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 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 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
ouCONTINUOUS
. 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]
-
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 :
- Utilisez la commande
gcloud database-migration migration-jobs describe
pour afficher l'état du job 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 job de migration.
-
(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 :
- Utilisez la commande
gcloud database-migration migration-jobs describe
avec MIGRATION_JOB_ID pour afficher l'état du job 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 job de migration.
-
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 :
- Utilisez la commande
gcloud database-migration migration-jobs describe
avec MIGRATION_JOB_ID pour afficher l'état du job 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 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).
- MIGRATION_JOB_ID par l'identifiant de votre job de migration.
-
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.
É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.
Pour savoir comment gérer les tâches de migration dans la console Google Cloud , consultez Gérer les tâches de migration.
Pour savoir comment gérer les jobs de migration avec Google Cloud CLI, consultez la documentation de référence
gcloud database-migration migration-jobs
.
É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.