Instructions et exigences de configuration de l'atelier
Protégez votre compte et votre progression. Utilisez toujours une fenêtre de navigation privée et les identifiants de l'atelier pour exécuter cet atelier.

Migrer vers Cloud SQL pour PostgreSQL à l'aide de Database Migration Service

Atelier 1 heure 10 minutes universal_currency_alt 1 crédit show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Ce contenu n'est pas encore optimisé pour les appareils mobiles.
Pour une expérience optimale, veuillez accéder à notre site sur un ordinateur de bureau en utilisant un lien envoyé par e-mail.

GSP918

Logo des ateliers d'auto-formation Google Cloud

Présentation

Database Migration Service permet de créer des jobs ponctuels ou continus pour migrer des données vers Cloud SQL. Il propose différentes méthodes de connectivité, telles que les listes d'autorisation d'adresses IP, les tunnels SSH inversés, l'appairage de VPC et les interfaces Private Service Connect. Pour en savoir plus sur les options de connectivité, consultez le guide Configurer la connectivité.

Cet atelier se concentre sur la migration d'une base de données PostgreSQL autonome, hébergée sur une machine virtuelle, vers Cloud SQL pour PostgreSQL. La migration est effectuée à l'aide d'un job continu dans Database Migration Service et utilise l'appairage de VPC pour établir la connectivité.

L'utilisation de Database Migration Service nécessite plusieurs étapes préparatoires sur la base de données source :

  • Créer un utilisateur dédié : cet utilisateur doit disposer de droits de réplication.
  • Ajouter l'extension pglogical : cette extension doit être installée sur la base de données source.
  • Accorder les droits nécessaires : l'utilisateur dédié doit disposer de droits sur les schémas et les tables de la base de données désignée pour la migration, ainsi que sur la base de données PostgreSQL.

Une fois la configuration terminée, vous pouvez créer et exécuter le job de migration. Le processus de migration implique les opérations suivantes :

  • Copie initiale : vérifiez que la copie initiale de la base de données a bien été transférée vers votre instance Cloud SQL.
  • Migration continue : découvrez comment les jobs de migration continus appliquent les mises à jour de données en temps réel de la source à l'instance Cloud SQL.
  • Promotion : terminez le job en promouvant l'instance Cloud SQL pour qu'elle fonctionne comme une base de données autonome, prête pour les opérations de lecture et d'écriture.

Objectifs de l'atelier

  • Préparer la migration de la base de données source
  • Créer un profil de connexion source à une instance PostgreSQL (par exemple, PostgreSQL autonome)
  • Configurer la connectivité entre les instances de base de données source et de destination à l'aide de l'appairage de VPC
  • Configurer des règles de pare-feu et d'accès aux bases de données pour permettre l'accès à la base de données source pour la migration
  • Créer, exécuter et vérifier un job de migration continu à l'aide de Database Migration Service
  • Promouvoir l'instance de destination (Cloud SQL pour PostgreSQL) pour en faire une base de données autonome dédiée à la lecture et à l'écriture de données

Préparation

Avant de cliquer sur le bouton "Démarrer l'atelier"

Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.

Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.

Pour réaliser cet atelier :

  • Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :

    • Le bouton "Ouvrir la console Google Cloud"
    • Le temps restant
    • Les identifiants temporaires que vous devez utiliser pour cet atelier
    • Des informations complémentaires vous permettant d'effectuer l'atelier
  2. Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).

    L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.

    Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.

    Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
  3. Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.

    {{{user_0.username | "Username"}}}

    Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".

  4. Cliquez sur Suivant.

  5. Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.

    {{{user_0.password | "Password"}}}

    Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".

  6. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  7. Accédez aux pages suivantes :

    • Acceptez les conditions d'utilisation.
    • N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
    • Ne vous inscrivez pas à des essais sans frais.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche. Icône du menu de navigation et champ de recherche

Activer Cloud Shell

Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.

  1. Cliquez sur Activer Cloud Shell Icône Activer Cloud Shell en haut de la console Google Cloud.

  2. Passez les fenêtres suivantes :

    • Accédez à la fenêtre d'informations de Cloud Shell.
    • Autorisez Cloud Shell à utiliser vos identifiants pour effectuer des appels d'API Google Cloud.

Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET : . Le résultat contient une ligne qui déclare l'ID_PROJET pour cette session :

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.

  1. (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
  1. Cliquez sur Autoriser.

Résultat :

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project

Résultat :

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Remarque : Pour consulter la documentation complète sur gcloud, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.

Vérifier que l'API Database Migration est activée

Vous devez activer l'API Database Migration pour gérer le transfert des données de base de données par l'intermédiaire de Database Migration Service.

  1. Dans la barre de titre de la console Google Cloud, saisissez API Database Migration dans le champ Rechercher, puis cliquez sur API Database Migration dans les résultats.

Le bouton Gérer est visible lorsque l'API est activée.

  1. Si le bouton Activer s'affiche, cliquez dessus pour activer l'API.

Vérifier que l'API Service Networking est activée

Vous devez activer l'API Service Networking pour configurer Cloud SQL afin qu'il accepte l'appairage et les connexions VPC sur une adresse IP privée.

  1. Dans la barre de titre de la console Cloud, saisissez API Service Networking dans le champ Rechercher, puis cliquez sur API Service Networking dans les résultats de recherche.

Le bouton Gérer est visible lorsque l'API est activée.

  1. Si le bouton Activer s'affiche, cliquez dessus pour activer l'API.

Tâche 1 : Préparer la migration de la base de données source

Pour préparer la base de données source en vue de la migration à l'aide de Database Migration Service, vous devez mettre à niveau la base de données avec l'extension pglogical, puis créer l'utilisateur dédié à la migration de la base de données.

Pour mettre à niveau la base de données avec l'extension pglogical, vous devez :

  • installer et configurer l'extension de base de données pglogical ;
  • configurer la base de données PostgreSQL autonome pour la rendre accessible depuis Cloud Shell et Cloud SQL ;
  • ajouter l'extension de base de données pglogical aux bases de données postgres, orders et gmemegen_db sur le serveur autonome.

Pour créer l'utilisateur dédié à la migration de base de données, vous devez créer un utilisateur migration_admin (disposant des autorisations de réplication) pour la migration, puis lui accorder les autorisations nécessaires sur les schémas et les relations.

Ajouter l'extension pglogical à la base de données pour la mettre à niveau

Dans cette section, vous allez télécharger l'extension de base de données pglogical et l'ajouter aux bases de données "orders" et "postgres" sur l'instance de VM postgresql-vm.

  1. Dans la console Google Cloud, accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur Compute Engine > Instances de VM.

  2. Dans l'instance de VM postgresql-vm, cliquez sur SSH.

  3. Cliquez sur Autoriser si vous y êtes invité.

  4. Dans la nouvelle fenêtre de terminal, installez l'extension de base de données pglogical :

sudo apt install postgresql-14-pglogical Remarque : pglogical est un système de réplication logique intégralement implémenté en tant qu'extension PostgreSQL. Entièrement intégré, ce système ne nécessite ni déclencheurs ni programmes externes. Cette alternative à la réplication physique est une méthode particulièrement efficace de réplication de données utilisant un modèle publish/subscribe pour la réplication sélective.
  1. Téléchargez quelques éléments additionnels et appliquez-les aux fichiers de configuration PostgreSQL (afin d'activer l'extension pglogical), puis redémarrez le service postgresql :
sudo su - postgres -c "gsutil cp gs://spls/gsp918/pg_hba_append.conf ." sudo su - postgres -c "gsutil cp gs://spls/gsp918/postgresql_append.conf ." sudo su - postgres -c "cat pg_hba_append.conf >> /etc/postgresql/14/main/pg_hba.conf" sudo su - postgres -c "cat postgresql_append.conf >> /etc/postgresql/14/main/postgresql.conf" sudo systemctl restart postgresql@14-main

Dans pg_hba.conf, ces fichiers ajoutent une règle autorisant l'accès à tous les hôtes :

#GSP918 - allow access to all hosts host all all 0.0.0.0/0 md5

Dans postgresql.conf, ces commandes définissent la configuration minimale permettant à pglogical d'écouter toutes les adresses :

#GSP918 - added configuration for pglogical database extension wal_level = logical # minimal, replica, or logical max_worker_processes = 10 # one per database needed on provider node # one per node needed on subscriber node max_replication_slots = 10 # one per node needed on provider node max_wal_senders = 10 # one per node needed on provider node shared_preload_libraries = 'pglogical' max_wal_size = 1GB min_wal_size = 80MB listen_addresses = '*' # what IP address(es) to listen on, '*' is all

Les extraits de code ci-dessus ont été ajoutés aux fichiers adéquats, puis le service PostgreSQL a redémarré.

  1. Lancez l'outil psql :
sudo su - postgres psql
  1. Ajoutez l'extension de base de données pglogical aux bases de données postgres, orders et gmemegen_db :
\c postgres; CREATE EXTENSION pglogical; \c orders; CREATE EXTENSION pglogical; \c gmemegen_db; CREATE EXTENSION pglogical;
  1. Listez les bases de données PostgreSQL sur le serveur :
\l

La sortie ci-dessous liste les bases de données postgresql par défaut, ainsi que les bases de données orders et gmemegen_db fournies pour cet atelier. Vous n'utiliserez pas la base de données gmemegen_db dans cet atelier.

List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -------------+----------+----------+---------+---------+----------------------- gmemegen_db | postgres | UTF8 | C.UTF-8 | C.UTF-8 | orders | postgres | UTF8 | C.UTF-8 | C.UTF-8 | postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (5 rows)

Créer l'utilisateur dédié à la migration de la base de données

Dans cette section, vous allez créer un utilisateur dédié à la gestion de la migration de la base de données.

  • Dans psql, saisissez les commandes ci-dessous pour créer un utilisateur disposant du rôle "réplication" :
CREATE USER migration_admin PASSWORD 'DMS_1s_cool!'; ALTER DATABASE orders OWNER TO migration_admin; ALTER ROLE migration_admin WITH REPLICATION;

Attribuer les autorisations nécessaires à l'utilisateur dédié à la migration

Dans cette section, vous allez attribuer les autorisations nécessaires à l'utilisateur migration_admin pour permettre à Database Migration Service de faire migrer la base de données.

  1. Dans psql, accordez-lui les autorisations liées au schéma et aux tables pglogical pour la base de données postgres :
\c postgres; GRANT USAGE ON SCHEMA pglogical TO migration_admin; GRANT ALL ON SCHEMA pglogical TO migration_admin; GRANT SELECT ON pglogical.tables TO migration_admin; GRANT SELECT ON pglogical.depend TO migration_admin; GRANT SELECT ON pglogical.local_node TO migration_admin; GRANT SELECT ON pglogical.local_sync_status TO migration_admin; GRANT SELECT ON pglogical.node TO migration_admin; GRANT SELECT ON pglogical.node_interface TO migration_admin; GRANT SELECT ON pglogical.queue TO migration_admin; GRANT SELECT ON pglogical.replication_set TO migration_admin; GRANT SELECT ON pglogical.replication_set_seq TO migration_admin; GRANT SELECT ON pglogical.replication_set_table TO migration_admin; GRANT SELECT ON pglogical.sequence_state TO migration_admin; GRANT SELECT ON pglogical.subscription TO migration_admin;
  1. Accordez les autorisations liées au schéma et aux tables pglogical pour la base de données orders :
\c orders; GRANT USAGE ON SCHEMA pglogical TO migration_admin; GRANT ALL ON SCHEMA pglogical TO migration_admin; GRANT SELECT ON pglogical.tables TO migration_admin; GRANT SELECT ON pglogical.depend TO migration_admin; GRANT SELECT ON pglogical.local_node TO migration_admin; GRANT SELECT ON pglogical.local_sync_status TO migration_admin; GRANT SELECT ON pglogical.node TO migration_admin; GRANT SELECT ON pglogical.node_interface TO migration_admin; GRANT SELECT ON pglogical.queue TO migration_admin; GRANT SELECT ON pglogical.replication_set TO migration_admin; GRANT SELECT ON pglogical.replication_set_seq TO migration_admin; GRANT SELECT ON pglogical.replication_set_table TO migration_admin; GRANT SELECT ON pglogical.sequence_state TO migration_admin; GRANT SELECT ON pglogical.subscription TO migration_admin;
  1. Accordez les autorisations liées au schéma et aux tables public pour la base de données orders :
GRANT USAGE ON SCHEMA public TO migration_admin; GRANT ALL ON SCHEMA public TO migration_admin; GRANT SELECT ON public.distribution_centers TO migration_admin; GRANT SELECT ON public.inventory_items TO migration_admin; GRANT SELECT ON public.order_items TO migration_admin; GRANT SELECT ON public.products TO migration_admin; GRANT SELECT ON public.users TO migration_admin;
  1. Accordez les autorisations liées au schéma et aux tables pglogical pour la base de données gmemegen_db :
\c gmemegen_db; GRANT USAGE ON SCHEMA pglogical TO migration_admin; GRANT ALL ON SCHEMA pglogical TO migration_admin; GRANT SELECT ON pglogical.tables TO migration_admin; GRANT SELECT ON pglogical.depend TO migration_admin; GRANT SELECT ON pglogical.local_node TO migration_admin; GRANT SELECT ON pglogical.local_sync_status TO migration_admin; GRANT SELECT ON pglogical.node TO migration_admin; GRANT SELECT ON pglogical.node_interface TO migration_admin; GRANT SELECT ON pglogical.queue TO migration_admin; GRANT SELECT ON pglogical.replication_set TO migration_admin; GRANT SELECT ON pglogical.replication_set_seq TO migration_admin; GRANT SELECT ON pglogical.replication_set_table TO migration_admin; GRANT SELECT ON pglogical.sequence_state TO migration_admin; GRANT SELECT ON pglogical.subscription TO migration_admin;
  1. Accordez les autorisations liées aux schémas et aux tables public pour la base de données gmemegen_db :
GRANT USAGE ON SCHEMA public TO migration_admin; GRANT ALL ON SCHEMA public TO migration_admin; GRANT SELECT ON public.meme TO migration_admin;

Les bases de données sources sont maintenant prêtes pour la migration. Database Migration Service n'a besoin de rien d'autre que les autorisations que vous avez accordées à l'utilisateur migration_admin pour faire migrer les bases de données postgres, orders et gmemegen_db.

Accordez à l'utilisateur migration_admin le rôle de propriétaire des tables de la base de données orders, afin de pouvoir modifier les données sources par la suite, lorsque vous testerez la migration.

  1. Exécutez les commandes suivantes :
\c orders; \dt ALTER TABLE public.distribution_centers OWNER TO migration_admin; ALTER TABLE public.inventory_items OWNER TO migration_admin; ALTER TABLE public.order_items OWNER TO migration_admin; ALTER TABLE public.products OWNER TO migration_admin; ALTER TABLE public.users OWNER TO migration_admin; \dt

Résultat

List of relations Schema | Name | Type | Owner --------+----------------------+-------+------- public | distribution_centers | table | migration_admin public | inventory_items | table | migration_admin public | order_items | table | migration_admin public | products | table | migration_admin public | users | table | migration_admin (5 rows)
  1. Quittez psql et la session utilisateur postgres :
\q exit

Cliquez sur Vérifier ma progression pour valider l'objectif. Préparer la migration de l'instance source PostgreSQL

Tâche 2 : Créer un profil de connexion Database Migration Service pour une base de données PostgreSQL autonome

Dans cette tâche, vous allez créer un profil de connexion pour l'instance source PostgreSQL.

Récupérer les informations sur la connectivité de l'instance source PostgreSQL

Au cours de cette étape, vous allez identifier l'adresse IP interne de l'instance de base de données source que vous devez faire migrer vers Cloud SQL.

  1. Dans la console Google Cloud, accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur Compute Engine > Instances de VM.

  2. Dans la liste des instances, recherchez postgresql-vm.

  3. Copiez l'adresse IP interne (par exemple, 10.128.0.2) que vous utiliserez pour configurer un profil de connexion dans la section suivante.

Créer un profil de connexion pour l'instance source PostgreSQL

Un profil de connexion stocke des informations concernant l'instance de base de données source (par exemple, PostgreSQL autonome). Database Migration Service s'en sert pour migrer les données de la source vers l'instance de base de données Cloud SQL de destination. Une fois le profil de connexion créé, vous pouvez le réutiliser dans d'autres jobs de migration.

Lors de cette étape, vous allez créer un profil de connexion pour l'instance source PostgreSQL.

  1. Dans la console Google Cloud, accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur Afficher tous les produits. Dans la section Bases de données, cliquez sur Migration de bases de données > Profils de connexion.

  2. Cliquez sur Créer un profil.

  3. Spécifiez les champs suivants et conservez les valeurs par défaut des autres champs :

Champ Valeur
Rôle du profil Source
Moteur de la base de données PostgreSQL
Nom du profil de connexion postgres-vm
Région
Définir les configurations de connexion Définir
Nom d'hôte ou adresse IP L'adresse IP interne de l'instance source PostgreSQL, que vous avez copiée lors de la tâche précédente (par exemple, 10.128.0.2)
Port 5432
Nom d'utilisateur migration_admin
Mot de passe DMS_1s_cool!
  1. Cliquez sur Enregistrer.

  2. Cliquez sur Créer.

Un nouveau profil de connexion nommé postgres-vm apparaît dans la liste "Profils de connexion".

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer un profil de connexion pour l'instance source PostgreSQL

Tâche 3 : Créer et démarrer un job de migration continu

Pour créer un job de migration, vous devez d'abord spécifier l'instance de base de données source à l'aide d'un profil de connexion existant. Ensuite, vous devez établir l'instance de base de données de destination et configurer la connectivité nécessaire entre l'instance source et celle de destination.

Dans cette tâche, vous allez créer une instance de base de données Cloud SQL pour PostgreSQL à l'aide de l'interface du job de migration, puis la définir en tant que destination du job de migration continu depuis l'instance source PostgreSQL.

Créer un job de migration continu

À cette étape, vous allez créer un job de migration continu.

  1. Dans la console, accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur Afficher tous les produits. Dans la section Bases de données, cliquez sur Migration de bases de données > Jobs de migration.

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

  3. Spécifiez les champs suivants et conservez les valeurs par défaut des autres champs :

Champ Valeur
Nom de la tâche de migration vm-to-cloudsql
Moteur de base de données source PostgreSQL
Moteur de base de données de destination Cloud SQL pour PostgreSQL
Région de destination
Type de job de migration Continu
  1. Cliquez sur Enregistrer et continuer.

Définir l'instance source

Au cours de cette étape, vous allez définir l'instance source de la migration.

  1. Pour le Profil de connexion source, sélectionnez postgres-vm.

Conservez les valeurs par défaut des autres paramètres.

  1. Cliquez sur Enregistrer et continuer.

Définir l'instance de destination

Au cours de cette étape, vous allez créer l'instance de destination de la migration.

  1. Dans Type d'instance de destination, sélectionnez Instance existante.

  2. Dans Sélectionner une instance de destination, sélectionnez postgresql-cloudsql.

  3. Cliquez sur Sélectionner et continuer.

  4. Si vous êtes invité à confirmer l'opération, saisissez le nom de l'instance postgresql-cloudsql.

  5. Cliquez sur Confirmer et continuer.

Remarque : Ignorez l'avertissement. Votre instance de destination sera rétrogradée et convertie en instance répliquée pour votre base de données source.

Définir la méthode de connectivité

Au cours de cette étape, vous allez définir la méthode de connectivité employée pour la migration.

Le message indique que le bouton "Configurer et continuer" sera activé une fois que l'instance Cloud SQL de destination aura été créée.

  1. Comme Méthode de connectivité, sélectionnez Appairage de VPC.

  2. Pour VPC, sélectionnez par défaut.

Database Migration Service configure l'appairage de VPC à l'aide des informations fournies pour le réseau VPC (le réseau par défaut dans cet exemple).

Lorsque vous voyez s'afficher le message vous informant que l'instance de destination a été créée, passez à l'étape suivante.

Le message mis à jour vous informe que l'instance Cloud SQL de destination a été créée.

  1. Cliquez sur Configurer et continuer.

Configurer des bases de données de migration

Au cours de cette étape, vous allez définir l'instance source de la migration.

  1. Pour Bases de données à migrer, sélectionnez Toutes les bases de données.

  2. Cliquez sur Enregistrer et continuer.

Autoriser l'accès à l'instance postgresql-vm depuis la plage d'adresses IP automatiquement allouée

Dans cette étape, vous allez modifier le fichier de configuration PostgreSQL pg_hba.conf afin d'autoriser Database Migration Service à accéder à la base de données PostgreSQL autonome.

  1. Récupérez la plage d'adresses IP allouée. Dans la console, accédez au menu de navigation (Icône du menu de navigation), cliquez sur Réseau VPC, puis effectuez un clic droit sur Appairage de réseaux VPC et ouvrez cet élément dans un nouvel onglet.

  2. Cliquez sur l'entrée servicenetworking-googleapis-com, puis sur Vue "Routes effectives" en bas de l'écran.

  3. Dans le menu déroulant Réseau, sélectionnez par défaut, puis sélectionnez dans le menu déroulant Région. Cliquez sur Afficher.

  4. Dans la colonne Plage d'adresses IP de destination, notez la plage d'adresses IP à côté de la route peering-route-xxxxx... (par exemple, 10.107.176.0/24). Vous l'utiliserez lors d'une prochaine étape.

  5. Dans la session de terminal sur l'instance de VM, modifiez le fichier pg_hba.conf comme suit :

sudo nano /etc/postgresql/14/main/pg_hba.conf
  1. Dans la dernière ligne du fichier :
#GSP918 - allow access to all hosts host all all 0.0.0.0/0 md5

Remplacez la plage "Toutes les adresses IP" (0.0.0.0/0) par la plage enregistrée à l'étape précédente.

#GSP918 - allow access to all hosts host all all 10.107.176.0/24 md5 Remarque : L'étape ci-dessus n'est pas nécessaire au fonctionnement de la migration, mais il est recommandé de renforcer la sécurité de la base de données source lors du processus de migration, ainsi qu'après la migration, car la base de données migrée devient alors la source de vérité.
  1. Appuyez sur CTRL+O, ENTRÉE, CTRL+X pour enregistrer le fichier et quitter l'éditeur nano.

  2. Redémarrez le service PostgreSQL afin d'appliquer les modifications. Dans la session de terminal de l'instance de VM :

sudo systemctl start postgresql@14-main

Tester et démarrer le job de migration continu

Lors de cette étape, vous allez tester et démarrer le job de migration continu.

  1. Dans l'onglet Database Migration Service que vous avez ouvert précédemment, vérifiez les détails du job de migration.

  2. Cliquez sur Tester le job.

  3. Si le test est concluant, cliquez sur Créer et démarrer un job.

  4. Si vous êtes invité à confirmer l'action, cliquez sur Créer et démarrer.

Vérifier l'état du job de migration continu

Au cours de cette étape, vous allez vous assurer que le job de migration continu est bien en cours d'exécution.

  1. Dans la console Google Cloud, accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur Migration de bases de données > Jobs de migration.

  2. Cliquez sur le job de migration vm-to-cloudsql pour afficher la page des détails.

  3. Vérifiez l'état du job de migration.

    • Si vous ne l'avez pas lancé, le job sera à l'état Non démarré. Vous avez la possibilité de démarrer ou de supprimer le job.
    • Une fois le job démarré, son état passe à Démarrage…. L'état passe ensuite à En cours d'exécution | Vidage complet en cours pour indiquer que le vidage initial de la base de données est en cours.
    • Quand le vidage initial de la base de données est terminé, l'état passe à En cours d'exécution | CDC en cours pour indiquer que la migration continue est active.

Lorsque l'état du job passe à En cours d'exécution | CDC en cours, passez à la tâche suivante.

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer, démarrer et vérifier un job de migration continu

Tâche 4 : Vérifier les données présentes dans Cloud SQL pour PostgreSQL

Vérifier les bases de données PostgreSQL dans Cloud SQL

  1. Dans la console Google Cloud, accédez au Menu de navigation (Icône du menu de navigation), puis cliquez sur SQL.

  2. Développez l'ID d'instance postgresql-cloudsql-master.

  3. Cliquez sur l'instance postgresql-cloudsql (instance répliquée PostgreSQL avec accès en lecture).

  4. Dans le menu Instance répliquée, cliquez sur Bases de données.

Vous pouvez constater que les bases de données nommées postgres, orders et gmemegen_db ont été migrées vers Cloud SQL.

Se connecter à l'instance PostgreSQL

  1. Dans le menu Instance répliquée, cliquez sur Aperçu.

  2. Faites défiler la page jusqu'à la section Se connecter à cette instance et cliquez sur Ouvrir Cloud Shell.

La commande de connexion à PostgreSQL est préremplie dans Cloud Shell :

gcloud sql connect postgresql-cloudsql --user=postgres --quiet
  1. Exécutez la commande préremplie.

  2. Si vous y êtes invité, cliquez sur Autoriser pour l'API.

  3. Lorsque vous êtes invité à entrer un mot de passe, que vous avez défini précédemment, saisissez :

supersecret!

Vous avez maintenant activé la console interactive PostgreSQL pour l'instance de destination.

Vérifier les données dans l'instance Cloud SQL pour PostgreSQL

  1. Pour sélectionner la base de données dans la console interactive PostgreSQL, exécutez la commande suivante :
\c orders;
  1. Lorsque vous êtes invité à entrer un mot de passe, saisissez ceci :
supersecret!
  1. Interrogez la table distribution_centers :
select * from distribution_centers;

(Résultat)

longitude | latitude | name | id -----------+----------+---------------------------------------------+---- -89.9711 | 35.1174 | Memphis TN | 1 -87.6847 | 41.8369 | Chicago IL | 2 -95.3698 | 29.7604 | Houston TX | 3 -118.25 | 34.05 | Los Angeles CA | 4 -90.0667 | 29.95 | New Orleans LA | 5 -73.7834 | 40.634 | Port Authority of New York/New Jersey NY/NJ | 6 -75.1667 | 39.95 | Philadelphia PA | 7 -88.0431 | 30.6944 | Mobile AL | 8 -79.9333 | 32.7833 | Charleston SC | 9 -81.1167 | 32.0167 | Savannah GA | 10
  1. Pour quitter la console interactive PostgreSQL, saisissez :
\q

Mettre à jour les données de la source autonome pour tester la migration continue

  1. Dans Cloud Shell, saisissez les commandes suivantes pour établir la connexion avec l'instance PostgreSQL source :
export VM_NAME=postgresql-vm export PROJECT_ID=$(gcloud config list --format 'value(core.project)') export POSTGRESQL_IP=$(gcloud compute instances describe ${VM_NAME} \ --zone={{{ project_0.default_zone|(zone) }}} --format="value(networkInterfaces[0].accessConfigs[0].natIP)") echo $POSTGRESQL_IP psql -h $POSTGRESQL_IP -p 5432 -d orders -U migration_admin Remarque : La méthode ci-dessus est un autre moyen d'accéder à la base de données autonome sur l'instance de VM.
  1. Lorsque vous êtes invité à entrer un mot de passe, saisissez ceci :
DMS_1s_cool!
  1. Dans psql, saisissez les commandes suivantes :
\c orders; insert into distribution_centers values(-80.1918,25.7617,'Miami FL',11);
  1. Fermez la session psql interactive :
\q

Se connecter à la base de données Cloud SQL pour PostgreSQL pour vérifier que les données mises à jour ont bien été migrées

  1. Dans Cloud Shell, saisissez les commandes suivantes pour établir la connexion avec l'instance Cloud SQL pour PostgreSQL de destination :
gcloud sql connect postgresql-cloudsql --user=postgres --quiet
  1. Lorsque vous êtes invité à entrer un mot de passe, que vous avez défini précédemment, saisissez le mot de passe de l'instance Cloud SQL :
supersecret!

Vous avez maintenant activé la console interactive PostgreSQL pour l'instance de destination.

Vérifier les données dans la base de données Cloud SQL pour PostgreSQL

  1. Dans Cloud Shell, sélectionnez la base de données active dans la console interactive PostgreSQL :
\c orders;
  1. Lorsque vous êtes invité à entrer un mot de passe, que vous avez défini précédemment, saisissez :
supersecret!
  1. Interrogez la table distribution_centers :
select * from distribution_centers;

(Résultat)

longitude | latitude | name | id -----------+----------+---------------------------------------------+---- -89.9711 | 35.1174 | Memphis TN | 1 -87.6847 | 41.8369 | Chicago IL | 2 -95.3698 | 29.7604 | Houston TX | 3 -118.25 | 34.05 | Los Angeles CA | 4 -90.0667 | 29.95 | New Orleans LA | 5 -73.7834 | 40.634 | Port Authority of New York/New Jersey NY/NJ | 6 -75.1667 | 39.95 | Philadelphia PA | 7 -88.0431 | 30.6944 | Mobile AL | 8 -79.9333 | 32.7833 | Charleston SC | 9 -81.1167 | 32.0167 | Savannah GA | 10 -80.1918 | 25.7617 | Miami FL | 11

Vous pouvez constater que la nouvelle ligne ajoutée à la base de données autonome orders est désormais présente dans la base de données migrée.

  1. Quittez la console interactive PostgreSQL :
\q

Cliquez sur Vérifier ma progression pour valider l'objectif. Tester la migration continue des données de la source vers la destination

Tâche 5 : Promouvoir Cloud SQL pour en faire une instance autonome dédiée à la lecture et à l'écriture de données

  1. Dans la console Google Cloud, accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur Afficher tous les produits. Dans la section Bases de données, cliquez sur Migration de bases de données > Jobs de migration.

  2. Cliquez sur le job de migration nommé vm-to-cloudsql pour afficher la page des détails.

  3. Cliquez sur Promouvoir.

  4. Si vous êtes invité à confirmer cette action, cliquez sur Promouvoir.

Une fois la promotion terminée, l'état du job passera à Terminé.

  1. Dans la console Google Cloud, accédez au menu de navigation (Icône du menu de navigation), puis cliquez sur Afficher tous les produits. Dans la section Bases de données, cliquez sur SQL.

Vous pouvez constater que postgresql-cloudsql est maintenant une instance autonome dédiée à la lecture et à l'écriture de données.

Cliquez sur Vérifier ma progression pour valider l'objectif. Promouvoir la base de données Cloud SQL pour PostgreSQL pour en faire une instance autonome dédiée à la lecture et à l'écriture de données

Félicitations !

Vous avez configuré un job Database Migration Service continu pour migrer des bases de données d'une instance PostgreSQL vers Cloud SQL pour PostgreSQL.

Étapes suivantes et informations supplémentaires

Pour en savoir plus sur la migration de données, les bases de données Cloud SQL et Database Migration Service :

Formations et certifications Google Cloud

Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.

Dernière mise à jour du manuel : 10 décembre 2025

Dernier test de l'atelier : 10 décembre 2025

Copyright 2026 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.

Avant de commencer

  1. Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
  2. Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
  3. En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.

Utilisez la navigation privée

  1. Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
  2. Cliquez sur Ouvrir la console en navigation privée

Connectez-vous à la console

  1. Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
  2. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
  3. Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.

Ce contenu n'est pas disponible pour le moment

Nous vous préviendrons par e-mail lorsqu'il sera disponible

Parfait !

Nous vous contacterons par e-mail s'il devient disponible

Un atelier à la fois

Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci

Utilisez la navigation privée pour effectuer l'atelier

Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.