Créer une instance dans un réseau privé, puis importer une base de données

La migration d'une charge de travail d'une autre plate-forme vers Cloud SQL pour PostgreSQL implique souvent d'utiliser la console Google Cloud pour importer des données à partir d'un fichier de dump SQL que vous exportez depuis votre environnement précédent.

Ce tutoriel vous explique comment créer les ressources Google Cloud dont vous avez besoin, puis comment importer une base de données SQL dans une instance Cloud SQL pour PostgreSQL. Ce tutoriel présente les bonnes pratiques à suivre lors de la migration vers Cloud SQL pour PostgreSQL, y compris l'utilisation d'un réseau de cloud privé virtuel (VPC) avec accès aux services privés et l'activation d'une adresse IP privée pour votre instance Cloud SQL.

Lorsque vous suivez les étapes, conservez les valeurs par défaut des paramètres, sauf indication contraire.

Objectifs

  1. Téléchargez un exemple de fichier de dump SQL.
  2. Créez un réseau de cloud privé virtuel avec accès aux services privés.
  3. Créez un bucket Cloud Storage et importez-y un fichier de dump SQL.
  4. Créez une instance Cloud SQL pour PostgreSQL configurée pour une adresse IP privée.
  5. créer un compte utilisateur ;
  6. Créez une base de données de destination.
  7. Importez le fichier de dump dans une nouvelle base de données.
  8. Vérifiez que la base de données a bien été importée en consultant sa structure et en exécutant une requête.

Coûts

Dans ce document, vous utilisez les composants facturables de Google Cloudsuivants :

Vous pouvez obtenir une estimation des coûts en fonction de votre utilisation prévue à l'aide du simulateur de coût.

Les nouveaux utilisateurs de Google Cloud peuvent bénéficier d'un essai sans frais.

Une fois que vous avez terminé les tâches décrites dans ce document, supprimez les ressources que vous avez créées pour éviter que des frais vous soient facturés. Pour en savoir plus, consultez la section Effectuer un nettoyage.

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.

    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

  3. Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un projet, vous disposez déjà des autorisations requises.

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

  5. Enable the Cloud SQL, Cloud SQL Admin, Compute Engine, Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  6. 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

  7. Si vous utilisez un projet existant pour ce guide, vérifiez que vous disposez des autorisations nécessaires pour suivre les instructions. Si vous avez créé un projet, vous disposez déjà des autorisations requises.

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

  9. Enable the Cloud SQL, Cloud SQL Admin, Compute Engine, Cloud Storage APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  10. Rôles requis

    Pour obtenir les autorisations nécessaires pour suivre ce tutoriel, demandez à votre administrateur de vous accorder les rôles IAM suivants sur votre projet :

    Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.

    Vous pouvez également obtenir les autorisations requises avec des rôles personnalisés ou d'autres rôles prédéfinis.

    Obtenir un fichier de dump de base de données exemple

    Pour ce tutoriel, vous allez utiliser un petit exemple de base de données contenant des codes de pays et des capitales du monde.

    Téléchargez le fichier SQL de la base de données countries dans votre environnement local : countries-postgres.sql.

    Créer un réseau avec accès aux services privés

    Avant de créer le reste de vos ressources, créez un réseau VPC sur lequel exécuter vos services. L'accès aux services privés vous permet de limiter l'accès à votre base de données Cloud SQL en établissant une connexion privée entre votre réseau externe et Cloud SQL pour PostgreSQL à l'aide d'adresses IPv4 internes.

    1. Dans la console Google Cloud , accédez à la page Réseaux VPC.

      Accéder à la page Réseaux VPC

    2. Cliquez sur Créer un réseau VPC.

    3. Dans le champ Nom, saisissez tutorial-network.

    4. Dans le champ Mode de création de sous-réseau, sélectionnez Personnalisé.

    5. Dans le champ Nom, saisissez tutorial-subnet.

    6. Sélectionnez une région proche de vous.

    7. Dans Plage IPv4, saisissez 10.0.0.0/24.

    8. Dans la section Accès privé à Google, sélectionnez Activé.

    9. Cliquez sur OK.

    10. Au bas de la page, cliquez sur Créer.

    Une fois le processus de création du réseau VPC terminé, vous pouvez configurer l'accès aux services privés pour le réseau.

    1. Sur l'écran "Réseaux VPC", cliquez sur tutorial-network.
    2. Dans la barre de menu de tutorial-network, cliquez sur Accès aux services privés.
    3. Cliquez sur Plages d'adresses IP allouées pour les services.
    4. Cliquez sur Allouer une plage d'adresses IP.
    5. Dans le champ "Nom", saisissez tutorial-range.
    6. Pour Plage d'adresses IP, sélectionnez Personnalisée.
    7. Dans le champ Plage, saisissez 192.168.0.0/20.
    8. Cliquez sur Allouer.
    9. Dans le sous-menu, cliquez sur Connexions privées aux services.
    10. Cliquez sur Créer une connexion.
    11. Dans le menu déroulant Allocation attribuée, sélectionnez tutorial-range.
    12. Cliquez sur Se connecter. Au bout d'une ou deux minutes, la console Google Cloud affiche un message vous informant que vous avez bien créé une connexion privée.

    Créer un bucket Cloud Storage

    Ensuite, créez un bucket Cloud Storage pour stocker le fichier de dump SQL que vous avez téléchargé précédemment. L'outil d'importation Cloud SQL s'attend à ce que le fichier de dump se trouve dans un bucket. Chaque bucket Cloud Storage doit avoir un nom unique.

    1. Dans la console Google Cloud , accédez à la page Buckets de Cloud Storage.

      Accéder à la page "Buckets"

    2. Cliquez sur Créer.
    3. Pour le nom du bucket, créez un nom unique au niveau mondial composé de lettres minuscules, de chiffres et de traits d'union. Vous pouvez utiliser un générateur de chaînes aléatoires, tel que random.org/strings, pour générer le nom. Notez le nom que vous choisissez.
    4. Cliquez sur Continuer.
    5. Sous Type d'emplacement, sélectionnez Région. C'est l'option la moins chère.
    6. Choisissez la même région que celle de votre sous-réseau. Le fait de placer vos ressourcesGoogle Cloud dans la même région réduit la latence, améliore la vitesse, diminue les coûts de transfert de données et simplifie la mise en réseau.
    7. Cliquez sur Continuer.
    8. Cliquez sur Créer.
    9. Si une boîte de dialogue s'affiche, laissez l'option Appliquer la protection contre l'accès public sur ce bucket sélectionnée, puis cliquez sur Confirmer.

    La page Informations sur le bucket du nouveau bucket s'ouvre avec le volet Objets sélectionné.

    Importez votre fichier de dump dans le bucket.

    Importez dans votre bucket l'exemple de fichier de dump SQL que vous avez téléchargé précédemment.

    1. Dans l'onglet Objets, cliquez sur Importer, puis sur Importer des fichiers.
    2. Accédez au fichier countries-postgres.sql et sélectionnez-le.
    3. Cliquez sur Ouvrir. Cloud Storage importe le fichier de dump dans le bucket.

    Créer une instance Cloud SQL

    Créez une instance Cloud SQL dans la console Google Cloud à l'aide des paramètres suivants. Conservez les valeurs par défaut pour tous les autres paramètres. Bien que vous n'ayez pas besoin d'activer l'adresse IP privée pour le processus d'importation, il est recommandé de l'utiliser pour une charge de travail de production.

    1. Accédez à la page "Instances Cloud SQL" dans la console Google Cloud .
      Accéder à la page "Instances Cloud SQL"
    2. Cliquez sur Créer une instance.
    3. Cliquez sur Choisir PostgreSQL.
    4. Dans Choisir une édition Cloud SQL, sélectionnez Enterprise.
    5. Dans Préréglage de l'édition, sélectionnez Bac à sable.
    6. Dans le champ ID d'instance, saisissez tutorial-instance.
    7. Choisissez et saisissez un mot de passe pour le compte utilisateur par défaut, puis enregistrez-le pour une utilisation ultérieure.
    8. Choisissez la même région que celle que vous avez sélectionnée pour votre sous-réseau et votre bucket.
    9. Pour Disponibilité zonale, sélectionnez Zone unique.
    10. Développez la section Afficher les options de configuration.
    11. Développez Connexions.
    12. Désactivez l'option Adresse IP publique.
    13. Sélectionnez Adresse IP privée.
    14. Dans le menu déroulant Réseau, sélectionnez tutorial-network. L'instance Cloud SQL est alors placée dans le réseau privé que vous avez créé précédemment.
    15. Cliquez sur Créer une instance, puis attendez que l'instance s'initialise et démarre. Le processus d'initialisation peut prendre plus de cinq minutes.

    Ajouter un utilisateur

    Avant de pouvoir lire ou écrire dans une base de données, vous devez créer un utilisateur de base de données différent de l'utilisateur racine.

    1. Dans le menu de navigation SQL, cliquez sur Utilisateurs.
    2. Cliquez sur Ajouter un compte utilisateur.
    3. Dans le volet qui s'ouvre, sélectionnez Authentification intégrée.
    4. Dans le champ Nom d'utilisateur, saisissez tutorial-user.
    5. Saisissez un mot de passe pour le nouvel utilisateur. Enregistrez ce mot de passe pour une utilisation ultérieure.
    6. Cliquez sur Ajouter.

    Créer une base de données de destination

    Le workflow d'importation vous oblige à sélectionner une base de données de destination dans laquelle importer les données. Vous devez donc créer une base de données vide.

    1. Dans le menu de navigation SQL, cliquez sur Bases de données.
    2. Cliquez sur Créer une base de données.
    3. Dans le champ Nom de la base de données, saisissez countries.
    4. Cliquez sur Créer.

    Importer à partir du fichier de dump

    Vous pouvez maintenant importer la base de données countries à l'aide du fichier de dump countries-postgres.sql que vous avez importé dans votre bucket Cloud Storage.

    1. Dans le menu de navigation SQL, cliquez sur Présentation.
    2. Sur la page "Vue d'ensemble", cliquez sur Importer.
    3. Sous Format de fichier, sélectionnez SQL.
    4. Sous Sélectionner le fichier source, choisissez Sélectionner un fichier dans Google Cloud Storage.
    5. Cliquez sur Parcourir.
    6. Développez le bucket de stockage que vous avez créé précédemment.
    7. Cliquez sur countries-postgres.sql.
    8. Cliquez sur Sélectionner.
    9. Dans la section Destination, cliquez sur le menu déroulant Base de données, puis sélectionnez pays.
    10. Cliquez sur Importer.

    Une fois le processus d'importation terminé et la base de données countries importée dans Cloud SQL pour PostgreSQL, un message de confirmation s'affiche.

    Valider les données importées dans Cloud SQL pour PostgreSQL

    Une fois l'opération d'importation terminée, vous pouvez vérifier que la base de données a été importée en vous y connectant à l'aide de Cloud SQL Studio, en inspectant la liste des tables et en exécutant une requête de test sur les données.

    S'authentifier auprès de Cloud SQL Studio

    À l'aide du compte utilisateur que vous avez créé précédemment, connectez-vous à la nouvelle base de données à l'aide de Cloud SQL Studio.

    1. Dans le menu de navigation SQL, cliquez sur Cloud SQL Studio. Une boîte de dialogue de connexion s'affiche.
    2. Dans le menu déroulant Base de données, sélectionnez pays.
    3. Sélectionnez Authentification intégrée à la base de données.
    4. Dans le menu déroulant Utilisateur, sélectionnez tutorial-user.
    5. Dans le champ Mot de passe, saisissez le mot de passe que vous avez choisi pour l'utilisateur dans la section Ajouter un utilisateur.
    6. Cliquez sur Authentifier. Cloud SQL Studio s'ouvre.

    Afficher et interroger les tables

    1. Dans le volet Explorateur, examinez la base de données countries et vérifiez qu'elle comporte deux tables : capitals et country_codes.
    2. Cliquez sur Requête sans titre pour ouvrir l'éditeur de requête.
    3. Collez le code suivant dans l'éditeur de requête :

      SELECT
        "capitals"."country_capital",
        "country_codes"."country_name"
      FROM
        "capitals"
      JOIN
        "country_codes"
      ON
        "capitals"."alpha_2_code" = "country_codes"."alpha_2_code"
      ORDER BY
        "capitals"."country_capital";
      
    4. Cliquez sur Exécuter.

    Le volet "Résultats" affiche une liste alphabétique des capitales du monde et de leurs pays.

    Effectuer un nettoyage

    Pour éviter que les ressources utilisées dans ce tutoriel ne soient facturées sur votre compte Google Cloud , procédez comme suit :

    • Supprimer le projet contenant les ressources
    • Conservez le projet et supprimez les ressources individuelles.

    Supprimer le projet

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    Supprimer des ressources individuelles

    Si vous souhaitez conserver le projet, mais éviter d'encourir des frais, supprimez l'instance Cloud SQL, le bucket Cloud Storage et le réseau VPC que vous avez créés au cours du tutoriel.

    Supprimer l'instance Cloud SQL

    Commencez par désactiver la protection contre la suppression, puis supprimez l'instance Cloud SQL du tutoriel :

    1. Dans le menu de navigation SQL, cliquez sur Présentation.
    2. Cliquez sur Modifier.
    3. Développez la section Protection des données.
    4. Dans Protection contre la suppression d'instances, désélectionnez toutes les options.
    5. Cliquez sur Enregistrer. Une fois l'opération terminée, l'option Supprimer est sélectionnable.
    6. Cliquez sur Supprimer. Une boîte de dialogue s'affiche.
    7. Dans le champ ID d'instance, saisissez tutorial-instance.
    8. Cliquez sur Supprimer.

    Supprimer le bucket Cloud Storage

    Ensuite, supprimez le bucket de stockage et son contenu.

    1. Dans le menu de navigation principal de la console Google Cloud , accédez à Cloud Storage > Buckets.
    2. Cochez la case à côté du nom du bucket que vous avez créé précédemment.
    3. Cliquez sur  Supprimer.
    4. Dans la boîte de dialogue, confirmez la suppression en saisissant DELETE, puis cliquez sur Supprimer.

    Supprimer le réseau VPC

    Maintenant que vous avez supprimé les ressources de votre réseau VPC, vous pouvez supprimer le réseau. Avant de pouvoir supprimer le réseau VPC, vous devez supprimer la connexion d'appairage qui a été créée automatiquement lorsque vous avez créé le réseau VPC.

    1. Dans le menu de navigation principal, accédez à Réseaux VPC > Appairage de réseaux VPC.
    2. Cochez la case à côté de la connexion d'appairage avec le réseau VPC tutorial-network.
    3. Cliquez sur Supprimer.
    4. Dans la boîte de dialogue, cliquez sur Supprimer pour confirmer.

    Maintenant que la connexion d'appairage a été supprimée, vous pouvez supprimer le réseau VPC.

    1. Dans le menu Réseau VPC, cliquez sur Réseaux VPC.
    2. Cliquez sur tutorial-network pour ouvrir la page d'informations.
    3. Cliquez sur Supprimer le réseau VPC.
    4. Dans la boîte de dialogue, confirmez la suppression en saisissant tutorial-network, puis en cliquant sur Supprimer.

    Étapes suivantes