Utiliser des migrations de démarrage rapide avec Database Migration Service

Pour simplifier les migrations PostgreSQL homogènes vers AlloyDB pour PostgreSQL, vous pouvez utiliser les migrations par démarrage rapide dans Database Migration Service afin de provisionner automatiquement la connectivité réseau, les profils de connexion et les jobs de réplication continue.

Présentation

Les migrations à démarrage rapide sont un flux de migration continu et léger pour les scénarios PostgreSQL homogènes. Avec les migrations à démarrage rapide, Database Migration Service peut configurer automatiquement tout ce dont vous avez besoin pour migrer vos bases de données : composants réseau (rattachements de réseau, sous-réseaux, configurations de connectivité privée), profils de connexion et jobs de migration.

Avec les migrations à démarrage rapide, vous pouvez déplacer vos données vers un cluster AlloyDB pour PostgreSQL existant ou en créer un lors de la configuration de la migration. Les migrations à démarrage rapide sont particulièrement adaptées aux cas suivants :

  • Migrations de base, pour lesquelles vous n'avez pas besoin d'un contrôle précis des paramètres de parallélisme du vidage des données.
  • Migrer votre base de données d'un projet Google Cloud vers un autre. Lorsque vous configurez une migration de démarrage rapide, vous pouvez créer votre cluster de destination dans un projet différent de votre source et configurer Database Migration Service pour créer le rattachement de réseau et le sous-réseau dans le réseau cloud privé virtuel (VPC) d'un autre projet.
  • Migrer à partir de sources disposant d'une adresse IP privée dans votre réseau Google Cloudde cloud privé virtuel (VPC), telles que des bases de données autogérées sur Compute Engine ou des instances Cloud SQL pour PostgreSQL activées pour la mise en réseau privée.

    Les sources hébergées en dehors de Google Cloud peuvent nécessiter des composants réseau supplémentaires (comme une connexion Cloud VPN) pour être accessibles à une adresse IP privée au sein de votre réseau VPC.

  • Une adresse IP privée doit être attribuée à la base de données source dans votre réseau VPC. Database Migration Service se connecte à la base de données source à l'aide d'interfaces Private Service Connect (rattachements de réseau). La connectivité IP publique n'est pas compatible avec les migrations à démarrage rapide.

Pour en savoir plus sur les migrations à démarrage rapide, consultez Migrations à démarrage rapide dans la documentation de Database Migration Service.

Avant de commencer

  1. Vérifiez si les migrations à démarrage rapide sont entièrement compatibles avec votre scénario. Consultez Limites de la migration par démarrage rapide dans la documentation de Database Migration Service.
  2. Connectez-vous à votre compte Google.

    Si vous n'en possédez pas déjà un, vous devez en créer un.

  3. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  4. Verify that billing is enabled for your Google Cloud project.

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Activez les API Database Migration Service, Compute Engine, Network Connectivity Center et AlloyDB pour PostgreSQL Admin.

    Activer les API

Rôles requis

Pour obtenir les autorisations nécessaires pour exécuter des migrations de démarrage rapide vers AlloyDB pour PostgreSQL avec Database Migration Service, demandez à votre administrateur d'accorder les rôles IAM (Identity and Access Management) requis pour les comptes impliqués dans la migration dans les projets concernés. Pour en savoir plus sur l'attribution de rôles, consultez Gérer les accès dans la documentation IAM.

Rôles et autorisations dans le projet source

Attribuez les rôles suivants à des comptes spécifiques sur le projet Google Cloud où réside votre base de données source :

  • Pour le compte utilisateur qui effectue la migration : Administrateur de réseaux Compute (roles/compute.networkAdmin)
  • Pour le compte de service Database Migration Service du projet de destination : Lecteur de réseau Compute (roles/compute.networkViewer)

    Le compte de service Database Migration Service est créé pour vous lorsque vous activez l'API Database Migration Service. L'adresse e-mail associée à ce compte est générée automatiquement et ne peut pas être modifiée. Cette adresse e-mail utilise le format suivant :

    service-DESTINATION_PROJECT_NUMBER@gcp-sa-datamigration.iam.gserviceaccount.com

Ces rôles prédéfinis contiennent les autorisations requises pour configurer la connectivité sur votre projet de base de données source dans le cadre d'une migration de démarrage rapide avec Database Migration Service. Pour afficher les autorisations exactes requises, développez la section Autorisations requises (source) :

Autorisations requises (source)

Les autorisations suivantes sont requises pour effectuer des migrations homogènes de démarrage rapide avec Database Migration Service :

Pour le compte utilisateur qui effectue la migration :

  • compute.networks.*
  • compute.subnetworks.*
  • compute.networkAttachments.*

Pour le compte de service Database Migration Service du projet de destination : compute.networkAttachments.get.

Rôles et autorisations dans le projet de destination

Attribuez les rôles suivants au compte utilisateur qui effectue la migration sur le projet Google Cloud où réside votre base de données de destination :

Ces rôles prédéfinis contiennent les autorisations requises pour configurer les composants de migration nécessaires sur votre projet de base de données de destination dans le cadre d'une migration rapide avec Database Migration Service. Pour afficher les autorisations exactes requises, développez la section Autorisations requises (destination) :

Autorisations requises (destination)

Les autorisations suivantes sont requises pour effectuer des migrations homogènes de démarrage rapide avec Database Migration Service :

  • datamigration.*
  • alloydb.clusters.create
  • alloydb.clusters.get
  • alloydb.clusters.list
  • alloydb.clusters.update
  • alloydb.clusters.delete
  • alloydb.instances.create
  • alloydb.instances.get
  • alloydb.instances.list
  • alloydb.instances.update
  • alloydb.instances.delete
  • alloydb.instances.executeSql
  • alloydb.operations.get
  • alloydb.users.list
  • alloydb.users.get
  • alloydb.users.create
  • alloydb.users.update
  • alloydb.users.delete

Configurer votre base de données source

Pour configurer votre base de données PostgreSQL source, procédez comme suit :

  1. Créez un compte utilisateur dédié à la migration dans votre instance.
    • Pour les sources Cloud SQL pour PostgreSQL, consultez Créer un utilisateur dans la documentation Cloud SQL.
    • Pour les autres sources, consultez la documentation de votre fournisseur de base de données ou créez et gérez des utilisateurs dans la documentation PostgreSQL.
  2. Attribuez les droits nécessaires au compte utilisateur dédié à la migration. Exécutez les commandes suivantes pour chaque base de données que vous souhaitez migrer :
    -- Grant the REPLICATION attribute
    ALTER ROLE MIGRATION_USER REPLICATION;
    
    -- Grant database-level permissions.
    -- Repeat for each database you want to migrate.
    GRANT CONNECT, CREATE ON DATABASE DATABASE_NAME TO MIGRATION_USER;
    
    -- Grant schema-level usage.
    -- Repeat for each schema in each database you want to migrate.
    GRANT USAGE ON SCHEMA SCHEMA_NAME TO MIGRATION_USER;

    Remplacez les éléments suivants :

    • MIGRATION_USER par le nom du compte utilisateur de migration.
    • DATABASE_NAME par le nom de la base de données que vous souhaitez migrer.
    • SCHEMA_NAME par le nom du schéma de la base de données que vous souhaitez migrer.
  3. Le compte utilisateur de migration doit disposer d'un accès propriétaire aux tables que vous migrez. Pour accorder ce niveau d'accès, effectuez l'une des opérations suivantes :
    • Pour les sources autres que Cloud SQL pour PostgreSQL uniquement : attribuez le rôle PostgreSQL SUPERUSER au compte de migration.
    • Pour toutes les sources : ajoutez le compte utilisateur de migration au groupe d'utilisateurs propriétaire des tables. Exécutez la commande suivante :
      -- Grant table ownership.
      GRANT TABLE_OWNER_GROUP_NAME TO MIGRATION_USER;

      Remplacez les éléments suivants :

      • TABLE_OWNER_GROUP_NAME par le nom du groupe d'utilisateurs propriétaire de chaque table que vous souhaitez migrer.
      • MIGRATION_USER par le nom du compte utilisateur de migration.
  4. Pour les tables sans clé primaire : par défaut, seules les opérations INSERT sont répliquées pour les tables sans clé primaire pendant la phase de capture de données modifiées (CDC). Pour répliquer les opérations UPDATE et DELETE, vous devez définir le paramètre REPLICA IDENTITY de la table sur FULL ou USING INDEX :
    ALTER TABLE TABLE_NAME REPLICA IDENTITY FULL;
    ALTER TABLE TABLE_NAME REPLICA IDENTITY USING INDEX INDEX_NAME;

    Remplacez les éléments suivants :

    • TABLE_NAME est le nom de la table qui ne comporte pas de clés primaires.
    • INDEX_NAME est l'index unique qui peut suivre les lignes des tables sans clé primaire.
  5. Configurez les paramètres de réplication à l'aide d'indicateurs de base de données.

    Sources autogérées

    L'enregistrement des modifications apportées aux indicateurs de base de données nécessite un redémarrage complet de la base de données. Les exemples suivants utilisent des requêtes SQL pour modifier les valeurs des options. Si vous ne pouvez pas exécuter de requêtes SQL directement, consultez la documentation de votre fournisseur pour savoir comment modifier ces options.

    1. Définissez le paramètre wal_level sur logical. Exécutez la commande suivante :
      ALTER SYSTEM SET wal_level = 'logical';
    2. Définissez le paramètre wal_sender_timeout sur 0. Cette valeur désactive le mécanisme de délai avant expiration utilisé pour interrompre les connexions de réplication inactives. Exécutez la commande suivante :
      ALTER SYSTEM SET wal_sender_timeout = 0;
          
    3. Configurez le nombre maximal d'emplacements de réplication avec le paramètre max_replication_slots. Ce paramètre doit être défini sur au moins le nombre de bases de données que vous migrez par job de migration, plus certaines réserves pour la synchronisation des tables.

      Par exemple, si vous migrez cinq bases de données et que deux jobs de migration sont créés pour l'instance source, le nombre d'emplacements de réplication doit être d'au moins 5 * 2 = 10, plus le nombre d'emplacements de réplication que vous utilisez déjà.

      Pour définir ce paramètre, exécutez la commande suivante :

      ALTER SYSTEM SET max_replication_slots = NUMBER_OF_SLOTS;
          
      Où NUMBER_OF_SLOTS représente le nombre maximal d'emplacements de réplication.
    4. Configurez le paramètre max_wal_senders sur une valeur au moins égale à celle de max_replication_slots, plus le nombre d'expéditeurs déjà utilisés sur votre instance.

      Par exemple, si le paramètre max_replication_slots est défini sur 10 et que vous utilisez déjà deux expéditeurs, le nombre de processus d'envoi WAL exécutés en même temps est de 10 + 2 = 12.

      Pour définir ce paramètre, exécutez la commande suivante :

      ALTER SYSTEM SET max_wal_senders = NUMBER_OF_SENDERS;
          
      Où NUMBER_OF_SENDERS représente le nombre de processus d'envoi WAL exécutés simultanément.
    5. Définissez max_worker_processes sur une valeur au moins égale au nombre de bases de données que vous souhaitez migrer, plus le nombre de max_worker_processes déjà utilisés sur votre instance. Pour définir ce paramètre, exécutez la commande suivante :
      ALTER SYSTEM SET max_worker_processes = NUMBER_OF_PROCESSES;
          
      Où NUMBER_OF_PROCESSES représente le nombre de bases de données qui seront migrées.

    Sources Cloud SQL pour PostgreSQL

    Pour les sources Cloud SQL, vous configurez les indicateurs de base de données dans la console Google Cloud . Vous devez redémarrer votre instance après avoir modifié les indicateurs de base de données pour que le paramètre soit pris en compte. Pour en savoir plus sur la définition d'indicateurs de base de données dans Cloud SQL, consultez Configurer des indicateurs de base de données dans la documentation Cloud SQL.

    1. Définissez le flag cloudsql.logical_decoding sur on.
    2. Définissez le paramètre wal_sender_timeout sur 0. Cette valeur désactive le mécanisme de délai avant expiration utilisé pour interrompre les connexions de réplication inactives.
    3. Configurez le nombre maximal d'emplacements de réplication avec le paramètre max_replication_slots. Ce paramètre doit être défini sur au moins le nombre de bases de données que vous migrez par job de migration, plus certaines réserves pour la synchronisation des tables.

      Par exemple, si vous migrez cinq bases de données et que deux jobs de migration sont créés pour l'instance source, le nombre d'emplacements de réplication doit être d'au moins 5 * 2 = 10, plus le nombre d'emplacements de réplication que vous utilisez déjà.

    4. Configurez le paramètre max_wal_senders sur une valeur au moins égale à celle de max_replication_slots, plus le nombre d'expéditeurs déjà utilisés sur votre instance.

      Par exemple, si le paramètre max_replication_slots est défini sur 10 et que vous utilisez déjà deux expéditeurs, le nombre de processus d'envoi WAL exécutés en même temps est de 10 + 2 = 12.

    5. Définissez le paramètre max_worker_processes sur une valeur au moins égale au nombre de bases de données que vous souhaitez migrer, plus le nombre de max_worker_processes déjà utilisés sur votre instance.

Créer et exécuter une migration automatisée

Lorsque vous utilisez des migrations de démarrage rapide, vous pouvez créer un cluster AlloyDB pour PostgreSQL et y migrer vos bases de données, ou migrer des bases de données vers un cluster existant.

Migrations à démarrage rapide pour les nouveaux clusters

Pour créer un cluster AlloyDB pour PostgreSQL et y migrer immédiatement vos bases de données, procédez comme suit :

Console

  1. Accédez à la page Clusters.

    Accéder à la page Clusters

  2. Cliquez sur Créer un cluster > À partir d'une base de données existante.

    Le formulaire de migration rapide de Database Migration Service s'ouvre.

  3. Dans la section Configurer la migration, procédez comme suit :
    1. Dans le menu Région de destination, sélectionnez la région de votre cluster AlloyDB pour PostgreSQL de destination.
    2. Dans le champ Préfixe de migration, saisissez une chaîne qui sera ajoutée aux noms de toutes les entités de migration créées pour la migration à démarrage rapide : profils de connexion, configuration de connectivité privée, rattachement de réseau et son sous-réseau, et job de migration.
    3. Dans le menu Type de configuration, sélectionnez l'une des options suivantes :
      1. Configuration de connectivité existante : sélectionnez cette option si vous disposez déjà d'un rattachement de réseau et d'une configuration de connectivité privée qui utilise la méthode des interfaces Private Service Connect. Cette option est idéale si vous avez déjà utilisé des migrations de démarrage rapide et que vous souhaitez réutiliser les mêmes ressources réseau.
      2. Nouvelle configuration de connectivité : sélectionnez cette option pour créer un rattachement de réseau et le sous-réseau de rattachement de réseau dans le réseau VPC de la base de données source. La configuration de connectivité privée sera créée dans le même projet que votre cluster de destination.
    4. Cliquez sur Continuer.
  4. Dans la section Connecter la source, procédez comme suit :
    1. Saisissez un nom d'hôte ou l'adresse IP privée de votre base de données source. L'adresse de la base de données source doit être accessible depuis votre réseau VPC source.
    2. Saisissez le port utilisé pour accéder à l'hôte. Le numéro de port PostgreSQL par défaut est 5432.
    3. Saisissez le nom d'utilisateur et le mot de passe du compte de migration dédié dans votre base de données source.
    4. Dans le menu Type de chiffrement, sélectionnez l'une des options suivantes :
      • Aucun : si votre base de données source ne nécessite pas de connexions chiffrées SSL/TLS.
      • Obligatoire : si votre base de données source nécessite des connexions chiffrées SSL/TLS. Cette option ne nécessite aucune validation de certificat.
    5. Dans le menu Bases de données à migrer, cliquez sur Personnaliser. Utilisez le panneau latéral pour ne sélectionner que les bases de données que vous souhaitez migrer vers AlloyDB pour PostgreSQL.
    6. Cliquez sur Continuer.
  5. Dans la section Configurer la destination, procédez comme suit :
    1. Dans le menu Type d'instance de destination, sélectionnez Nouveau cluster.

      Database Migration Service utilise la configuration AlloyDB pour PostgreSQL par défaut pour un nouveau cluster. Cliquez sur Personnaliser pour ajuster les fonctionnalités du cluster, telles que le type de machine, la disponibilité zonale ou les paramètres de protection des données. Pour en savoir plus sur la configuration des clusters, consultez Créer un cluster et son instance principale.

    2. Dans le champ Mot de passe, saisissez un mot de passe pour l'utilisateur administrateur postgresql par défaut. Database Migration Service se connecte en tant que cet utilisateur pour migrer vos données.
  6. Cliquez sur Lancer la migration.

    Database Migration Service crée le job de migration et lance le processus de migration. Vous pouvez surveiller la progression de la migration, ainsi que l'état de votre cluster de destination dans AlloyDB pour PostgreSQL. Pour en savoir plus, consultez Afficher les informations sur le cluster.

gcloud

Pour utiliser la gcloud CLI afin de migrer vers un nouveau cluster AlloyDB pour PostgreSQL, procédez comme suit :

  1. Créez la ressource de rattachement de réseau.
    Créez le rattachement de réseau dans le projet et le réseau cloud privé virtuel où se trouve votre base de données source :

    gcloud compute network-attachments create NETWORK_ATTACHMENT \
      --region=REGION \
      --connection-preference=ACCEPT_MANUAL \
      --producer-accept-list=DEST_PROJECT_ID \
      --subnets=default \
      --project=SOURCE_PROJECT_ID

    Remplacez les éléments suivants :

    • NETWORK_ATTACHMENT : nom du rattachement de réseau à créer.
    • REGION : région du rattachement de réseau.
    • DEST_PROJECT_ID : ID de votre projet de destination.
    • SOURCE_PROJECT_ID : ID du projet où réside le réseau source.
  2. Autorisez le projet locataire Database Migration Service à accéder au rattachement de réseau.
    Récupérez l'ID du projet locataire en exécutant une vérification de validation, puis mettez à jour la liste d'acceptation du rattachement de réseau pour l'inclure :

    1. Effectuez une vérification de validation pour récupérer l'ID du projet locataire :

      gcloud database-migration private-connections create PRIVATE_CONN \
        --region=REGION \
        --network-attachment=NETWORK_ATTACHMENT_URI \
        --display-name=PRIVATE_CONN \
        --format="value(metadata.metadata.tenant_project_id)" \
        --validate-only

      Remplacez les éléments suivants :

      • PRIVATE_CONN : nom de la ressource de connexion privée.
      • REGION : région de la connexion privée.
      • NETWORK_ATTACHMENT_URI : URI du rattachement de réseau créé à l'étape précédente. Exemple :projects/SOURCE_PROJECT_ID/regions/REGION/networkAttachments/NETWORK_ATTACHMENT
    2. Mettez à jour le rattachement de réseau avec le DMS_TENANT_ID récupéré :

      gcloud compute network-attachments update NETWORK_ATTACHMENT \
        --region=REGION \
        --producer-accept-list=DEST_PROJECT_ID,DMS_TENANT_ID \
        --project=SOURCE_PROJECT_ID

      Remplacez les éléments suivants :

      • NETWORK_ATTACHMENT : nom du rattachement de réseau.
      • REGION : région.
      • DEST_PROJECT_ID : ID de votre projet de destination.
      • DMS_TENANT_ID : ID du projet locataire Database Migration Service récupéré.
      • SOURCE_PROJECT_ID : ID du projet où réside le réseau source.
  3. Créez la configuration de connectivité privée.
    Créez la connexion privée dans le projet de destination :

    gcloud database-migration private-connections create PRIVATE_CONN \
      --region=REGION \
      --network-attachment=NETWORK_ATTACHMENT_URI \
      --display-name=PRIVATE_CONN

    Remplacez les éléments suivants :

    • PRIVATE_CONN : nom de la ressource de connexion privée.
    • REGION : région de la connexion privée.
    • NETWORK_ATTACHMENT_URI : URI du rattachement de réseau.
  4. Créez le profil de connexion source.
    Créez le profil de connexion pour la base de données PostgreSQL source :

    gcloud database-migration connection-profiles create postgresql SOURCE_CONN_ID \
      --region=REGION \
      --role=SOURCE \
      --host=SOURCE_PRIVATE_IP \
      --port=SOURCE_PORT \
      --username=SOURCE_USER \
      --password=SOURCE_PASSWORD \
      --private-connection=PRIVATE_CONN \
      --no-async

    Remplacez les éléments suivants :

    • SOURCE_CONN_ID : identifiant du profil de connexion source.
    • REGION : région dans laquelle vous souhaitez enregistrer le profil de connexion.
    • SOURCE_PRIVATE_IP : adresse IP privée de votre base de données source.
    • SOURCE_PORT : port de votre base de données source (la valeur par défaut est 5432).
    • SOURCE_USER : nom de l'utilisateur de migration sur votre base de données source.
    • SOURCE_PASSWORD : mot de passe de l'utilisateur de migration sur votre base de données source.
    • PRIVATE_CONN : nom de la ressource de connexion privée.
  5. Créez le cluster AlloyDB pour PostgreSQL de destination.
    Créez le cluster de destination et son instance principale. Pour obtenir des instructions détaillées, consultez la page Créer un cluster et son instance principale.

  6. Créez le profil de connexion de destination.
    Créez le profil de connexion de destination pointant vers le cluster AlloyDB pour PostgreSQL que vous venez de créer :

    gcloud database-migration connection-profiles create postgresql DEST_CONN_ID \
      --region=REGION \
      --alloydb-cluster=DEST_CLUSTER \
      --username=DEST_USER \
      --password=DEST_PASSWORD \
      --role=DESTINATION \
      --no-async

    Remplacez les éléments suivants :

    • DEST_CONN_ID : identifiant du profil de connexion de destination.
    • REGION : région dans laquelle vous souhaitez enregistrer le profil de connexion. Cette région doit être identique à celle de votre cluster de destination.
    • DEST_CLUSTER : ID ou chemin d'accès complet à la ressource de votre cluster AlloyDB pour PostgreSQL de destination.
    • DEST_USER : nom de l'utilisateur de migration sur votre base de données de destination.
    • DEST_PASSWORD : mot de passe de l'utilisateur de migration dans la base de données de destination.
  7. Créez le job de migration.
    Créez le job de migration continu avec la réplication native activée :

    gcloud database-migration migration-jobs create MIGRATION_JOB_ID \
      --region=REGION \
      --type=CONTINUOUS \
      --source=SOURCE_CONN_ID \
      --destination=DEST_CONN_ID \
      --use-postgres-native \
      --postgres-max-additional-subscriptions=10 \
      --databases-filter=DATABASES_LIST \
      --no-async

    Remplacez les éléments suivants :

    • MIGRATION_JOB_ID : identifiant de votre job de migration.
    • REGION : région dans laquelle vous souhaitez enregistrer le job de migration.
    • SOURCE_CONN_ID : identifiant du profil de connexion source.
    • DEST_CONN_ID : identifiant du profil de connexion de destination.
    • DATABASES_LIST : liste des bases de données que vous souhaitez migrer, séparées par une virgule.
  8. Démarrez le job de migration.
    Démarrez le job de migration pour lancer le flux de réplication :

    gcloud database-migration migration-jobs start MIGRATION_JOB_ID \
      --region=REGION

    Remplacez les éléments suivants :

    • MIGRATION_JOB_ID : identifiant du job de migration.
    • REGION : région où se trouve le job de migration.

Migrations à démarrage rapide pour les clusters existants

Pour migrer des bases de données vers un cluster AlloyDB pour PostgreSQL existant, procédez comme suit :

Console

  1. Accédez à la page Clusters.

    Accéder à la page Clusters

  2. Sélectionnez le cluster AlloyDB pour PostgreSQL vers lequel vous souhaitez migrer vos bases de données.
  3. Sur la page d'informations du cluster, cliquez sur Migrer les données.
  4. Dans le panneau Migrer des données, cliquez sur Migrer la base de données.

    Le formulaire de migration rapide de Database Migration Service s'ouvre.

  5. Dans la section Configurer la migration, procédez comme suit :
    1. Dans le menu Région de destination, sélectionnez la région de votre cluster AlloyDB pour PostgreSQL de destination.
    2. Dans le champ Préfixe de migration, saisissez une chaîne qui sera ajoutée aux noms de toutes les entités de migration créées pour la migration à démarrage rapide : profils de connexion, configuration de connectivité privée, rattachement de réseau et son sous-réseau, et job de migration.
    3. Dans le menu Type de configuration, sélectionnez l'une des options suivantes :
      1. Configuration de connectivité existante : sélectionnez cette option si vous disposez déjà d'un rattachement de réseau et d'une configuration de connectivité privée qui utilise des interfaces Private Service Connect dans le réseau VPC de la base de données source. Cette option est idéale si vous avez déjà utilisé des migrations de démarrage rapide et que vous souhaitez réutiliser les mêmes ressources réseau.
      2. Nouvelle configuration de connectivité : sélectionnez cette option pour créer un rattachement de réseau, un sous-réseau de rattachement de réseau et une configuration de connectivité privée dans le réseau VPC de la base de données source.
  6. Dans la section Connecter la source, procédez comme suit :
    1. Saisissez un nom d'hôte ou l'adresse IP privée de votre base de données source. L'adresse de la base de données source doit être accessible depuis votre réseau VPC source.
    2. Saisissez le port utilisé pour accéder à l'hôte. Le port PostgreSQL par défaut est 5432.
    3. Saisissez le nom d'utilisateur et le mot de passe du compte de migration dédié dans votre base de données source.
    4. Dans le menu Type de chiffrement, sélectionnez l'une des options suivantes :
      • Aucun : si votre base de données source ne nécessite pas de connexions chiffrées SSL/TLS.
      • Obligatoire : si votre base de données source nécessite des connexions chiffrées SSL/TLS. Cette option ne nécessite aucune validation de certificat.
    5. Dans le menu Bases de données à migrer, cliquez sur Personnaliser. Utilisez le panneau latéral pour ne sélectionner que les bases de données que vous souhaitez migrer vers AlloyDB pour PostgreSQL.
  7. Cliquez sur Lancer la migration.

    Database Migration Service crée le job de migration et lance le processus de migration. Vous pouvez surveiller la progression de la migration, ainsi que l'état de votre cluster de destination dans AlloyDB pour PostgreSQL. Pour en savoir plus, consultez Afficher les informations sur le cluster.

gcloud

Pour utiliser la gcloud CLI afin de migrer vers un cluster AlloyDB pour PostgreSQL existant, procédez comme suit :

  1. Créez la ressource de rattachement de réseau.
    Créez le rattachement de réseau dans le projet et le réseau VPC où se trouve votre base de données source :

    gcloud compute network-attachments create NETWORK_ATTACHMENT \
      --region=REGION \
      --connection-preference=ACCEPT_MANUAL \
      --producer-accept-list=DEST_PROJECT_ID \
      --subnets=default \
      --project=SOURCE_PROJECT_ID

    Remplacez les éléments suivants :

    • NETWORK_ATTACHMENT : nom du rattachement de réseau à créer.
    • REGION : région du rattachement de réseau.
    • DEST_PROJECT_ID : ID de votre projet de destination.
    • SOURCE_PROJECT_ID : ID du projet où réside le réseau source.
  2. Autorisez le projet locataire Database Migration Service à accéder au rattachement de réseau.
    Récupérez l'ID du projet locataire en exécutant une vérification de validation, puis mettez à jour la liste d'acceptation du rattachement de réseau pour l'inclure :

    1. Effectuez une vérification de validation pour récupérer l'ID du projet locataire :

      gcloud database-migration private-connections create PRIVATE_CONN \
        --region=REGION \
        --network-attachment=NETWORK_ATTACHMENT_URI \
        --display-name=PRIVATE_CONN \
        --format="value(metadata.metadata.tenant_project_id)" \
        --validate-only

      Remplacez les éléments suivants :

      • PRIVATE_CONN : nom de la ressource de connexion privée.
      • REGION : région de la connexion privée.
      • NETWORK_ATTACHMENT_URI : URI du rattachement de réseau créé à l'étape précédente. Exemple :projects/SOURCE_PROJECT_ID/regions/REGION/networkAttachments/NETWORK_ATTACHMENT
    2. Mettez à jour le rattachement de réseau avec le DMS_TENANT_ID récupéré :

      gcloud compute network-attachments update NETWORK_ATTACHMENT \
        --region=REGION \
        --producer-accept-list=DEST_PROJECT_ID,DMS_TENANT_ID \
        --project=SOURCE_PROJECT_ID

      Remplacez les éléments suivants :

      • NETWORK_ATTACHMENT : nom du rattachement de réseau.
      • REGION : région.
      • DEST_PROJECT_ID : ID de votre projet de destination.
      • DMS_TENANT_ID : ID du projet locataire Database Migration Service récupéré.
      • SOURCE_PROJECT_ID : ID du projet où réside le réseau source.
  3. Créez la configuration de connectivité privée.
    Créez la connexion privée dans le projet de destination :

    gcloud database-migration private-connections create PRIVATE_CONN \
      --region=REGION \
      --network-attachment=NETWORK_ATTACHMENT_URI \
      --display-name=PRIVATE_CONN

    Remplacez les éléments suivants :

    • PRIVATE_CONN : nom de la ressource de connexion privée.
    • REGION : région de la connexion privée.
    • NETWORK_ATTACHMENT_URI : URI du rattachement de réseau.
  4. Créez le profil de connexion source.
    Créez le profil de connexion pour la base de données PostgreSQL source :

    gcloud database-migration connection-profiles create postgresql SOURCE_CONN_ID \
      --region=REGION \
      --role=SOURCE \
      --host=SOURCE_PRIVATE_IP \
      --port=SOURCE_PORT \
      --username=SOURCE_USER \
      --password=SOURCE_PASSWORD \
      --private-connection=PRIVATE_CONN \
      --no-async

    Remplacez les éléments suivants :

    • SOURCE_CONN_ID : identifiant du profil de connexion source.
    • REGION : région dans laquelle vous souhaitez enregistrer le profil de connexion.
    • SOURCE_PRIVATE_IP : adresse IP privée de votre base de données source.
    • SOURCE_PORT : port de votre base de données source (la valeur par défaut est 5432).
    • SOURCE_USER : nom de l'utilisateur de migration sur votre base de données source.
    • SOURCE_PASSWORD : mot de passe de l'utilisateur de migration sur votre base de données source.
    • PRIVATE_CONN : nom de la ressource de connexion privée.
  5. Créez le profil de connexion de destination.
    Créez le profil de connexion de destination pointant vers le cluster AlloyDB pour PostgreSQL de destination précréé :

    gcloud database-migration connection-profiles create postgresql DEST_CONN_ID \
      --region=REGION \
      --alloydb-cluster=DEST_CLUSTER \
      --username=DEST_USER \
      --password=DEST_PASSWORD \
      --role=DESTINATION \
      --no-async

    Remplacez les éléments suivants :

    • DEST_CONN_ID : identifiant du profil de connexion de destination.
    • REGION : région dans laquelle vous souhaitez enregistrer le profil de connexion. Cette région doit être identique à celle de votre cluster de destination.
    • DEST_CLUSTER : ID ou chemin d'accès complet à la ressource de votre cluster AlloyDB pour PostgreSQL de destination.
    • DEST_USER : nom de l'utilisateur de migration sur votre base de données de destination.
    • DEST_PASSWORD : mot de passe de l'utilisateur de migration dans la base de données de destination.
  6. Créez le job de migration.
    Créez le job de migration continu avec la réplication native activée :

    gcloud database-migration migration-jobs create MIGRATION_JOB_ID \
      --region=REGION \
      --type=CONTINUOUS \
      --source=SOURCE_CONN_ID \
      --destination=DEST_CONN_ID \
      --use-postgres-native \
      --postgres-max-additional-subscriptions=10 \
      --databases-filter=DATABASES_LIST \
      --no-async

    Remplacez les éléments suivants :

    • MIGRATION_JOB_ID : identifiant de votre job de migration.
    • REGION : région dans laquelle vous souhaitez enregistrer le job de migration.
    • SOURCE_CONN_ID : identifiant du profil de connexion source.
    • DEST_CONN_ID : identifiant du profil de connexion de destination.
    • DATABASES_LIST : liste des bases de données que vous souhaitez migrer, séparées par une virgule.
  7. Démarrez le job de migration.
    Démarrez le job de migration pour lancer le flux de réplication :

    gcloud database-migration migration-jobs start MIGRATION_JOB_ID \
      --region=REGION

    Remplacez les éléments suivants :

    • MIGRATION_JOB_ID : identifiant du job de migration.
    • REGION : région où se trouve le job de migration.

Finaliser la migration

Lorsque vous décidez de basculer votre application vers la nouvelle instance AlloyDB pour PostgreSQL, finalisez la migration en procédant comme suit :

  1. Arrêtez toutes les opérations d'écriture sur votre base de données source. Vous pouvez les passer en mode lecture seule pour conserver les fonctionnalités opérationnelles.
  2. Promouvoir le job de migration.
  3. Facultatif : vérifiez que les données de migration sont complètes.

Étapes suivantes