Se connecter à une instance Cloud SQL pour PostgreSQL avec une adresse IP privée
Cette page vous explique comment créer une instance PostgreSQL et vous y connecter à l'aide d'une adresse IP privée. Les ressources créées dans ce guide de démarrage rapide coûtent généralement moins d'un dollar, en supposant que vous effectuiez les étapes, y compris le nettoyage, en temps opportun.
Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud, cliquez sur Visite guidée :
Avant de commencer
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Activez les API Google Cloud nécessaires.
Console
Dans Google Cloud Console, accédez à la page API.
Activez l'API Cloud SQL Admin. En activant cette API, vous pouvez exécuter le proxy d'authentification Cloud SQL.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.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 En activant cette API, vous pouvez exécuter le proxy d'authentification Cloud SQL.
Présentation
Il existe de nombreuses façons de se connecter à une instance Cloud SQL avec une adresse IP privée, en fonction de l'emplacement de la source. Le facteur clé est que la machine source doit se trouver sur le même réseau VPC que l'instance Cloud SQL. Si la source ne se trouve pas dans Google Cloud ou dans le même projet Google Cloud, vous devez configurer la connectivité différemment de la solution présentée ici.
Dans ce guide de démarrage rapide, nous configurons la connectivité via le chemin le plus direct. La source et la cible se trouvent dans le même projet Google Cloud et sur le même réseau VPC. Nous créons une instance Cloud SQL avec une adresse IP privée (la cible) et une VM Compute Engine (la source). Nous utilisons la VM pour installer et utiliser les outils nécessaires pour se connecter depuis la VM à l'instance Cloud SQL.
Effectuez les actions suivantes :
- Créez une instance Cloud SQL avec une adresse IP privée.
Recherchez le
connection name
de l'instance et enregistrez-le pour une utilisation ultérieure. - Créez une VM Compute Engine.
- Ouvrir deux connexions SSH à la VM Compute Engine.
Vous utiliserez la première fenêtre pour installer la psql puis pour installer et démarrer le proxy d'authentification Cloud SQL. Ensuite, vous utiliserez la deuxième fenêtre pour vous connecter à l'instance Cloud SQL en vous connectant au proxy d'authentification Cloud SQL.
- Dans la fenêtre SSH 1, procédez comme suit :
- Installer le client psql.
- Installez le proxy d'authentification Cloud SQL.
Le proxy d'authentification Cloud SQL sert de connecteur entre le client psql et l'instance Cloud SQL.
- Démarrez le proxy d'authentification Cloud SQL.
En cas de réussite, le proxy Cloud SQL Auth écoute les requêtes de connexion.
- Dans la fenêtre SSH 2, connectez-vous à l'instance Cloud SQL en demandant au client psql de se connecter au proxy d'authentification Cloud SQL.
En cas de réussite, votre invite psql apparaît dans cette fenêtre et un message de connexion réussie apparaît dans la fenêtre SSH 1, où le proxy d'authentification Cloud SQL est en cours d'exécution.
- Effectuez un nettoyage.
Créer une instance Cloud SQL avec une adresse IP privée
-
Dans Google Cloud Console, accédez à la page Instances Cloud SQL.
- Cliquez sur Create Instance (Créer une instance).
- Cliquez sur Choisir PostgreSQL.
- Si vous êtes invité à activer l'API Compute, cliquez sur le bouton Activer l'API.
- Dans la section Informations sur l'instance, saisissez un nom pour l'ID d'instance.
- Indiquez le mot de passe de l'utilisateur postgres. Notez le mot de passe que vous avez créé, car vous en aurez besoin plus tard.
- Dans la section Sélectionner la disponibilité régionale et zonale, sélectionnez l'option Zone unique.
- Développez la section Show configuration options (Afficher les options de configuration).
- Développez Connexions.
- Désactivez l'option Adresse IP publique.
- Sélectionnez Private IP (Adresse IP privée).
- Dans la liste déroulante Réseau, sélectionnez Par défaut.
- Si vous utilisez un nouveau projet, le message suivant s'affiche : Connexion au service privé requise. Ensuite, procédez comme suit :
- Cliquez sur Configurer la connexion.
- Cliquez sur Activer l'API Service Networking.
- Dans la section Allouer une plage d'adresses IP, sélectionnez Utiliser une plage d'adresses IP automatiquement allouée.
- Cliquez sur Continuer.
- Cliquez sur Créer une connexion et attendez que la création de la connexion soit terminée.
Cliquez sur Create instance (Créer une instance).
Vous êtes redirigé vers la page de présentation de l'instance. Cliquez sur la nouvelle instance pour afficher les détails la concernant, y compris son adresse IP privée.
Dans la section Se connecter à cette instance, copiez et enregistrez le nom de connexion de l'instance. Le connection name
est au format projectID:region:instanceID
.
Vous utiliserez le connection name
lors du démarrage du proxy d'authentification Cloud SQL.
Créer une base de données
Revenez à la page de présentation de l'instance et sélectionnez l'élément de menu Bases de données.
- Sélectionnez Créer une base de données.
- Saisissez un nom DB_NAME dans le champ Nom de la base de données.
- Cliquez sur Créer.
Vous utiliserez cette méthode db_name
lorsque vous vous connectez à l'aide du proxy d'authentification Cloud SQL.
Créer une VM Compute Engine
-
Dans Google Cloud Console, accédez à la page Instances de VM.
- Cliquez sur Create instance (Créer une instance).
- Entrez un nom pour l'instance.
- Dans la section Niveaux d'accès, sélectionnez Autoriser l'accès complet à toutes les API Cloud.
- Cliquez sur Créer, puis patientez jusqu'à la fin de la création de la VM.
Ouvrir deux connexions SSH à la VM Compute Engine
Nous utilisons deux fenêtres dans la VM. La première fenêtre permet d'installer le client psql et le proxy d'authentification Cloud SQL, puis d'obtenir le nom de connexion de l'instance et de l'utiliser pour démarrer le proxy. La deuxième fenêtre permet de se connecter à l'instance Cloud SQL via le proxy.
- Développez le menu SSH dans la colonne Connecter de votre instance de VM Compute Engine.
- Sélectionnez Ouvrir dans une fenêtre du navigateur pour ouvrir la fenêtre SSH 1.
L'affichage de l'invite dans la fenêtre peut prendre quelques secondes.
- Lorsque l'invite s'affiche, saisissez
pwd
pour vérifier que vous êtes bien dans le répertoire/home/$USER
.Vous allez installer le client psql et le proxy d'authentification Cloud SQL, puis démarrer le proxy dans cette fenêtre.
- Sélectionnez à nouveau Ouvrir dans la fenêtre du navigateur pour ouvrir la fenêtre SSH 2.
Vous allez utiliser cette fenêtre pour vous connecter à votre instance Cloud SQL.
Installer le client psql
Utilisez la fenêtre SSH 1 pour cette étape.
Installez le client psql à partir du gestionnaire de packages :
sudo apt-get update sudo apt-get install postgresql-client
Installer le proxy d'authentification Cloud SQL
Utilisez la fenêtre SSH 1 pour cette étape.
- Installez
wget
:sudo apt-get install wget
- Téléchargez le proxy d'authentification Cloud SQL :
wget https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.8.2/cloud-sql-proxy.linux.amd64 \ -O cloud-sql-proxy
- Rendez le proxy d'authentification Cloud SQL exécutable :
chmod +x cloud-sql-proxy
Démarrer le proxy d'authentification Cloud SQL
Utilisez la fenêtre SSH 1 pour cette étape.
Démarrez le proxy d'authentification Cloud SQL pour pouvoir surveiller sa sortie. Remplacez INSTANCE_CONNECTION_NAME
par le connection name
que vous avez copié lors de la création de l'instance Cloud SQL.
./cloud-sql-proxy --private-ip INSTANCE_CONNECTION_NAME
Lorsque le proxy d'authentification Cloud SQL démarre correctement, un message semblable au suivant s'affiche dans la fenêtre SSH :
Listening on 127.0.0.1:5432 for myInstance Ready for new connections
Vous connecter à l'instance Cloud SQL
Utilisez la fenêtre SSH 2 pour cette étape.
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 sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :
-
Dans Google Cloud Console, accédez à la page Instances Cloud SQL.
- Sélectionnez l'instance
myinstance
pour ouvrir la page Détails de l'instance. - Dans la barre d'icônes en haut de la page, cliquez sur Supprimer.
- 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
Dans Google Cloud Console, accédez à la page API.
Sélectionnez l'API Cloud SQL Admin, puis cliquez sur le bouton Désactiver l'API.
Dans Google Cloud Console, accédez à la page Instances de VM.
Sélectionnez le nom de votre instance.
Sélectionnez Supprimer dans le menu Autres actions.
Étape suivante
En fonction de vos besoins, vous pouvez en apprendre plus sur la création d'instances Cloud SQL.
Vous pouvez également découvrir comment créer des utilisateurs et des bases de données PostgreSQL pour votre instance Cloud SQL.
Vous pouvez également en savoir plus sur la connexion à une instance Cloud SQL à partir d'autres applications Google Cloud :