Cette page explique comment migrer vos bases de données vers un cluster AlloyDB pour PostgreSQL préexistant créé directement dans AlloyDB pour PostgreSQL.
Cette approche est utile si votre cluster de destination est géré par une autre équipe, ou si vous devez créer le cluster en dehors de Database Migration Service pour configurer des options personnalisées spécifiques, des plages d'adresses IP préallouées ou des topologies de réseau VPC complexes. 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 de PostgreSQL vers AlloyDB pour PostgreSQL.
De manière générale, la migration continue suit les étapes suivantes :
- Configurez la base de données source pour permettre à Database Migration Service de répliquer vos données.
- Configurez la connectivité réseau entre votre base de données source et Google Cloud.
- Préparez et configurez votre cluster de destination AlloyDB pour PostgreSQL existant.
- Créez le profil de connexion source et le job de migration continu.
- Démarrez et surveillez le job de migration continu.
- Promouvez le job de migration et déplacez votre application pour utiliser les nouvelles bases de données.
Coûts
Dans ce document, vous utilisez les composants facturables suivants deGoogle Cloud :
- AlloyDB pour PostgreSQL (consultez les tarifs d'AlloyDB pour PostgreSQL).
- Si utilisé pour stocker des clés de chiffrement gérées par le client (CMEK) : Cloud Storage (voir les tarifs de 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 ce chemin de migration peut prendre entièrement en charge votre scénario.
Consultez les pages suivantes :
- Sources et destinations compatibles sur la page Présentation du scénario liste toutes les versions de sources et de destinations compatibles.
- Limites connues décrit les limites opérationnelles, les types de données compatibles et les limites de performances. Database Migration Service pour AlloyDB pour PostgreSQL est compatible avec les migrations continues.
- Réfléchissez à la région dans laquelle vous souhaitez créer le cluster 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, jobs de migration et clusters de destination) doivent résider dans une seule région Google Cloud .
- Dans la console Google Cloud , sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud .
- Activez les API Database Migration Service, AlloyDB pour PostgreSQL et Compute Engine.
Rôles requis
Pour obtenir les autorisations nécessaires pour effectuer des migrations PostgreSQL homogènes vers AlloyDB pour PostgreSQL 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) -
Administrateur AlloyDB (
roles/alloydb.admin)
Pour en savoir plus sur l'attribution de rôles, consultez Gérer les accès dans la documentation Identity and Access Management.
Ces rôles prédéfinis contiennent les autorisations requises pour effectuer des migrations PostgreSQL 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 PostgreSQL homogènes vers un cluster AlloyDB pour PostgreSQL existant avec Database Migration Service :
datamigration.*alloydb.clusters.getalloydb.clusters.listalloydb.clusters.updatealloydb.instances.getalloydb.instances.listalloydb.instances.updatealloydb.operations.getalloydb.users.listalloydb.users.getalloydb.users.createalloydb.users.update
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 votre base de données source à la migration, procédez comme suit :
- Choisissez et configurez votre méthode de connectivité réseau source.
- Configurez votre instance de base de données source. En règle générale, vous devez suivre les étapes ci-dessous :
- Installez l'extension PostgreSQL
pglogical(version 2.2.1 ou ultérieure) sur la base de données source et sur toutes les bases de données à migrer. - Configurez les paramètres PostgreSQL : définissez
wal_level = logicalet assurez-vous que les valeurs demax_replication_slots,max_wal_sendersetmax_worker_processessont adéquates. - Accordez des droits de réplication à votre utilisateur de migration et configurez
pg_hba.confpour autoriser les connexions entrantes depuis le cluster AlloyDB pour PostgreSQL de destination.
Pour obtenir des instructions détaillées, consultez Configurer votre base de données source.
- Installez l'extension PostgreSQL
- Créer le profil de connexion source.
Préparer et configurer votre cluster de destination
Lorsque vous migrez vers un cluster AlloyDB pour PostgreSQL existant (par exemple, un cluster préprovisionné par une autre équipe ou géré avec Terraform), assurez-vous que le cluster répond à toutes les conditions préalables de Database Migration Service avant de créer votre job de migration :
- Disponibilité du cluster et état des données :
- Le cluster de destination doit être à l'état
RUNNABLEet disposer d'une instance principale active. - Le cluster doit se trouver dans la même région Google Cloud que votre job de migration et vos profils de connexion.
- Le cluster ne peut être associé qu'à un seul job de migration actif à la fois.
- Le cluster de destination ne doit contenir que les bases de données système par défaut (
postgres,template0,template1) sans tables utilisateur.
- Le cluster de destination doit être à l'état
- Configuration de l'indicateur de base de données : activez l'indicateur
alloydb.enable_pglogicalsur votre cluster AlloyDB pour PostgreSQL de destination. Cette option est requise pour le décodage et l'ingestion de la réplication logique. Pour savoir comment mettre à jour des indicateurs de base de données, consultez Configurer des indicateurs de base de données dans la documentation AlloyDB pour PostgreSQL. - Identifiants et autorisations de l'utilisateur de la base de données : assurez-vous que le compte utilisateur avec accès administrateur
postgres(ou un compte de migration dédié auquel le rôlealloydbsuperusera été attribué) existe sur votre cluster de destination. Database Migration Service se connecte à votre destination avec des droits d'administrateur pour gérer les abonnés à la réplication et synchroniser les schémas. - Exigences de connectivité réseau : vérifiez que la mise en réseau de votre cluster de destination est correctement configurée pour communiquer avec votre base de données source en fonction de la méthode de connectivité choisie :
- Private Service Connect : si Private Service Connect est activé sur votre cluster de destination, vérifiez que le cluster est configuré avec les rattachements de réseau Private Service Connect et le routage appropriés pour atteindre votre réseau source. Pour en savoir plus, consultez Configurer Private Service Connect dans la documentation AlloyDB pour PostgreSQL.
- Appairage de cloud privé virtuel (accès aux services privés/adresse IP privée) : l'accès aux services privés doit être configuré sur le cluster de destination sur le réseau de cloud privé virtuel qui s'appaire ou est acheminé vers votre base de données source (par exemple, avec Cloud VPN ou Cloud Interconnect). Pour en savoir plus, consultez Configurer l'accès aux services privés dans la documentation AlloyDB pour PostgreSQL.
- Liste d'autorisation d'adresses IP publiques : si votre base de données source est accessible via l'Internet public, assurez-vous que votre pare-feu source autorise les connexions entrantes provenant de l'adresse IP sortante de l'instance principale AlloyDB pour PostgreSQL de destination.
- VM de tunnel SSH inversé ou de proxy TCP : si votre base de données source se trouve en dehors de Google Cloud sans appairage privé direct, assurez-vous que votre VM Compute Engine intermédiaire (hôte bastion ou proxy TCP) est déployée dans un sous-réseau accessible par le réseau cloud privé virtuel du cluster de destination. Pour en savoir plus, consultez Méthodes de mise en réseau.
- Avis de rétrogradation de l'instance principale et de verrouillage en écriture :
- Database Migration Service rétrograde l'instance principale de destination existante pour qu'elle fonctionne comme un abonné de réplication externe pendant le processus de migration. Vous devez confirmer cette rétrogradation lors de la configuration du job de migration dans la console Google Cloud en saisissant l'ID du cluster de destination.
- La rétrogradation de l'instance principale ne place pas les bases de données en mode lecture seule strict, mais vous devez éviter les opérations d'écriture sur les tables ou les bases de données participant à la migration pour éviter les conflits de réplication et la dérive des données. Pour en savoir plus, consultez Limites des migrations vers des clusters de destination existants.
Créer et exécuter le job de migration
Pour configurer et exécuter votre migration continue vers un cluster de destination existant, procédez comme suit :
- Facultatif : Si vous souhaitez gérer vos propres certificats ou clés de chiffrement pour le job de migration, préparez les clés de chiffrement nécessaires.
-
Créer et exécuter le job de migration pour un cluster de destination existant
Vous pouvez surveiller la progression de la migration, ainsi que l'état de votre cluster de destination, grâce aux fonctionnalités d'observabilité de Database Migration Service. Consultez Métriques des jobs de migration.
Finaliser la migration
Lorsque vous décidez de basculer le trafic de votre application vers le nouveau cluster AlloyDB pour PostgreSQL, finalisez la migration en procédant comme suit :
- Arrêtez toutes les opérations d'écriture sur votre base de données source. Vous pouvez configurer la base de données source en mode lecture seule pour maintenir la disponibilité des requêtes tout en empêchant de nouvelles modifications.
- Promouvoir le job de migration La promotion du job de migration synchronise toutes les transactions CDC restantes, met fin à la réplication depuis la source et promeut l'instance principale AlloyDB pour PostgreSQL en un cluster principal autonome et entièrement opérationnel.
- Facultatif : Vérifiez les données de migration pour vous assurer de leur exhaustivité et de l'intégrité des lignes.
Étapes suivantes
Découvrez les fonctionnalités et les capacités de gestion d'AlloyDB pour PostgreSQL. Consultez la présentation d'AlloyDB pour PostgreSQL.