Mettre à niveau une instance vers Cloud SQL Enterprise Plus à l'aide de l'appairage de VPC


Cette page explique comment utiliser la méthode de connectivité réseau d'appairage VPC privé de Database Migration Service pour mettre à niveau une instance Cloud SQL Enterprise vers Cloud SQL Enterprise Plus. Database Migration Service crée une instance Cloud SQL et migre les données vers cette instance.

Présentation

L'édition Cloud SQL Enterprise Plus est idéale pour les applications nécessitant des performances d'écriture maximales. Pour en savoir plus sur ces améliorations, consultez la section Amélioration des performances.

Pour activer ces améliorations pour vos instances Cloud SQL Enterprise existantes, vous devez les mettre à niveau vers Cloud SQL Enterprise Plus à l'aide de Database Migration Service.

Avant de commencer

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

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

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Activez Database Migration Service.

    Activer l'API

  7. Assurez-vous que le rôle "Administrateur de migration de bases de données" est bien attribué à votre compte utilisateur.

    Accéder à IAM

Exigences

Database Migration Service est compatible avec diverses options de base de données source et méthodes de connectivité réseau. Les différentes sources fonctionnent mieux avec certaines méthodes de connectivité qu'avec d'autres. Sur cette page, nous partons du principe que vous utilisez une instance Cloud SQL Enterprise dans un environnement où vous pouvez configurer votre réseau afin d'ajouter une règle de pare-feu entrante. Ne connaissant pas les spécificités de votre environnement, nous ne pouvons pas fournir de procédure détaillée pour la configuration de votre réseau.

Configurer l'instance source

Pour configurer votre instance Cloud SQL Enterprise source, procédez comme suit :

  1. Si vous ne disposez pas de base de données postgres pour votre instance source, créez-en une. Pour en savoir plus, consultez la page Créer une base de données sur l'instance Cloud SQL.
  2. Installez le package pglogical sur les bases de données de votre instance source. Assurez-vous que le package est inclus dans la variable shared_preload_libraries. Pour en savoir plus, consultez la page Configurer vos bases de données sources.
  3. Activez la réplication logique et le décodage pour les bases de données de votre instance source. Pour en savoir plus, consultez la page Activer la réplication logique et le décodage pour vos bases de données sources.

Configurer vos bases de données sources

Outre les bases de données template0 et template1, Database Migration Service migre toutes les autres bases de données sous votre instance Cloud SQL Enterprise source.

Sur chaque base de données de votre instance source qui n'est pas mentionnée ci-dessus, procédez comme suit :

  1. Pour installer l'extension pglogical sur la base de données, exécutez la commande CREATE EXTENSION IF NOT EXISTS pglogical.

  2. Pour toutes les tables sans clé primaire, migrez manuellement les instructions UPDATE et DELETE.

  3. Pour définir ces droits sur chacune des bases de données migrées, créez un utilisateur ou attribuez les droits à un utilisateur existant. Vous vous connecterez à l'instance source avec cet utilisateur, que vous devez configurer sur la page Profils de connexion. Cet utilisateur doit disposer de certains privilèges sur chacune des bases de données migrées, ainsi que sur la base de données postgres par défaut.

    Pour définir ces droits, connectez-vous à l'instance et exécutez les commandes suivantes :

    1. GRANT USAGE on SCHEMA SCHEMA to USER sur tous les schémas (à l'exception du schéma d'informations et des schémas commençant par pg_) sur chaque base de données que vous souhaitez migrer.
    2. GRANT USAGE on SCHEMA pglogical to PUBLIC; sur chaque base de données que vous souhaitez migrer.
    3. GRANT SELECT on ALL TABLES in SCHEMA pglogical to USER sur toutes les bases de données afin d'obtenir des informations de réplication à partir des bases de données sources.
    4. GRANT SELECT on ALL TABLES in SCHEMA SCHEMA to USER sur tous les schémas (à l'exception du schéma d'informations et des schémas commençant par pg_) sur chaque base de données que vous souhaitez migrer.
    5. GRANT SELECT on ALL SEQUENCES in SCHEMA SCHEMA to USER sur tous les schémas (à l'exception du schéma d'informations et des schémas commençant par pg_) sur chaque base de données que vous souhaitez migrer.
    6. ALTER USER USER with REPLICATION role

Activer la réplication logique et le décodage pour vos bases de données sources.

Activez la réplication logique et le décodage pour les bases de données de votre instance Cloud SQL Enterprise en définissant les options cloudsql.logical_decoding et cloudsql.enable_pglogical sur On. Pour en savoir plus sur ces options, consultez la section Configurer des options de base de données.

Pour activer ces deux options, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Cliquez sur votre instance source.
  3. Cliquez sur Modifier.
  4. Dans la section Personnaliser votre instance, cliquez sur le menu Afficher les options de configuration s'il s'affiche.
  5. Développez la section Options.

  6. Pour définir les options cloudsql.logical_decoding et cloudsql.enable_pglogical, procédez comme suitº:

    1. Cliquez sur Ajouter une option de base de données.
    2. Dans le menu déroulant, choisissez l'option cloudsql.logical_decoding.
    3. Définissez la valeur de cette option sur On.
    4. Cliquez sur OK.
    5. Répétez ces étapes pour l'option cloudsql.enable_pglogical.
  7. Cliquez sur Enregistrer.

  8. Dans la boîte de dialogue Redémarrage nécessaire à la suite des modifications, cliquez sur Enregistrer et redémarrer. Cloud SQL redémarre votre instance source pour que les modifications de configuration apportées aux options soient prises en compte.

  9. Dans le volet Configuration, confirmez vos modifications dans la section Options de base de données.

Récupérer des informations à partir de l'instance source

Pour mettre à niveau une instance source Cloud SQL Enterprise source, vous devez récupérer les informations suivantes :

  • Adresse IP privée de l'instance. Vous utiliserez cette adresse IP pour créer un profil de connexion dans Database Migration Service.
  • Nom du réseau VPC permettant à l'instance Cloud SQL Enterprise Plus de destination de communiquer directement avec l'instance Cloud SQL Enterprise source. Vous utiliserez ce réseau VPC pour créer un job de migration dans Database Migration Service.

Pour récupérer des informations à partir de l'instance Cloud SQL Enterprise source, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Instances SQL.

    Accéder à la page "Instances Cloud SQL"

  2. Cliquez sur votre instance source.
  3. Dans la section Se connecter à cette instance, cliquez sur Copier dans le presse-papiers dans le champ Adresse IP privée.
  4. En haut de la page, cliquez sur Modifier.
  5. Développez la section Connexions.
  6. Dans la section Mise en réseau associée, notez le nom du réseau VPC qui apparaît dans le champ Réseau.

Créez un profil de connexion

Un profil de connexion contient des informations sur la base de données Cloud SQL Enterprise source. Database Migration Service utilise les informations du profil de connexion pour migrer les données de votre base de données source vers l'instance Cloud SQL Enterprise Plus de destination.

Pour créer un profil de connexion, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Profils de connexion dans Database Migration Service.

    Accéder à la page "Profils de connexion"

  2. Cliquez sur Créer un profil.

  3. Dans la liste déroulante Moteur de base de données, sélectionnez Cloud SQL pour PostgreSQL.

  4. Dans le champ Nom du profil de connexion, saisissez un nom pour le profil de connexion de votre base de données source, tel que My Connection Profile.

  5. Sélectionnez la région dans laquelle vous souhaitez enregistrer le profil de connexion.

  6. Dans la liste déroulante Instance Cloud SQL, sélectionnez le nom de votre instance Cloud SQL Enterprise.

  7. Dans le champ Nom d'hôte ou adresse IP, remplacez la valeur par l'adresse IP privée que vous avez copiée dans la section Récupérer des informations à partir de l'instance Cloud SQL Enterprise source.

  8. Pour vous authentifier auprès de votre instance source, saisissez un nom d'utilisateur et un mot de passe. Cliquez ensuite sur Continuer.

  9. Si vous souhaitez chiffrer vos données, activez le chiffrement SSL/TLS pour la connexion entre les bases de données source et de destination. Sinon, conservez la valeur par défaut Aucun.

  10. Cliquez sur Continuer.

  11. Dans le menu déroulant Tests de connectivité, sélectionnez Non défini.

  12. Cliquez sur Créer.

Créer une tâche de migration

Database Migration Service utilise des jobs de migration pour migrer des données de votre instance de base de données Cloud SQL Enterprise source vers l'instance Cloud SQL Enterprise Plus de destination.

La création d'un job de migration comprend les étapes suivantes :

  • Définir les paramètres du job.
  • Sélectionner le profil de connexion que vous avez créé pour votre base de données Cloud SQL Enterprise source. Il s'agit de votre profil de connexion source.
  • Définir les paramètres de l'instance Cloud SQL Enterprise Plus de destination.
  • Configurer la connectivité entre les instances de base de données source et de destination.
  • Tester le job de migration pour vous assurer que les informations de connexion fournies pour le job sont valides.

Définir les paramètres du job de migration

  1. Dans la console Google Cloud, accédez à la page Jobs de migration de Database Migration Service.

    Accéder à la page "Jobs de migration"

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

  3. Dans le champ Nom du job de migration, saisissez un nom pour le job de migration (par exemple, My Migration Job).

  4. Dans la liste déroulante Moteur de base de données source, sélectionnez Cloud SQL pour PostgreSQL.

  5. Dans la liste déroulante Moteur de base de données de destination, sélectionnez Cloud SQL pour PostgreSQL.

  6. Sélectionnez la région de destination dans laquelle l'instance Cloud SQL Enterprise Plus est créée.

  7. Dans la liste déroulante Type de job de migration, sélectionnez Continu, car vous souhaitez que les modifications en cours dans votre base de données Cloud SQL Enterprise source soient migrées vers l'instance Cloud SQL Enterprise Plus de destination.

  8. Passez en revue les conditions préalables générées automatiquement, qui reflètent la façon dont l'environnement doit être préparé pour un job de migration. Ces conditions préalables peuvent inclure la configuration de la base de données Cloud SQL Enterprise source et la connexion à l'instance Cloud SQL Enterprise Plus.

    Il est recommandé d'appliquer ces conditions préalables à cette étape. Toutefois, vous pouvez les appliquer à tout moment avant de tester ou démarrer un job de migration.

  9. Cliquez sur Enregistrer et continuer.

Spécifier des informations sur le profil de connexion source

  1. Dans la liste déroulante Sélectionner le profil de connexion source, sélectionnez le profil de connexion que vous avez créé.

  2. Cliquez sur Enregistrer et continuer.

Définir les paramètres de l'instance Cloud SQL Enterprise Plus de destination

  1. Dans le champ Mot de passe, saisissez un mot de passe alphanumérique pour l'instance Cloud SQL Enterprise Plus de destination. Il s'agit du mot de passe du compte administrateur postgres dans l'instance.

  2. Dans la liste déroulante Version de la base de données, sélectionnez l'instance de destination dans la liste des versions Cloud SQL compatibles avec le moteur de base de données spécifié.

  3. Sélectionnez Enterprise Plus.

  4. Dans la section Sélectionner une région et une zone, sélectionnez la zone Google Cloud souhaitée pour la nouvelle instance Cloud SQL Enterprise Plus (ou laissez l'option Indifférent).

  5. Cochez la case Adresse IP privée.

  6. Dans la liste déroulante VPC, sélectionnez le réseau VPC que vous avez noté à l'étape Récupérer des informations à partir de l'instance Cloud SQL Enterprise source.

  7. Sélectionnez la forme de la machine pour l'instance Cloud SQL Enterprise Plus. La taille du disque doit être supérieure ou égale à la taille de la base de données source.

  8. Définissez le type de stockage et la capacité de stockage de l'instance Cloud SQL.

  9. Pour créer l'instance, cliquez sur Créer et continuer.

  10. Dans la boîte de dialogue qui s'affiche, cliquez sur Créer une destination et continuer. La création de l'instance peut prendre plusieurs minutes.

Configurer la connectivité

  1. Choisissez la façon dont vous souhaitez établir la connectivité entre les bases de données Cloud SQL Enterprise source et les bases de données Cloud SQL Enterprise Plus. Pour cette procédure, utilisez la liste déroulante Méthode de connectivité afin de sélectionner La source et la destination utilisent une adresse IP privée.
  2. Dans la liste déroulante VPC, sélectionnez le réseau VPC sur lequel se trouve votre instance Cloud SQL Enterprise source. Il s'agit du réseau VPC que vous avez noté dans la section Récupérer des informations à partir de l'instance Cloud SQL Enterprise source.
  3. Cliquez sur Configurer et continuer.

Tester, créer et démarrer le job de migration

  1. Vérifiez les paramètres que vous avez choisis pour le job de migration.

  2. Vérifiez que la source a été correctement configurée, que les instances Cloud SQL Enterprise source et Cloud SQL Enterprise Plus de destination sont en mesure de communiquer entre elles, et que le job de migration est valide :

    1. Cliquez sur Tester le job.

    2. Vérifiez que l'état Your migration job test was successful! s'affiche.

    Si le test échoue, vous pouvez résoudre le problème dans la partie appropriée du flux, puis revenir au test.

  3. Pour créer le job de migration et le démarrer immédiatement, cliquez sur Créer et démarrer le job.

  4. Dans la boîte de dialogue qui s'affiche, cliquez sur Créer et démarrer.

  5. Sur la page Jobs de migration, vérifiez que l'état de votre job de migration est Starting.

  6. Après quelques minutes, vérifiez que l'état passe à Running.

Vérifier le job de migration

Pour vérifier que Database Migration Service a utilisé le job de migration pour migrer des données de votre instance de base de données Cloud SQL Enterprise source vers l'instance de base de données Cloud SQL Enterprise Plus de destination, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Instances SQL.

    Accéder à la page "Instances Cloud SQL"

  2. Cliquez sur l'entrée correspondant à l'instance dupliquée avec accès en lecture de votre job de migration.

  3. Cliquez sur l'icône Activer Cloud Shell qui apparaît à côté du champ Rechercher.
  4. Lorsque vous y êtes invité, pour vous connecter à l'instance de base de données Cloud SQL Enterprise Plus de destination, utilisez la commande gcloud sql connect.

    gcloud sql connect DESTINATION_INSTANCE_NAME --user=postgres

    Remplacez DESTINATION_INSTANCE_NAME par le nom de l'instance Cloud SQL Enterprise Plus de destination.

  5. Facultatif : Si une boîte de dialogue Autoriser Cloud Shell s'affiche, cliquez sur Autoriser.
  6. Lorsque l'invite Saisir un mot de passe s'affiche, saisissez le mot de passe que vous avez fourni dans Définir les paramètres de l'instance Cloud SQL Enterprise Plus de destination.
  1. Lorsque l'invite postgres s'affiche, saisissez \list pour répertorier les bases de données et vérifier que votre instance de base de données Cloud SQL Enterprise source est bien affichée.
  2. Lorsque vous y êtes invité, saisissez \connect SOURCE_DB_NAME dans le champ postgres pour afficher les tables associées à cette instance de base de données. Le nom de l'invite passe de postgres à SOURCE_DB_NAME.
  3. Dans l'invite SOURCE_DB_NAME, pour afficher les tables de cette instance, saisissez \dt.
  4. Dans l'invite SOURCE_DB_NAME, saisissez GRANT cloudsqlexternalsync to USER; pour autoriser cet utilisateur à accéder aux données des tables de cette instance.

    Remplacez USER par le nom de l'utilisateur que vous avez utilisé pour vous connecter à l'instance de base de données Cloud SQL Enterprise Plus de destination.

  5. Dans l'invite SOURCE_DB_NAME, pour afficher les informations répliquées à partir d'une table de votre instance de base de données Cloud SQL Enterprise source, saisissez SELECT * from TABLE_NAME;.
  6. Vérifiez que les informations qui s'affichent dans le tableau sont correctes.

Promouvoir la tâche de migration

La promotion du job de migration remplace l'instance de base de données Cloud SQL Enterprise source par l'instance de base de données Cloud SQL Enterprise Plus de destination en tant que base de données principale.

Pour promouvoir le job de migration, procédez comme suit :

  1. Revenez à la page Jobs de migration.

  2. Cliquez sur le job de migration que vous souhaitez promouvoir. La page Informations sur le job de migration s'affiche.

  3. Arrêtez toutes les opérations en écriture dans la base de données Cloud SQL Enterprise source.

  4. Vérifiez que le délai de réplication est minimal.

  5. Cliquez sur le job de migration que vous souhaitez promouvoir. L'état de ce job est Running.

  6. Pour promouvoir le job de migration, cliquez sur Promouvoir.

  7. Dans la boîte de dialogue qui s'affiche, cliquez sur Promouvoir.

  8. Vérifiez que le job de migration est à l'état Promote in progress. Après quelques minutes, vérifiez que l'état passe à Completed.

Votre nouvelle instance de base de données Cloud SQL Enterprise Plus est prête à l'emploi.

Effectuer un nettoyage

Pour éviter que les ressources utilisées soient facturées sur votre compte Google Cloud, utilisez la console Google Cloud pour supprimer votre job de migration, votre profil de connexion, votre instance Cloud SQL Enterprise Edition et votre projet si vous n'en avez pas besoin.

Étapes suivantes