Se connecter à Cloud SQL pour PostgreSQL depuis Cloud Functions

Découvrez comment déployer un exemple d'application sur Cloud Functions connecté à une instance PostgreSQL à l'aide de la console Google Cloud et d'une application cliente.

En supposant que vous réalisiez toutes les étapes dans un délai raisonnable, les ressources créées dans ce guide de démarrage rapide coûtent généralement moins d'un dollar (USD).

Avant de commencer

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  5. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  6. Activez les APIs Cloud nécessaires pour exécuter un exemple d'application Cloud SQL sur Cloud Functions.

    Console

    Cliquez sur Activer les API pour activer les API requises dans ce guide de démarrage rapide.

    Activer les API

    Cela aura pour effet d'activer les API suivantes :

    • API Cloud Functions
    • API Cloud SQL Admin
    • API Cloud Run Admin
    • API Cloud Build
    • API Artifact Registry
    • API Eventarc
    • API Compute Engine
    • API Service Networking
    • API Cloud Logging

    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 suivante à l'aide de Cloud Shell :

    gcloud services enable cloudfunctions.googleapis.com sqladmin.googleapis.com run.googleapis.com cloudbuild.googleapis.com artifactregistry.googleapis.com eventarc.googleapis.com compute.googleapis.com servicenetworking.googleapis.com pubsub.googleapis.com logging.googleapis.com

    Cette commande active les API suivantes :

    • API Cloud Functions
    • API Cloud SQL Admin
    • API Cloud Run
    • API Cloud Build
    • API Artifact Registry
    • API Eventarc
    • API Compute Engine
    • API Service Networking
    • API Cloud Logging
  7. Ajoutez à votre utilisateur le rôle IAM Demandeur Cloud Functions.

    Ajouter le rôle

Configurer Cloud SQL

Créer une instance Cloud SQL

Créer une base de données

Console

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

    Accéder à la page Instances Cloud SQL

  2. Sélectionnez quickstart-instance.
  3. Dans le menu de navigation SQL, sélectionnez Bases de données.
  4. Cliquez sur Créer une base de données.
    1. Dans le champ Nom de la base de données de la boîte de dialogue Nouvelle base de données, saisissez quickstart-db.
    2. Cliquez sur Créer.

gcloud

Exécutez la commande gcloud sql databases create pour créer une base de données.

gcloud sql databases create quickstart-db --instance=quickstart-instance

Créer un compte utilisateur

Console

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

    Accéder à la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Dans le menu de navigation SQL, sélectionnez Utilisateurs.
  4. Cliquez sur Ajouter un compte utilisateur.
  5. Sur la page Ajouter un compte utilisateur pour l'instance quickstart-instance, ajoutez les informations suivantes :
    • Dans le champ Nom d'utilisateur, saisissez quickstart-user.
    • Dans le champ Mot de passe, indiquez un mot de passe pour votre utilisateur de base de données. Notez-le pour l'utiliser dans une étape ultérieure de ce guide de démarrage rapide.
  6. Cliquez sur Ajouter.

gcloud

Avant d'exécuter la commande suivante, effectuez les remplacements suivants :

  1. DB_PASS par le mot de passe de l'utilisateur de base de données. Notez-le pour l'utiliser dans une étape ultérieure de ce guide de démarrage rapide.

Exécutez la commande gcloud sql users create pour créer l'utilisateur.

gcloud sql users create quickstart-user \
--instance=quickstart-instance \
--password=DB_PASS

Les limites de longueur des noms d'utilisateur sont identiques pour Cloud SQL et pour PostgreSQL sur site.

Configurer un compte de service Cloud Functions

Configurez le compte de service utilisé par Cloud Functions afin de lui attribuer le rôle Client Cloud SQL qui inclut les autorisations nécessaires pour se connecter à Cloud SQL.

Console

  1. Dans Google Cloud Console, accédez à la page IAM.

    Accéder à IAM

  2. Pour le compte de service nommé Compte de service Compute Engine par défaut, cliquez sur l'icône en forme de crayon.
  3. Cliquez sur AJOUTER UN AUTRE RÔLE.
  4. Ajoutez le rôle nommé Client Cloud SQL.
  5. Cliquez sur Enregistrer.

gcloud

  1. Exécutez la commande gcloud suivante pour obtenir la liste des comptes de service de votre projet :
    gcloud iam service-accounts list
  2. Copiez l'adresse e-mail associée au compte de service Compute Engine.
  3. Exécutez la commande suivante pour attribuer le rôle Client Cloud SQL au compte de service Compute Engine :
    gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
      --role="roles/cloudsql.client"

Créer une fonction

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

    Accéder à Cloud Functions

  2. Cliquez sur Create function (Créer une fonction).
  3. Pour l'option Environment (Environnement), sélectionnez 2nd gen (2e génération).
  4. Dans le champ Nom de la fonction, saisissez quickstart-function.
  5. Dans la section Authentification, cochez Autoriser les appels non authentifiés.
  6. Cliquez sur Suivant.
  7. Dans le menu Environnement d'exécution, sélectionnez l'un des langages suivants :
  8. Langue Numéro de version
    Go 1.20
    Java 17
    Node.js 18
    Python 3,10
  9. Dans le menu Code source, vérifiez que l'option Éditeur intégré est sélectionnée. Dans cette étape, vous allez utiliser la fonction fournie par défaut dans l'éditeur.

Déployer la fonction

  1. Au bas de la page Cloud Functions, cliquez sur Déployer. La console Google Cloud vous redirige vers la page des détails de la fonction.
  2. Une fois le déploiement de la fonction terminé, cliquez sur le lien URL pour afficher un navigateur Web avec le message Hello, World!.

Déployer l'exemple d'application Cloud SQL en tant que fonction

Vous allez configurer et déployer l'exemple d'application Cloud SQL en tant que fonction dans Cloud Functions. Tout d'abord, vous allez utiliser Cloud Shell pour configurer et créer l'exemple d'application. Vous utiliserez ensuite Cloud Functions pour déployer l'exemple d'application.

Il existe deux manières de configurer, compiler et déployer l'application selon que vous avez créé une instance Cloud SQL pour PostgreSQL avec une adresse IP publique ou une adresse IP privée.

Configurer un exemple d'application Cloud SQL

Déployer l'application exemple

Les étapes permettant de déployer l'exemple sur Cloud Functions dépendent du type d'adresse IP que vous avez attribué à votre instance Cloud SQL.

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 :

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

    Accéder à la page Instances Cloud SQL

  2. Sélectionnez l'instance quickstart-instance 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 boîte de dialogue Supprimer l'instance, saisissez quickstart-instance puis cliquez sur Supprimer pour supprimer l'instance.
  5. Dans la console Google Cloud, accédez à la page Cloud Functions.

    Accéder à Cloud Functions

  6. Cochez la case à côté du nom du service quickstart-function.
  7. Cliquez sur Supprimer en haut de la page Cloud Functions.

Étapes de nettoyage facultatives

Si vous n'utilisez pas le rôle Client Cloud SQL que vous avez attribué au compte de service Compute Engine, vous pouvez le supprimer.

  1. Dans Google Cloud Console, accédez à la page IAM.

    Accéder à IAM

  2. Cliquez sur l'icône de modification (en forme de crayon) pour le compte IAM nommé Compte de service Compute Engine par défaut.
  3. Supprimez le rôle Client Cloud SQL.
  4. Cliquez sur Enregistrer.

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 Compute Engine
    • API Cloud SQL Admin
    • API Cloud Run
    • API Container Registry
    • API Cloud Build
  1. Dans Google Cloud Console, accédez à la page API.

    Accéder aux API

  2. Sélectionnez l'API que vous souhaitez désactiver, puis cliquez sur le bouton Désactiver l'API.

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

Pour en savoir plus sur la tarification, consultez la page Tarifs de Cloud SQL pour PostgreSQL.

En savoir plus :

  • Configurez votre instance Cloud SQL avec une adresse IP publique.
  • Configurez votre instance Cloud SQL avec une adresse IP privée.

Vous pouvez également en savoir plus sur la connexion à une instance Cloud SQL à partir d'autres applications Google Cloud :