Se connecter Ă  Cloud SQL pour PostgreSQL Ă  l'aide du proxy d'authentification Cloud SQL

Cette page vous explique comment vous connecter Ă  Cloud SQL depuis un environnement de test local Ă  l'aide du proxy d'authentification Cloud SQL. Le proxy d'authentification Cloud SQL fournit un accĂšs sĂ©curisĂ© Ă  votre instance Cloud SQL, sans nĂ©cessiter de rĂ©seaux autorisĂ©s ni de configuration SSL. Vous pouvez vous connecter en toute sĂ©curitĂ© Ă  votre instance Cloud SQL Ă  l'aide de ce proxy.

Les instructions de cette page concernent uniquement les environnements de test et ne doivent pas ĂȘtre utilisĂ©es pour les environnements de production. Pour en savoir plus sur la configuration requise pour les environnements de production, consultez les pages Utiliser le proxy d'authentification Cloud SQL dans un environnement de production et Se connecter Ă  l'aide du proxy d'authentification Cloud SQL.

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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify 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.

    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 (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

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

  6. Activez les API Google Cloud nécessaires.

    Console

    Dans la console Google Cloud , accédez à la page API.

    Accéder aux API

    Activez l'API Cloud SQL Admin.

    gcloud

    Cliquez sur le bouton suivant pour ouvrir Cloud Shell, qui fournit un accĂšs en ligne de commande Ă  vos ressources Google Cloud directement depuis le navigateur. Cloud Shell peut ĂȘtre utilisĂ© pour exĂ©cuter les commandes gcloud prĂ©sentĂ©es dans ce guide de dĂ©marrage rapide.

    Ouvrir Cloud Shell

    ExĂ©cutez la commande gcloud services enable comme suit Ă  l'aide de Cloud Shell pour activer les API requises pour ce guide de dĂ©marrage rapide :

    gcloud services enable sqladmin.googleapis.com

    Cette commande active les API suivantes :

    • API Cloud SQL Admin
  7. Make sure that you have the following role or roles on the project: Cloud SQL Admin (roles/cloudsql.admin), Cloud SQL Viewer (roles/cloudsql.viewer)

    Check for the roles

    1. In the Google Cloud console, go to the IAM page.

      Go to IAM
    2. Select the project.
    3. In the Principal column, find all rows that identify you or a group that you're included in. To learn which groups you're included in, contact your administrator.

    4. For all rows that specify or include you, check the Role column to see whether the list of roles includes the required roles.

    Grant the roles

    1. In the Google Cloud console, go to the IAM page.

      Accéder à IAM
    2. Sélectionnez le projet.
    3. Cliquez sur  Accorder l'accĂšs.
    4. Dans le champ Nouveaux comptes principaux, saisissez votre identifiant utilisateur. Il s'agit généralement de l'adresse e-mail d'un compte Google.

    5. Dans la liste Sélectionner un rÎle, sélectionnez un rÎle.
    6. Pour attribuer des rĂŽles supplĂ©mentaires, cliquez sur  Ajouter un autre rĂŽle et ajoutez tous les rĂŽles supplĂ©mentaires.
    7. Cliquez sur Enregistrer.

CrĂ©er une instance Cloud SQL

Dans ce guide de dĂ©marrage rapide, vous allez utiliser la console Google Cloud . Pour utiliser la gcloud CLI, cURL ou PowerShell, consultez la section CrĂ©er des instances.

  1. Dans la console Google Cloud , accĂ©dez Ă  la page Instances Cloud SQL.

    AccĂ©der Ă  la page Instances Cloud SQL

  2. Cliquez sur Créer une instance.
  3. Cliquez sur Choisir PostgreSQL.
  4. Dans le champ ID d'instance, saisissez myinstance.
  5. Dans le champ Mot de passe, entrez le mot de passe de l'utilisateur postgres.
  6. Cliquez sur Créer une instance.

    Vous ĂȘtes redirigĂ© vers la liste des instances. Vous pouvez cliquer directement sur la nouvelle instance pour en afficher les dĂ©tails, mais elle ne sera disponible pour les autres opĂ©rations qu'une fois initialisĂ©e et dĂ©marrĂ©e.

Debian/Ubuntu

Installez le client psql Ă  partir du gestionnaire de packages :

sudo apt-get update
sudo apt-get install postgresql-client

CentOS/RHEL

Installez le client psql Ă  partir du gestionnaire de packages :

sudo yum install postgresql

openSUSE

Installez le client psql Ă  partir du gestionnaire de packages :

sudo zypper install postgresql

Autres plates-formes

  1. TĂ©lĂ©chargez PostgreSQL Core Distribution sur votre plate-forme depuis la page des tĂ©lĂ©chargements PostgreSQL.
    Core Distribution inclut le client psql.
  2. Installez la base de données PostgreSQL en suivant les instructions de la page de téléchargement.

Installer le client proxy d'authentification Cloud SQL

Le binaire du proxy d'authentification Cloud SQL Ă  tĂ©lĂ©charger dĂ©pend du systĂšme d'exploitation et de l'utilisation d'un noyau 32 bits ou 64 bits. Dans la plupart des cas, le matĂ©riel rĂ©cent possĂšde un noyau 64 bits. Si vous ne savez pas si votre machine exĂ©cute un noyau 32 bits ou 64 bits, utilisez la commande uname -a pour Linux ou macOS. Pour Windows, consultez la documentation Windows.

Linux 64 bits

  1. TĂ©lĂ©chargez le proxy d'authentification Cloud SQL :
    curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.18.2/cloud-sql-proxy.linux.amd64
  2. Rendez le proxy d'authentification Cloud SQL exĂ©cutable :
    chmod +x cloud-sql-proxy

Linux 32 bits

  1. TĂ©lĂ©chargez le proxy d'authentification Cloud SQL :
    curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.18.2/cloud-sql-proxy.linux.386
  2. Si la commande curl est introuvable, exécutez sudo apt install curl puis répétez la commande de téléchargement.
  3. Rendez le proxy d'authentification Cloud SQL exĂ©cutable :
    chmod +x cloud-sql-proxy

macOS 64 bits

  1. TĂ©lĂ©chargez le proxy d'authentification Cloud SQL :
    curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.18.2/cloud-sql-proxy.darwin.amd64
  2. Rendez le proxy d'authentification Cloud SQL exĂ©cutable :
    chmod +x cloud-sql-proxy

Mac M1

  1. TĂ©lĂ©chargez le proxy d'authentification Cloud SQL :
      curl -o cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.18.2/cloud-sql-proxy.darwin.arm64
      
  2. Rendez le proxy d'authentification Cloud SQL exĂ©cutable :
      chmod +x cloud-sql-proxy
      

Windows 64 bits

Effectuez un clic droit sur https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.18.2/cloud-sql-proxy.x64.exe et sĂ©lectionnez Enregistrer le lien sous pour tĂ©lĂ©charger le proxy d'authentification Cloud SQL. Renommez le fichier en cloud-sql-proxy.exe.

Windows 32 bits

Effectuez un clic droit sur https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.18.2/cloud-sql-proxy.x86.exe et sĂ©lectionnez Enregistrer le lien sous pour tĂ©lĂ©charger le proxy d'authentification Cloud SQL. Renommez le fichier en cloud-sql-proxy.exe.

Image Docker du proxy d'authentification Cloud SQL

Le proxy d'authentification Cloud SQL possĂšde diffĂ©rentes images de conteneur, telles que distroless, alpine et buster. L'image de conteneur du proxy d'authentification Cloud SQL par dĂ©faut utilise distroless, qui ne contient aucune interface systĂšme. Si vous avez besoin d'une interface systĂšme ou d'outils associĂ©s, tĂ©lĂ©chargez une image basĂ©e sur alpine ou buster. Pour plus d'informations, consultez la page Images de conteneurs du proxy d'authentification Cloud SQL.

Vous pouvez extraire la derniĂšre image sur votre ordinateur local en utilisant Docker avec la commande suivante :

docker pull gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.18.2

Autres systĂšmes d'exploitation

Pour les autres systĂšmes d'exploitation non inclus ici, vous pouvez compiler le proxy d'authentification Cloud SQL Ă  partir de la source.

Obtenir le nom de connexion de l'instance

  1. Dans la console Google Cloud , accĂ©dez Ă  la page Instances Cloud SQL.

    AccĂ©der Ă  la page Instances Cloud SQL

  2. Cliquez sur le nom de l'instance pour ouvrir la page Présentation.
  3. Dans la section Se connecter Ă  cette instance, copiez le nom de la connexion. Le nom de la connexion est au format projectID:region:instanceID.

DĂ©marrer le proxy d'authentification Cloud SQL

DĂ©marrez le proxy d'authentification Cloud SQL dans son propre terminal afin de pouvoir surveiller sa sortie. Remplacez INSTANCE_CONNECTION_NAME par le nom de connexion de l'instance que vous avez copiĂ© Ă  l'Ă©tape prĂ©cĂ©dente.

Pour les environnements Linux, lancez le proxy d'authentification Cloud SQL Ă  l'aide de la commande suivante :

./cloud-sql-proxy INSTANCE_CONNECTION_NAME

Dans PowerShell sous Windows, lancez le proxy d'authentification Cloud SQL Ă  l'aide de la commande suivante :

.\cloud-sql-proxy.exe INSTANCE_CONNECTION_NAME

Un message de ce type s'affiche :

Listening on 127.0.0.1:5432 for INSTANCE_CONNECTION_NAME
Ready for new connections

ExĂ©cutez la commande suivante en remplaçant DB_NAME par le nom de la base de donnĂ©es Cloud SQL :

psql "host=127.0.0.1 port=5432 sslmode=disable dbname=DB_NAME user=postgres"

Dans l'invite de saisie de mot de passe, saisissez le mot de passe de votre compte PostgreSQL.

VĂ©rifiez que l'invite PostgreSQL s'affiche. Vous vous ĂȘtes connectĂ© Ă  votre base de donnĂ©es Ă  l'aide du client psql.

Revenez Ă  la fenĂȘtre de terminal dans laquelle vous avez dĂ©marrĂ© le proxy d'authentification Cloud SQL. Un message semblable au suivant doit s'afficher :

New connection for myInstance

Effectuer un nettoyage

Pour Ă©viter que les ressources utilisĂ©es dans cette dĂ©monstration soient facturĂ©es sur votre compte Google Cloud , 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. Sélectionnez l'instance myinstance pour ouvrir la page Détails de l'instance.
  3. Dans la barre d'icĂŽnes en haut de la page, cliquez sur Supprimer.
  4. Dans la fenĂȘtre Supprimer l'instance, saisissez le nom de l'instance, puis cliquez sur Supprimer.

Étapes de nettoyage facultatives

Si vous n'utilisez pas les API activées dans le cadre de ce démarrage rapide, vous pouvez les désactiver.

  • API activĂ©es dans ce guide de dĂ©marrage rapide :
    • API Cloud SQL Admin
  1. Dans la console Google Cloud , accédez à la page API.

    Accéder aux API

  2. SĂ©lectionnez l'API Cloud SQL Admin, puis cliquez sur le bouton DĂ©sactiver l'API.

Étapes suivantes