Cette page explique comment migrer vos bases de données vers une instance Cloud SQL préexistante créée directement dans Cloud SQL.
Cette approche est utile dans les cas où votre instance de destination est gérée par une autre équipe ou si vous devez créer l'instance en dehors de Database Migration Service (par exemple, si vous utilisez Terraform). Si votre migration présente des exigences différentes, envisagez de suivre un autre flux de migration. Pour en savoir plus, consultez Premiers pas avec les migrations MySQL.
De manière générale, la migration comprend les étapes suivantes :
- Configurez la base de données source pour autoriser Database Migration Service à déplacer vos données vers les nouvelles bases de données.
- Configurez la connectivité réseau à votre instance MySQL source.
- Créez le profil de connexion et le job de migration.
- Démarrez et surveillez le job de migration.
- Promouvez le job de migration et migrez votre application pour qu'elle utilise les nouvelles bases de données.
Coûts
Dans ce document, vous utilisez les composants facturables suivants de Google Cloud
- Cloud SQL (consultez Tarifs Cloud SQL)
- Si vous l'utilisez pour stocker des clés de chiffrement gérées par le client (CMEK) : Cloud Storage (consultez Tarifs Cloud Storage)
Obtenez une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.
Avant de commencer
- Vérifiez si cette approche de migration est entièrement compatible avec votre scénario.
Consultez les pages suivantes :
- Sources et destinations compatibles sur la page Présentation du scénario qui liste toutes les versions source et de destination compatibles.
- Limites connues qui décrit les types de données, les tailles de base de données et autres limites compatibles.
- Pour les migrations ponctuelles : tenez compte du calendrier de votre migration. Les migrations ponctuelles n'effectuent qu'une opération de vidage et de chargement complète sans capture ultérieure des données modifiées. Nous vous recommandons de désactiver les écritures dans votre base de données source pour le processus de migration afin d'éviter toute perte de données.
- Déterminez la région dans laquelle vous souhaitez créer la base de données de destination. Database Migration Service est un produit entièrement régional, ce qui signifie que toutes les entités liées à votre migration (profils de connexion source et de destination, jobs de migration, bases de données de destination, espaces de travail de conversion) doivent être enregistrées dans une seule région.
- Dans la Google Cloud console, sur la page de sélection du projet, sélectionnez ou créez un Google Cloud projet.
- Activez les API Database Migration Service et Cloud SQL Admin.
Rôles requis
Pour obtenir les autorisations nécessaires pour effectuer des migrations MySQL homogènes avec Database Migration Service, demandez à votre administrateur de vous accorder les rôles IAM requis sur votre projet :
-
Administrateur de migration de bases de données (
roles/datamigration.admin) - Si vous devez créer l'instance de destination en dehors de Database Migration Service, vous avez également
besoin
de Cloud SQL Admin (
roles/cloudsql.admin)
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès dans la documentation sur Identity and Access Management.
Ces rôles prédéfinis contiennent les autorisations requises pour effectuer des migrations MySQL homogènes avec Database Migration Service. Pour afficher les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour effectuer des migrations MySQL migrations homogènes avec Database Migration Service :
datamigration.*cloudsql.instances.createcloudsql.instances.getcloudsql.instances.listcloudsql.instances.updatecloudsql.instances.deletecloudsql.operations.getcloudsql.users.listcloudsql.users.getcloudsql.users.createcloudsql.users.updatecloudsql.users.delete
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Préparer votre base de données source
Pour préparer vos données source à la migration, procédez comme suit :
- Déterminez si vous souhaitez fournir vos propres fichiers de dump ou si vous préférez que Database Migration Service
effectue automatiquement le dump complet :
- Vidage automatique (par défaut) : Database Migration Service se connecte à votre base de données source et effectue automatiquement le vidage initial du schéma et des données au démarrage du job de migration. Vous n'avez rien à préparer avant de commencer la migration.
- Vidage manuel : vous pouvez générer vos propres fichiers de dump et les importer dans un bucket Cloud Storage. Cette approche peut être utile
si vous souhaitez réduire la charge initiale sur votre instance principale et effectuer
le vidage complet à partir d'une instance répliquée, exécuter le vidage pendant un
intervalle de maintenance spécifique ou transmettre des indicateurs d'exportation personnalisés. Consultez
Exporter une base de données MySQL avec
mysqldump.
- Choisissez et configurez votre méthode de connectivité réseau source.
- Configurez votre instance de base de données source.
- Pour les migrations continues, consultez Configurer la base de données source pour les migrations continues.
- Pour les migrations ponctuelles, consultez Configurer la base de données source pour les migrations ponctuelles.
- Créez un profil de connexion source.
Créer et configurer votre instance de destination
Dans certains cas, vous pouvez créer votre instance de destination directement dans Cloud SQL pour profiter de toutes les options de configuration disponibles.
Si vous souhaitez créer la destination directement dans Cloud SQL, réfléchissez attentivement au type de réseau de votre machine de destination :
- Si vous souhaitez utiliser la connectivité des interfaces Private Service Connect, créez l'instance de destination en tant qu'instance compatible avec PSC. Consultez Créer une instance compatible avec PSC.
- Si vous souhaitez utiliser la connectivité d'appairage de cloud privé virtuel, créez l'instance de destination en tant qu'instance PSA. Consultez Créer une instance de base de données.
- Si vous souhaitez utiliser la connectivité de liste d'autorisation d'adresse IP publique, créez l'instance de destination avec une adresse IP publique activée. Consultez Créer une instance de base de données.
Si vous disposez déjà d'une instance Cloud SQL de destination, vous pouvez passer à la section suivante.
Créer et exécuter le job de migration
Pour configurer et exécuter votre migration, procédez comme suit :
- Facultatif : si vous souhaitez gérer vos propres certificats pour le job de migration, préparez les clés de chiffrement nécessaires.
-
Créez et exécutez le job de migration.
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 du job de migration.
Finaliser la migration
Lorsque vous décidez de migrer votre application vers la nouvelle instance Cloud SQL pour MySQL, finalisez la migration en procédant comme suit :
Migrations continues
- Facultatif : configurez des instances répliquées en cascade avec accès en lecture. Si vous souhaitez utiliser des instances répliquées en cascade avec accès en lecture, vous pouvez les configurer lorsque le job de migration entre dans la phase CDC.
- Arrêtez toutes les opérations d'écriture dans votre base de données source. Vous pouvez les passer en mode lecture seule pour conserver les fonctionnalités opérationnelles.
- Promouvez le job de migration.
- Facultatif : vérifiez que les données de migration sont complètes.
Migrations ponctuelles
Lorsque Database Migration Service termine la phase de vidage complet, l'instance de destination est automatiquement promue en instance autonome. Pour finaliser la migration, procédez comme suit :
- Facultatif : vérifiez que les données de migration sont complètes.
- Migrez votre application pour qu'elle se connecte à la nouvelle instance Cloud SQL pour MySQL.
Étape suivante
Découvrez Google Cloud les fonctionnalités de Cloud SQL pour MySQL. Consultez Fonctionnalités de Cloud SQL pour MySQL.