Se connecter à Cloud SQL pour PostgreSQL depuis les fonctions Cloud Run

Découvrez comment déployer un exemple d'application sur les fonctions Cloud Run 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. 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. Activez les APIs Cloud nécessaires pour exécuter un exemple d'application Cloud SQL sur les fonctions Cloud Run.

    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 Run 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

    Cliquez sur le bouton suivant pour ouvrir Cloud Shell, qui fournit un accès en ligne de commande à vos Google Cloud ressources 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 Run 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
  5. Ajoutez à votre utilisateur le rôle IAM Demandeur de fonctions Cloud Run.

    Ajouter le rôle

Configurer Cloud SQL

Créer une instance Cloud SQL

Adresse IP publique

  1. Dans Google Cloud Console, 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. Assurez-vous que l'édition Cloud SQL Enterprise Plus est sélectionnée pour votre instance.
  5. Dans le champ ID d'instance, saisissez quickstart-instance.
  6. Dans le champ Mot de passe, entrez le mot de passe de l'utilisateur Postgres. Enregistrez ce mot de passe pour une utilisation ultérieure.
  7. Dans la section Sélectionner la disponibilité régionale et zonale, sélectionnez Zone unique.
  8. Cliquez sur le menu Afficher les options de configuration.
  9. Développez le nœud Configuration de la machine.
  10. Dans la région Configurations de machines, sélectionnez la configuration 4 vCPU, 32 Go.
  11. Cliquez sur Créer une instance, puis attendez que l'instance s'initialise et démarre.

Avant d'exécuter la commande comme suit, remplacez DB_ROOT_PASSWORD par le mot de passe de votre utilisateur de base de données.

Vous pouvez également modifier les valeurs des paramètres suivants :

  • --database-version : type et version du moteur de base de données. Si aucune valeur n'est spécifiée, la valeur par défaut de l'API est utilisée. Consultez la documentation de gcloud database versions pour afficher les versions actuellement disponibles.
  • --cpu : nombre de cœurs souhaités dans la machine.
  • --memory : nombre entier indiquant la quantité de mémoire souhaitée sur la machine. Une unité de taille doit être fournie (par exemple, 3072 Mo ou 9 Go). Si aucune unité n'est spécifiée, la valeur par défaut est Go.
  • --region : emplacement régional de l'instance (par exemple, asia-east1, us-east1). Si aucune opération n'est spécifiée, la valeur par défaut (us-central) est utilisée.

Exécutez la commande gcloud sql instances create pour créer une instance Cloud SQL.

gcloud sql instances create quickstart-instance \
--database-version=POSTGRES_14 \
 --cpu=1 \
 --memory=4GB \
 --region=us-central \
 --root-password=DB_ROOT_PASSWORD

Allouer une plage d'adresses IP et créer une connexion privée pour configurer l'accès aux services privés pour Cloud SQL

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

    Accéder aux réseaux VPC

  2. Sélectionnez le réseau VPC default.
  3. Sélectionnez l'onglet Connexion au service privé.
  4. Sélectionnez l'onglet Plages d'adresses IP allouées pour les services.
  5. Cliquez sur Allouer une plage d'adresses IP.
  6. Dans le champ Nom de la plage allouée, spécifiez google-managed-services-default.
  7. Sélectionnez l'option Automatique pour la plage d'adresses IP, puis définissez la longueur du préfixe sur 16.
  8. Cliquez sur Allouer pour créer la plage allouée.
  9. Sélectionnez l'onglet Connexions privées aux services pour le réseau VPC default.
  10. Cliquez sur Créer une connexion pour créer une connexion privée entre votre réseau et un producteur de services.
  11. Pour Allocation attribuée, sélectionnez google-managed-services-default.
  12. Cliquez sur Connecter pour créer la connexion.

Créer une instance avec une adresse IP privée et SSL activé

  1. Dans Google Cloud Console, 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. Assurez-vous que l'édition Cloud SQL Enterprise Plus est sélectionnée pour votre instance.
  5. Dans le champ ID d'instance, saisissez quickstart-instance.
  6. Dans le champ Mot de passe, entrez le mot de passe de l'utilisateur Postgres. Enregistrez ce mot de passe pour une utilisation ultérieure.
  7. Dans la section Sélectionner la disponibilité régionale et zonale, sélectionnez Zone unique.
  8. Cliquez sur le menu Afficher les options de configuration.
  9. Développez le nœud Configuration de la machine.
  10. Dans la région Configurations de machines, sélectionnez la configuration 4 vCPU, 32 Go.
  11. Développez le nœud Connexions.
  12. Décochez la case Adresse IP publique pour créer une instance qui dispose uniquement d'une adresse IP privée.
  13. Cochez la case Adresse IP privée.
  14. Dans le menu Réseau, sélectionnez Par défaut.
  15. Cliquez sur Créer une instance, puis attendez que l'instance s'initialise et démarre.
  16. Cliquez sur Connexions.
  17. Dans la section Sécurité, sélectionnez Autoriser uniquement les connexions SSL pour activer les connexions SSL.
  18. Dans la boîte de dialogue Autoriser uniquement les connexions SSL, cliquez sur Enregistrer, puis attendez que l'instance redémarre.

Allouer une plage d'adresses IP et créer une connexion privée pour configurer l'accès aux services privés pour Cloud SQL

  1. Exécutez la commande gcloud compute addresses create pour allouer une plage d'adresses IP.

    gcloud compute addresses create google-managed-services-default \
    --global --purpose=VPC_PEERING --prefix-length=16 \
    --description="peering range for Google" --network=default
  2. Exécutez la commande gcloud services vpc-peerings connect pour créer une connexion privée à la plage d'adresses IP allouée. Remplacez YOUR_PROJECT_ID par l'ID de votre projet.

    gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com \
    --ranges=google-managed-services-default --network=default \
    --project=YOUR_PROJECT_ID

Créer une instance avec une adresse IP privée et SSL activé

  1. Avant d'exécuter la commande comme suit, remplacez DB_ROOT_PASSWORD par le mot de passe de votre utilisateur de base de données.

  2. Vous pouvez également modifier les valeurs des paramètres suivants :

    • --database-version : type et version du moteur de base de données. Si aucune valeur n'est spécifiée, la valeur par défaut de l'API est utilisée. Consultez la documentation de gcloud database versions pour afficher les versions actuellement disponibles.
    • --cpu : nombre de cœurs dans la machine.
    • --memory : valeur entière indiquant la quantité de mémoire souhaitée sur la machine. Une unité de taille peut être fournie (par exemple, 3072 Mo ou 9 Go). Si aucune unité n'est spécifiée, la valeur par défaut est Go.
    • --region : emplacement régional de l'instance (par exemple, asia-east1, us-east1). Si aucune opération n'est spécifiée, la valeur par défaut (us-central1) est utilisée. Consultez la liste complète des régions.

    Exécutez la commande gcloud sql instances create pour créer une instance Cloud SQL avec une adresse IP privée.

    gcloud sql instances create quickstart-instance \
    --database-version=POSTGRES_14 \
     --cpu=1 \
     --memory=4GB \
     --region=us-central \
     --root-password=DB_ROOT_PASSWORD \
     --no-assign-ip \
    --network=default
  3. Exécutez la commande gcloud sql instances patch pour activer l'option Autoriser uniquement les connexions SSL pour l'instance.

  4. gcloud sql instances patch quickstart-instance --require-ssl

Créer une base de données

  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.

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

  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.

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 de fonctions Cloud Run

Configurez le compte de service utilisé par les fonctions Cloud Run afin de lui attribuer le rôle Client Cloud SQL qui inclut les autorisations nécessaires pour se connecter à Cloud SQL.
  1. Dans la console Google Cloud, 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.
  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 Fonctions Cloud Run.

    Accéder aux fonctions Cloud Run

  2. Cliquez sur 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. Langage 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 Fonctios Cloud Run, cliquez sur Déployer. La console Google Cloud vous redirige vers la page d'informations 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 les fonctions Cloud Run. Tout d'abord, vous allez utiliser Cloud Shell pour configurer et créer l'exemple d'application. Vous utiliserez ensuite les fonctions Cloud Run 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

Adresse IP publique

Pour les chemins d'accès des adresses IP publiques, les fonctions Cloud Run assurent le chiffrement et se connectent à l'aide du proxy d'authentification Cloud SQL via des sockets Unix.
  1. Dans l'éditeur Cloud Shell, ouvrez le code source de l'exemple d'application.

    Ouvrir l'éditeur Cloud Shell

  2. Dans la boîte de dialogue Ouvrir dans Cloud Shell, cliquez sur Confirmer pour télécharger le code de l'exemple d'application et ouvrir le répertoire de l'exemple d'application dans l'éditeur Cloud Shell.
  3. Dans l'invite de commande Cloud Shell, dans la moitié inférieure de l'écran, sous l'éditeur Cloud Shell, exécutez la commande suivante pour activer votre projet. en remplaçant YOUR_PROJECT_ID par l'ID de votre projet :
    gcloud config set project YOUR_PROJECT_ID
  4. Si une boîte de dialogue Autoriser Cloud Shell s'affiche, cliquez sur Autoriser.
  5. Exécutez la commande gcloud artifacts repositories create suivante dans Cloud Shell pour créer un dépôt dans Artifact Registry nommé quickstart-repo dans la même région que votre instance Cloud SQL. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Exécutez la commande gcloud builds submit comme suit dans Cloud Shell pour créer un conteneur Docker et le publier dans Artifact Registry. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  7. Dans les fonctions Cloud Run gen2, la configuration et l'exécution automatiques du proxy d'authentification Cloud SQL ne sont pas prises en charge. Ces fonctionnalités sont prises en charge en utilisant Cloud Run. Vous devez modifier manuellement le service Cloud Run sous-jacent pour configurer et exécuter le proxy d'authentification Cloud SQL avec le service à l'aide de l'option --add-cloudsql-instances. Remplacez INSTANCE_CONNECTION_NAME par le nom de connexion de l'instance.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME
  1. Dans l'éditeur Cloud Shell, ouvrez le code source de l'exemple d'application.

    Ouvrir l'éditeur Cloud Shell

  2. Dans la boîte de dialogue Ouvrir dans Cloud Shell, cliquez sur Confirmer pour télécharger le code de l'exemple d'application et ouvrir le répertoire de l'exemple d'application dans l'éditeur Cloud Shell.
  3. Dans l'invite de commande Cloud Shell, dans la moitié inférieure de l'écran, sous l'éditeur Cloud Shell, exécutez la commande suivante pour activer votre projet. en remplaçant YOUR_PROJECT_ID par l'ID de votre projet :
    gcloud config set project YOUR_PROJECT_ID
  4. Si une boîte de dialogue Autoriser Cloud Shell s'affiche, cliquez sur Autoriser.
  5. Exécutez la commande gcloud artifacts repositories create suivante dans Cloud Shell pour créer un dépôt dans Artifact Registry nommé quickstart-repo dans la même région que votre instance Cloud SQL. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Exécutez la commande mvn comme suit dans Cloud Shell pour créer un conteneur Docker et le publier dans Artifact Registry. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \
      -Dimage=YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql \
      -DskipTests -Djib.to.credHelper=gcloud
  7. Dans les fonctions Cloud Run gen2, la configuration et l'exécution automatiques du proxy d'authentification Cloud SQL ne sont pas prises en charge. Ces fonctionnalités sont prises en charge en utilisant Cloud Run. Vous devez modifier manuellement le service Cloud Run sous-jacent pour configurer et exécuter le proxy d'authentification Cloud SQL avec le service à l'aide de l'option --add-cloudsql-instances. Remplacez INSTANCE_CONNECTION_NAME par le nom de connexion de l'instance.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME
  1. Dans l'éditeur Cloud Shell, ouvrez le code source de l'exemple d'application.

    Ouvrir l'éditeur Cloud Shell

  2. Dans la boîte de dialogue Ouvrir dans Cloud Shell, cliquez sur Confirmer pour télécharger le code de l'exemple d'application et ouvrir le répertoire de l'exemple d'application dans l'éditeur Cloud Shell.
  3. Dans l'invite de commande Cloud Shell, dans la moitié inférieure de l'écran, sous l'éditeur Cloud Shell, exécutez la commande suivante pour activer votre projet. en remplaçant YOUR_PROJECT_ID par l'ID de votre projet :
    gcloud config set project YOUR_PROJECT_ID
  4. Si une boîte de dialogue Autoriser Cloud Shell s'affiche, cliquez sur Autoriser.
  5. Exécutez la commande gcloud artifacts repositories create suivante dans Cloud Shell pour créer un dépôt dans Artifact Registry nommé quickstart-repo dans la même région que votre instance Cloud SQL. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Exécutez la commande gcloud builds submit comme suit dans Cloud Shell pour créer un conteneur Docker et le publier dans Artifact Registry. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  7. Dans les fonctions Cloud Run gen2, la configuration et l'exécution automatiques du proxy d'authentification Cloud SQL ne sont pas prises en charge. Ces fonctionnalités sont prises en charge en utilisant Cloud Run. Vous devez modifier manuellement le service Cloud Run sous-jacent pour configurer et exécuter le proxy d'authentification Cloud SQL avec le service à l'aide de l'option --add-cloudsql-instances. Remplacez INSTANCE_CONNECTION_NAME par le nom de connexion de l'instance.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME
  1. Dans l'éditeur Cloud Shell, ouvrez le code source de l'exemple d'application.

    Ouvrir l'éditeur Cloud Shell

  2. Dans la boîte de dialogue Ouvrir dans Cloud Shell, cliquez sur Confirmer pour télécharger le code de l'exemple d'application et ouvrir le répertoire de l'exemple d'application dans l'éditeur Cloud Shell.
  3. Dans l'invite de commande Cloud Shell, dans la moitié inférieure de l'écran, sous l'éditeur Cloud Shell, exécutez la commande suivante pour activer votre projet. en remplaçant YOUR_PROJECT_ID par l'ID de votre projet :
    gcloud config set project YOUR_PROJECT_ID
  4. Si une boîte de dialogue Autoriser Cloud Shell s'affiche, cliquez sur Autoriser.
  5. Exécutez la commande gcloud artifacts repositories create suivante dans Cloud Shell pour créer un dépôt dans Artifact Registry nommé quickstart-repo dans la même région que votre instance Cloud SQL. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Exécutez la commande gcloud builds submit comme suit dans Cloud Shell pour créer un conteneur Docker et le publier dans Artifact Registry. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  7. Dans les fonctions Cloud Run gen2, la configuration et l'exécution automatiques du proxy d'authentification Cloud SQL ne sont pas prises en charge. Ces fonctionnalités sont prises en charge en utilisant Cloud Run. Vous devez modifier manuellement le service Cloud Run sous-jacent pour configurer et exécuter le proxy d'authentification Cloud SQL avec le service à l'aide de l'option --add-cloudsql-instances. Remplacez INSTANCE_CONNECTION_NAME par le nom de connexion de l'instance.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME
Pour les chemins d'accès des adresses IP privées, votre application se connecte directement à votre instance via l'accès au VPC sans serveur. Cette méthode utilise un socket TCP pour se connecter directement à l'instance Cloud SQL sans utiliser le proxy d'authentification Cloud SQL.

Créer et télécharger des certificats SSL de serveur et de client

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

    Accéder à la page Instances Cloud SQL

  2. Cliquez sur quickstart-instance pour afficher la page Présentation.
  3. Cliquez sur l'onglet Connexions.
  4. Dans la section Sécurité, cliquez sur Créer un certificat client.
  5. Dans la boîte de dialogue Créer un certificat client, saisissez quickstart-key comme nom, puis cliquez sur Créer.
  6. Dans la boîte de dialogue Nouveau certificat SSL créé, cliquez sur chaque lien de téléchargement pour télécharger les certificats. Ensuite, cliquez sur Fermer.

Créer une connexion VPC sans serveur pour les connexions à l'instance via une adresse IP privée

  1. Dans la console Google Cloud, accédez à la page Accès au VPC sans serveur - Créer un connecteur.

    Créer un connecteur VPC sans serveur

  2. Saisissez quickstart-connector pour le Nom.
  3. Sélectionnez Valeur par défaut dans le menu déroulant Réseau.
  4. Sélectionnez Plage d'adresses IP personnalisée dans le menu déroulant Sous-réseau.
  5. Saisissez 10.8.0.0 dans la zone de saisie Plage d'adresses IP.
  6. Cliquez sur Créer pour créer le connecteur.

Créer un exemple d'application avec les certificats SSL

  1. Dans l'éditeur Cloud Shell, ouvrez le code source de l'exemple d'application.
    Ouvrir l'éditeur Cloud Shell
  2. Dans la boîte de dialogue Ouvrir dans Cloud Shell, cliquez sur Confirmer pour télécharger le code de l'exemple d'application et ouvrir le répertoire de l'exemple d'application dans l'éditeur Cloud Shell.
  3. Dans l'invite de commande Cloud Shell, dans la moitié inférieure de l'écran, sous l'éditeur Cloud Shell, exécutez la commande suivante pour activer votre projet. en remplaçant YOUR_PROJECT_ID par l'ID de votre projet :
    gcloud config set project YOUR_PROJECT_ID
  4. Si une boîte de dialogue Autoriser Cloud Shell s'affiche, cliquez sur Autoriser.
  5. Importez les fichiers de certificats SSL dans le dossier certs.
    1. Faites un clic droit sur le dossier certs dans l'éditeur Cloud Shell, puis sélectionnez Importer des fichiers.
    2. Sélectionnez les fichiers suivants sur votre ordinateur local :
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    3. Après avoir sélectionné les trois fichiers de certificat SSL, cliquez sur Ouvrir pour terminer l'importation des fichiers dans l'éditeur Cloud Shell.
  6. Exécutez la commande gcloud artifacts repositories create suivante dans Cloud Shell pour créer un dépôt dans Artifact Registry nommé quickstart-repo dans la même région que votre instance Cloud SQL. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  7. Exécutez la commande gcloud builds submit comme suit dans Cloud Shell pour créer un conteneur Docker et le publier dans Artifact Registry. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  8. Dans les fonctions Cloud Run gen2, la configuration et l'exécution automatiques du proxy d'authentification Cloud SQL ne sont pas prises en charge. Ces fonctionnalités sont prises en charge en utilisant Cloud Run. Vous devez modifier manuellement le service Cloud Run sous-jacent pour configurer et exécuter le proxy d'authentification Cloud SQL avec le service à l'aide de l'option --add-cloudsql-instances. Remplacez INSTANCE_CONNECTION_NAME par le nom de connexion de l'instance.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME

Créer et télécharger des certificats SSL de serveur et de client

Pour les utilisateurs Java, le connecteur fournit déjà une connexion sécurisée. Il n'est donc pas nécessaire de créer et de télécharger les certificats SSL client et de serveur.

Créer une connexion VPC sans serveur pour les connexions à l'instance via une adresse IP privée

  1. Dans la console Google Cloud, accédez à la page Accès au VPC sans serveur - Créer un connecteur.

    Créer un connecteur VPC sans serveur

  2. Saisissez quickstart-connector pour le Nom.
  3. Sélectionnez Valeur par défaut dans le menu déroulant Réseau.
  4. Sélectionnez Plage d'adresses IP personnalisée dans le menu déroulant Sous-réseau.
  5. Saisissez 10.8.0.0 dans la zone de saisie Plage d'adresses IP.
  6. Cliquez sur Créer pour créer le connecteur.

Exemple d'application

  1. Dans l'éditeur Cloud Shell, ouvrez le code source de l'exemple d'application.
    Ouvrir l'éditeur Cloud Shell
  2. Dans la boîte de dialogue Ouvrir dans Cloud Shell, cliquez sur Confirmer pour télécharger le code de l'exemple d'application et ouvrir le répertoire de l'exemple d'application dans l'éditeur Cloud Shell.
  3. Dans l'invite de commande Cloud Shell, dans la moitié inférieure de l'écran, sous l'éditeur Cloud Shell, exécutez la commande suivante pour activer votre projet. en remplaçant YOUR_PROJECT_ID par l'ID de votre projet :
    gcloud config set project YOUR_PROJECT_ID
  4. Si une boîte de dialogue Autoriser Cloud Shell s'affiche, cliquez sur Autoriser.
  5. Exécutez la commande gcloud artifacts repositories create suivante dans Cloud Shell pour créer un dépôt dans Artifact Registry nommé quickstart-repo dans la même région que votre instance Cloud SQL. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Exécutez la commande mvn comme suit dans Cloud Shell pour créer un conteneur Docker et le publier dans Artifact Registry. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \
      -Dimage=YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql \
      -DskipTests -Djib.to.credHelper=gcloud
  7. Dans les fonctions Cloud Run gen2, la configuration et l'exécution automatiques du proxy d'authentification Cloud SQL ne sont pas prises en charge. Ces fonctionnalités sont prises en charge en utilisant Cloud Run. Vous devez modifier manuellement le service Cloud Run sous-jacent pour configurer et exécuter le proxy d'authentification Cloud SQL avec le service à l'aide de l'option --add-cloudsql-instances. Remplacez INSTANCE_CONNECTION_NAME par le nom de connexion de l'instance.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME

Créer et télécharger des certificats SSL de serveur et de client

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

    Accéder à la page Instances Cloud SQL

  2. Cliquez sur quickstart-instance pour afficher la page Présentation.
  3. Cliquez sur l'onglet Connexions.
  4. Dans la section Sécurité, cliquez sur Créer un certificat client.
  5. Dans la boîte de dialogue Créer un certificat client, saisissez quickstart-key comme nom, puis cliquez sur Créer.
  6. Dans la boîte de dialogue Nouveau certificat SSL créé, cliquez sur chaque lien de téléchargement pour télécharger les certificats. Ensuite, cliquez sur Fermer.

Créer une connexion VPC sans serveur pour les connexions à l'instance via une adresse IP privée

  1. Dans la console Google Cloud, accédez à la page Accès au VPC sans serveur - Créer un connecteur.

    Créer un connecteur VPC sans serveur

  2. Saisissez quickstart-connector pour le Nom.
  3. Sélectionnez Valeur par défaut dans le menu déroulant Réseau.
  4. Sélectionnez Plage d'adresses IP personnalisée dans le menu déroulant Sous-réseau.
  5. Saisissez 10.8.0.0 dans la zone de saisie Plage d'adresses IP.
  6. Cliquez sur Créer pour créer le connecteur.

Créer un exemple d'application avec les certificats SSL

  1. Dans l'éditeur Cloud Shell, ouvrez le code source de l'exemple d'application.
    Ouvrir l'éditeur Cloud Shell
  2. Dans la boîte de dialogue Ouvrir dans Cloud Shell, cliquez sur Confirmer pour télécharger le code de l'exemple d'application et ouvrir le répertoire de l'exemple d'application dans l'éditeur Cloud Shell.
  3. Dans l'invite de commande Cloud Shell, dans la moitié inférieure de l'écran, sous l'éditeur Cloud Shell, exécutez la commande suivante pour activer votre projet. en remplaçant YOUR_PROJECT_ID par l'ID de votre projet :
    gcloud config set project YOUR_PROJECT_ID
  4. Importez les fichiers de certificats SSL dans le dossier certs.
    1. Faites un clic droit sur le dossier certs dans l'éditeur Cloud Shell, puis sélectionnez Importer des fichiers.
    2. Sélectionnez les fichiers suivants sur votre ordinateur local :
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    3. Après avoir sélectionné les trois fichiers de certificat SSL, cliquez sur Ouvrir pour terminer l'importation des fichiers dans l'éditeur Cloud Shell.
  5. Exécutez la commande gcloud artifacts repositories create suivante dans Cloud Shell pour créer un dépôt dans Artifact Registry nommé quickstart-repo dans la même région que votre instance Cloud SQL. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Exécutez la commande gcloud builds submit comme suit dans Cloud Shell pour créer un conteneur Docker et le publier dans Artifact Registry. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  7. Dans les fonctions Cloud Run gen2, la configuration et l'exécution automatiques du proxy d'authentification Cloud SQL ne sont pas prises en charge. Ces fonctionnalités sont prises en charge en utilisant Cloud Run. Vous devez modifier manuellement le service Cloud Run sous-jacent pour configurer et exécuter le proxy d'authentification Cloud SQL avec le service à l'aide de l'option --add-cloudsql-instances. Remplacez INSTANCE_CONNECTION_NAME par le nom de connexion de l'instance.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME

Créer et télécharger des certificats SSL de serveur et de client

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

    Accéder à la page Instances Cloud SQL

  2. Cliquez sur quickstart-instance pour afficher la page Présentation.
  3. Cliquez sur l'onglet Connexions.
  4. Dans la section Sécurité, cliquez sur Créer un certificat client.
  5. Dans la boîte de dialogue Créer un certificat client, saisissez quickstart-key comme nom, puis cliquez sur Créer.
  6. Dans la boîte de dialogue Nouveau certificat SSL créé, cliquez sur chaque lien de téléchargement pour télécharger les certificats. Ensuite, cliquez sur Fermer.

Créer une connexion VPC sans serveur pour les connexions à l'instance via une adresse IP privée

  1. Dans la console Google Cloud, accédez à la page Accès au VPC sans serveur - Créer un connecteur.

    Créer un connecteur VPC sans serveur

  2. Saisissez quickstart-connector pour le Nom.
  3. Sélectionnez Valeur par défaut dans le menu déroulant Réseau.
  4. Sélectionnez Plage d'adresses IP personnalisée dans le menu déroulant Sous-réseau.
  5. Saisissez 10.8.0.0 dans la zone de saisie Plage d'adresses IP.
  6. Cliquez sur Créer pour créer le connecteur.

Créer un exemple d'application avec les certificats SSL

  1. Dans l'éditeur Cloud Shell, ouvrez le code source de l'exemple d'application.
    Ouvrir l'éditeur Cloud Shell
  2. Dans la boîte de dialogue Ouvrir dans Cloud Shell, cliquez sur Confirmer pour télécharger le code de l'exemple d'application et ouvrir le répertoire de l'exemple d'application dans l'éditeur Cloud Shell.
  3. Dans l'invite de commande Cloud Shell, dans la moitié inférieure de l'écran, sous l'éditeur Cloud Shell, exécutez la commande suivante pour activer votre projet. en remplaçant YOUR_PROJECT_ID par l'ID de votre projet :
    gcloud config set project YOUR_PROJECT_ID
  4. Importez les fichiers de certificats SSL dans le dossier certs.
    1. Faites un clic droit sur le dossier certs dans l'éditeur Cloud Shell, puis sélectionnez Importer des fichiers.
    2. Sélectionnez les fichiers suivants sur votre ordinateur local :
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    3. Après avoir sélectionné les trois fichiers de certificat SSL, cliquez sur Ouvrir pour terminer l'importation des fichiers dans l'éditeur Cloud Shell.
  5. Exécutez la commande gcloud artifacts repositories create suivante dans Cloud Shell pour créer un dépôt dans Artifact Registry nommé quickstart-repo dans la même région que votre instance Cloud SQL. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Exécutez la commande gcloud builds submit comme suit dans Cloud Shell pour créer un conteneur Docker et le publier dans Artifact Registry. Remplacez YOUR_PROJECT_ID par l'ID du projet et YOUR_REGION_NAME par le nom de la région.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  7. Dans les fonctions Cloud Run gen2, la configuration et l'exécution automatiques du proxy d'authentification Cloud SQL ne sont pas prises en charge. Ces fonctionnalités sont prises en charge en utilisant Cloud Run. Vous devez modifier manuellement le service Cloud Run sous-jacent pour configurer et exécuter le proxy d'authentification Cloud SQL avec le service à l'aide de l'option --add-cloudsql-instances. Remplacez INSTANCE_CONNECTION_NAME par le nom de connexion de l'instance.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME

Déployer l'application exemple

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

Adresse IP publique

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

    Accéder aux fonctions Cloud Run

  2. Sélectionnez le nom quickstart-function que vous avez créé lors d'une étape précédente de ce guide de démarrage rapide.
  3. Sur la page Informations sur la fonction, cliquez sur le lien figurant dans le volet Repose sur Cloud Run pour accéder au service des fonctions Cloud Run sous-jacent.
  4. Cliquez sur MODIFIER ET DÉPLOYER LA NOUVELLE RÉVISION.
  5. Dans le champ URL de l'image du conteneur, cliquez sur Sélectionner.
    1. Sélectionnez l'onglet Artifact Registry, puis développez le nœud quickstart-repo.
    2. Développez le conteneur function-sql et sélectionnez l'image de conteneur que vous avez créée à l'étape précédente.
    3. Cliquez sur Sélectionner.
  6. Créez les variables d'environnement suivantes en cliquant sur Ajouter une variable dans la section Variables d'environnement :
    • INSTANCE_UNIX_SOCKET : défini sur /cloudsql/YOUR_PROJECT_ID:YOUR_REGION_NAME:quickstart-instance.
    • DB_NAME : défini sur quickstart-db.
    • DB_USER : défini sur quickstart-user.
    • DB_PASS : défini sur le mot de passe du quickstart-user spécifié à l'étape précédente Créer un utilisateur de ce guide de démarrage rapide.
  7. Activez la connexion à Cloud SQL :

    1. Dans la section Connexions Cloud SQL, cliquez sur Ajouter une connexion.
    2. Sélectionnez le nom de connexion de l'instance.
  8. Au bas de la page, cliquez sur Deploy (Déployer).
  9. Une fois la quickstart-function déployée, la page quickstart-function affiche une URL vers le service en cours d'exécution. Cliquez sur le lien URL pour afficher l'exemple d'application de fonctions Cloud Run déployé et connecté à Cloud SQL. L'application devrait ressembler à ce qui suit :

    Afficher l'exemple d'application déployé

  1. Pour déployer une fonction gen2 sur les fonctions Cloud Run, exécutez la commande gcloud functions deploy suivante. Avant d'exécuter la commande, mettez à jour les variables suivantes :
    • YOUR_REGION_NAME par le nom de votre région.
    • INSTANCE_CONNECTION_NAME par le nom de connexion de votre instance, qui apparaît sur la page Instances Cloud SQL de la console Google Cloud.

    • DB_PASS par le mot de passe de l'utilisateur quickstart-user que vous avez créé à l'étape précédente Créer un utilisateur de ce guide de démarrage rapide.

    Exécutez la commande gcloud functions deploy comme suit pour créer des fonctions Cloud Run:

    gcloud functions deploy quickstart-function \
    -
    -gen2 \ --runtime go120 \ --trigger-http \ --allow-unauthenticated \ --entry-point Votes \ --region YOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
  2. Lorsque vous voyez un message confirmant que les fonctions Cloud Run ont été déployées, cliquez sur le lien URL du service dans le message pour afficher l'exemple d'application de fonctions Cloud Run déployé connecté à Cloud SQL.

    Afficher l'exemple d'application déployé

  1. Pour déployer une fonction gen2 sur les fonctions Cloud Run, exécutez la commande gcloud functions deploy suivante. Avant d'exécuter la commande, mettez à jour les variables suivantes :
    • YOUR_REGION_NAME par le nom de votre région.
    • INSTANCE_CONNECTION_NAME par le nom de connexion de votre instance, qui apparaît sur la page Instances Cloud SQL de la console Google Cloud.

    • DB_PASS par le mot de passe de l'utilisateur quickstart-user que vous avez créé à l'étape précédente Créer un utilisateur de ce guide de démarrage rapide.

    Exécutez la commande gcloud functions deploy comme suit pour créer des fonctions Cloud Run:

    gcloud functions deploy quickstart-function \
    -
    -gen2 \ --runtime java11 \ --trigger-http \ --allow-unauthenticated \ --entry-point com.example.cloudsql.functions.Main \ --region YOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
  2. Lorsque vous voyez un message confirmant que les fonctions Cloud Run ont été déployées, cliquez sur le lien URL du service dans le message pour afficher l'exemple d'application de fonctions Cloud Run déployé connecté à Cloud SQL.

    Afficher l'exemple d'application déployé

  1. Pour déployer une fonction gen2 sur les fonctions Cloud Run, exécutez la commande gcloud functions deploy suivante. Avant d'exécuter la commande, mettez à jour les variables suivantes :
    • YOUR_REGION_NAME par le nom de votre région.
    • INSTANCE_CONNECTION_NAME par le nom de connexion de votre instance, qui apparaît sur la page Instances Cloud SQL de la console Google Cloud.

    • DB_PASS par le mot de passe de l'utilisateur quickstart-user que vous avez créé à l'étape précédente Créer un utilisateur de ce guide de démarrage rapide.

    Exécutez la commande gcloud functions deploy comme suit pour créer des fonctions Cloud Run:

    gcloud functions deploy quickstart-function \
    -
    -gen2 \ --runtime nodejs18 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --region YOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
  2. Lorsque vous voyez un message confirmant que les fonctions Cloud Run ont été déployées, cliquez sur le lien URL du service dans le message pour afficher l'exemple d'application de fonctions Cloud Run déployé connecté à Cloud SQL.

    Afficher l'exemple d'application déployé

  1. Pour déployer une fonction gen2 sur les fonctions Cloud Run, exécutez la commande gcloud functions deploy suivante. Avant d'exécuter la commande, mettez à jour les variables suivantes :
    • YOUR_REGION_NAME par le nom de votre région.
    • INSTANCE_CONNECTION_NAME par le nom de connexion de votre instance, qui apparaît sur la page Instances Cloud SQL de la console Google Cloud.

    • DB_PASS par le mot de passe de l'utilisateur quickstart-user que vous avez créé à l'étape précédente Créer un utilisateur de ce guide de démarrage rapide.

    Exécutez la commande gcloud functions deploy comme suit pour créer des fonctions Cloud Run:

    gcloud functions deploy quickstart-function \
    -
    -gen2 \ --runtime python310 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --region YOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
  2. Lorsque vous voyez un message confirmant que les fonctions Cloud Run ont été déployées, cliquez sur le lien URL du service dans le message pour afficher l'exemple d'application de fonctions Cloud Run déployé connecté à Cloud SQL.

    Afficher l'exemple d'application déployé

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

    Accéder aux fonctions Cloud Run

  2. Sélectionnez le nom quickstart-function que vous avez créé lors d'une étape précédente de ce guide de démarrage rapide.
  3. Sur la page Informations sur la fonction, cliquez sur le lien figurant dans le volet Repose sur Cloud Run pour accéder au service des fonctions Cloud Run sous-jacent.
  4. Cliquez sur MODIFIER ET DÉPLOYER LA NOUVELLE RÉVISION.
  5. Dans le champ URL de l'image du conteneur, cliquez sur Sélectionner.
    1. Sélectionnez l'onglet Artifact Registry, puis développez le nœud quickstart-repo.
    2. Développez le conteneur function-sql et sélectionnez l'image de conteneur que vous avez créée à l'étape précédente.
    3. Cliquez sur Sélectionner.
  6. Créez les variables d'environnement suivantes en cliquant sur Ajouter une variable dans la section Variables d'environnement :
    • Définissez DB_NAME sur quickstart-db.
    • Définissez DB_USER sur quickstart-user.
    • DB_PASS : défini sur le mot de passe de l'instance quickstart-user que vous avez spécifiée à l'étape précédente création d'un utilisateur du guide de démarrage rapide.
    • INSTANCE_CONNECTION_NAME : défini sur le nom de connexion de votre instance, qui apparaît sur la page Instances Cloud SQL de la console Google Cloud.
    • Définissez DB_PORT sur 5432.
    • INSTANCE_HOST : définissez l'adresse IP privée de votre instance affichée sur la page Instances Cloud SQL de la console Google Cloud.
    • Définissez DB_ROOT_CERT sur certs/server-ca.pem.
    • Définissez DB_CERT sur certs/client-cert.pem.
    • Définissez DB_KEY sur certs/client-key.pem.
    • Définissez PRIVATE_IP sur TRUE.
  7. Activez la connexion à Cloud SQL :

    1. Dans la section Connexions Cloud SQL, cliquez sur Ajouter une connexion.
    2. Sélectionnez le nom de connexion de l'instance.
    3. Sélectionnez default: Serverless VPC Access Connector "quickstart-connector" dans le menu déroulant Réseau VPC.
    4. Sélectionnez l'option Acheminer tout le trafic via le connecteur VPC.
  8. Au bas de la page, cliquez sur Deploy (Déployer).
  9. Une fois la quickstart-function déployée, la page quickstart-function affiche une URL vers le service en cours d'exécution. Cliquez sur le lien URL pour afficher l'exemple d'application de fonctions Cloud Run déployé et connecté à Cloud SQL. L'application devrait ressembler à ce qui suit :

    Afficher l'exemple d'application déployé

  1. Pour déployer une fonction gen2 sur les fonctions Cloud Run, exécutez la commande gcloud functions deploy suivante. Avant d'exécuter la commande, mettez à jour les variables suivantes :
    • YOUR_REGION_NAME par le nom de votre région.
    • PRIVATE_IP_ADDRESS par l'adresse IP privée de votre instance Cloud SQL affichée sur la page Instances Cloud SQL de la console Google Cloud.
    • DB_PASS par le mot de passe de l'utilisateur quickstart-user que vous avez créé à l'étape précédente Créer un utilisateur de ce guide de démarrage rapide.
    • INSTANCE_CONNECTION_NAME par le nom de connexion de votre instance, qui apparaît sur la page Instances Cloud SQL de la console Google Cloud.

    Exécutez la commande gcloud functions deploy comme suit pour créer des fonctions Cloud Run:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime go120 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point Votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_PORT=5432 \
    --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \
    --set-env-vars DB_CERT=certs/client-cert.pem \
    --set-env-vars DB_KEY=certs/client-key.pem \
    --set-env-vars PRIVATE_IP=TRUE

    Les utilisateurs Java doivent exécuter la commande gcloud functions deploy sans les options INSTANCE_HOST, DB_PORT, DB_ROOT_CERT, DB_CERT, DB_KEY et PRIVATE_IP, comme suit, pour créer des fonctions Cloud Run, car le connecteur Java fournit déjà une connexion sécurisée :

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime go120 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point Votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \
    --set-env-vars PRIVATE_IP=TRUE
  2. Lorsque vous voyez un message confirmant que les fonctions Cloud Run ont été déployées, cliquez sur le lien URL du service dans le message pour afficher l'exemple d'application de fonctions Cloud Run déployé connecté à Cloud SQL.

    Afficher l'exemple d'application déployé

  1. Pour déployer une fonction gen2 sur les fonctions Cloud Run, exécutez la commande gcloud functions deploy suivante. Avant d'exécuter la commande, mettez à jour les variables suivantes :
    • YOUR_REGION_NAME par le nom de votre région.
    • PRIVATE_IP_ADDRESS par l'adresse IP privée de votre instance Cloud SQL affichée sur la page Instances Cloud SQL de la console Google Cloud.
    • DB_PASS par le mot de passe de l'utilisateur quickstart-user que vous avez créé à l'étape précédente Créer un utilisateur de ce guide de démarrage rapide.
    • INSTANCE_CONNECTION_NAME par le nom de connexion de votre instance, qui apparaît sur la page Instances Cloud SQL de la console Google Cloud.

    Exécutez la commande gcloud functions deploy comme suit pour créer des fonctions Cloud Run:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime java11 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point com.example.cloudsql.functions.Main \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_PORT=5432 \
    --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \
    --set-env-vars DB_CERT=certs/client-cert.pem \
    --set-env-vars DB_KEY=certs/client-key.pem \
    --set-env-vars PRIVATE_IP=TRUE

    Les utilisateurs Java doivent exécuter la commande gcloud functions deploy sans les options INSTANCE_HOST, DB_PORT, DB_ROOT_CERT, DB_CERT, DB_KEY et PRIVATE_IP, comme suit, pour créer des fonctions Cloud Run, car le connecteur Java fournit déjà une connexion sécurisée :

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime java11 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point com.example.cloudsql.functions.Main \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \
    --set-env-vars PRIVATE_IP=TRUE
  2. Lorsque vous voyez un message confirmant que les fonctions Cloud Run ont été déployées, cliquez sur le lien URL du service dans le message pour afficher l'exemple d'application de fonctions Cloud Run déployé connecté à Cloud SQL.

    Afficher l'exemple d'application déployé

  1. Pour déployer une fonction gen2 sur les fonctions Cloud Run, exécutez la commande gcloud functions deploy suivante. Avant d'exécuter la commande, mettez à jour les variables suivantes :
    • YOUR_REGION_NAME par le nom de votre région.
    • PRIVATE_IP_ADDRESS par l'adresse IP privée de votre instance Cloud SQL affichée sur la page Instances Cloud SQL de la console Google Cloud.
    • DB_PASS par le mot de passe de l'utilisateur quickstart-user que vous avez créé à l'étape précédente Créer un utilisateur de ce guide de démarrage rapide.
    • INSTANCE_CONNECTION_NAME par le nom de connexion de votre instance, qui apparaît sur la page Instances Cloud SQL de la console Google Cloud.

    Exécutez la commande gcloud functions deploy comme suit pour créer des fonctions Cloud Run:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime nodejs18 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_PORT=5432 \
    --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \
    --set-env-vars DB_CERT=certs/client-cert.pem \
    --set-env-vars DB_KEY=certs/client-key.pem \
    --set-env-vars PRIVATE_IP=TRUE

    Les utilisateurs Java doivent exécuter la commande gcloud functions deploy sans les options INSTANCE_HOST, DB_PORT, DB_ROOT_CERT, DB_CERT, DB_KEY et PRIVATE_IP, comme suit, pour créer des fonctions Cloud Run, car le connecteur Java fournit déjà une connexion sécurisée :

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime nodejs18 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \
    --set-env-vars PRIVATE_IP=TRUE
  2. Lorsque vous voyez un message confirmant que les fonctions Cloud Run ont été déployées, cliquez sur le lien URL du service dans le message pour afficher l'exemple d'application de fonctions Cloud Run déployé connecté à Cloud SQL.

    Afficher l'exemple d'application déployé

  1. Pour déployer une fonction gen2 sur les fonctions Cloud Run, exécutez la commande gcloud functions deploy suivante. Avant d'exécuter la commande, mettez à jour les variables suivantes :
    • YOUR_REGION_NAME par le nom de votre région.
    • PRIVATE_IP_ADDRESS par l'adresse IP privée de votre instance Cloud SQL affichée sur la page Instances Cloud SQL de la console Google Cloud.
    • DB_PASS par le mot de passe de l'utilisateur quickstart-user que vous avez créé à l'étape précédente Créer un utilisateur de ce guide de démarrage rapide.
    • INSTANCE_CONNECTION_NAME par le nom de connexion de votre instance, qui apparaît sur la page Instances Cloud SQL de la console Google Cloud.

    Exécutez la commande gcloud functions deploy comme suit pour créer des fonctions Cloud Run:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime python310 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_PORT=5432 \
    --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \
    --set-env-vars DB_CERT=certs/client-cert.pem \
    --set-env-vars DB_KEY=certs/client-key.pem \
    --set-env-vars PRIVATE_IP=TRUE

    Les utilisateurs Java doivent exécuter la commande gcloud functions deploy sans les options INSTANCE_HOST, DB_PORT, DB_ROOT_CERT, DB_CERT, DB_KEY et PRIVATE_IP, comme suit, pour créer des fonctions Cloud Run, car le connecteur Java fournit déjà une connexion sécurisée :

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime python310 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \
    --set-env-vars PRIVATE_IP=TRUE
  2. Lorsque vous voyez un message confirmant que les fonctions Cloud Run ont été déployées, cliquez sur le lien URL du service dans le message pour afficher l'exemple d'application de fonctions Cloud Run déployé connecté à Cloud SQL.

    Afficher l'exemple d'application déployé

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 Fonctions Cloud Run.

    Accéder aux fonctions Cloud Run

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

É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 la console Google Cloud, 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 :