Se connecter à Cloud SQL pour MySQL depuis Cloud Run

Découvrez comment déployer un exemple d'application sur Cloud Run connecté à une instance MySQL à 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).


Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud, cliquez sur Visite guidée :

Visite guidée


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 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 Compute Engine
    • API Cloud SQL Admin
    • API Cloud Run
    • API Container Registry
    • API Cloud Build
    • API Service Networking

    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 compute.googleapis.com sqladmin.googleapis.com run.googleapis.com \
    containerregistry.googleapis.com cloudbuild.googleapis.com servicenetworking.googleapis.com

    Cette commande active les API suivantes :

    • API Compute Engine
    • API Cloud SQL Admin
    • API Cloud Run
    • API Container Registry
    • API Cloud Build
    • API Service Networking

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 MySQL.
  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 racine. 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=MYSQL_8_0 \
--cpu=1 \
--memory=4GB \
--region=us-central1 \
--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 MySQL.
  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 racine. 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 Activer SSL, cliquez sur Activer et redémarrer, 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=MYSQL_8_0 \
    --cpu=1 \
    --memory=4GB \
    --region=us-central1 \
    --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 Créer une base de données, saisissez quickstart-db. Conservez les valeurs du jeu de caractères et du classement.
    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.
    • Sur la page Ajouter un compte utilisateur à l'instance instance_name, ajoutez les informations suivantes :
      • Nom d'utilisateur : défini sur quickstart-user
      • Mot de passe : spécifiez 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.
      • Dans la section Nom d'hôte, la valeur par défaut est Autoriser tous les hôtes, ce qui signifie que l'utilisateur peut se connecter depuis n'importe quelle adresse IP.

        Vous pouvez également sélectionner Restreindre l'hôte par adresse IP ou plage d'adresses, puis saisir une adresse IP ou une plage d'adresses dans la section Hôte. L'utilisateur peut alors se connecter uniquement à partir de l'adresse IP ou des adresses spécifiées.

  5. Cliquez sur Ajouter.

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

  1. PASSWORD 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=PASSWORD

Les limites de longueur des noms d'utilisateur sont identiques pour Cloud SQL et pour MySQL sur site : 32 caractères pour MySQL 8.0 et versions ultérieures, 16 caractères pour les versions antérieures.

Déployer l'exemple d'application sur Cloud Run

Configurer un compte de service Cloud Run

Configurez le compte de service utilisé par 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"

Configurer un exemple d'application Cloud SQL

Avec une instance, une base de données et un compte de service Cloud SQL disposant d'autorisations client, vous pouvez maintenant configurer un exemple d'application pour qu'il se connecte à votre instance Cloud SQL.

Adresse IP publique

Pour les chemins d'accès des adresses IP publiques, Cloud Run assure le chiffrement et se connecte à 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. Exécutez la commande suivante dans Cloud Shell pour créer un conteneur Docker et le publier dans Container Registry. Remplacez YOUR_PROJECT_ID par l'ID de votre projet.
    gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/run-sql
  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. Exécutez la commande suivante dans Cloud Shell pour créer un conteneur Docker et le publier dans Container Registry. Remplacez YOUR_PROJECT_ID par l'ID de votre projet.
    mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \
     -Dimage=gcr.io/YOUR_PROJECT_ID/run-sql -DskipTests
  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. Exécutez la commande suivante dans Cloud Shell pour créer un conteneur Docker et le publier dans Container Registry. Remplacez YOUR_PROJECT_ID par l'ID de votre projet.
    gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/run-sql
  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. Exécutez la commande suivante dans Cloud Shell pour créer un conteneur Docker et le publier dans Container Registry. Remplacez YOUR_PROJECT_ID par l'ID de votre projet.
    gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/run-sql
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 Open in 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. 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.
  4. Exécutez la commande suivante dans Cloud Shell pour créer un conteneur Docker et le publier dans Container Registry. Remplacez YOUR_PROJECT_ID par l'ID de votre projet.
    gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/run-sql

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.

Créer un 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. Exécutez la commande suivante dans Cloud Shell pour créer un conteneur Docker et le publier dans Container Registry. Remplacez YOUR_PROJECT_ID par l'ID de votre projet.
    mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \
     -Dimage=gcr.io/YOUR_PROJECT_ID/run-sql -DskipTests

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. 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.
  4. Exécutez la commande suivante dans Cloud Shell pour créer un conteneur Docker et le publier dans Container Registry. Remplacez YOUR_PROJECT_ID par l'ID de votre projet.
    gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/run-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. 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.
  4. Exécutez la commande suivante dans Cloud Shell pour créer un conteneur Docker et le publier dans Container Registry. Remplacez YOUR_PROJECT_ID par l'ID de votre projet.
    gcloud builds submit --tag gcr.io/YOUR_PROJECT_ID/run-sql

Déployer l'application exemple

Les étapes permettant de déployer l'exemple sur 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 Cloud Run.

    Accédez à Cloud Run

  2. Cliquez sur Create container (Créer un conteneur) et sélectionnez Service (Service) pour afficher le formulaire Create service (Créer un service).

  3. Cliquez sur le bouton Sélectionner dans la zone de saisie URL de l'image de conteneur.
    1. Sélectionnez l'image de conteneur gcr.io/YOUR_PROJECT_ID/run-sql que vous avez créée à l'étape précédente.
  4. Saisissez quickstart-service dans le champ Nom du service.
  5. Dans la section Authentification, sélectionnez l'option Allow unauthenticated invocations. Si vous ne disposez pas des autorisations nécessaires (rôle "Administrateur Cloud Run") pour sélectionner cette option, le service sera déployé et nécessitera une authentification.
  6. Développez la section Conteneur, variables et secrets, connexions, sécurité.
  7. Créez les variables d'environnement (Environment variables) suivantes en cliquant sur Ajouter une variable sous Variables d'environnement. Définissez les valeurs des variables d'environnement comme suit :
    • INSTANCE_UNIX_SOCKET : défini sur /cloudsql/YOUR_PROJECT_ID:us-central1:quickstart-instance.
    • 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.
    • 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.
  8. Activez la connexion à Cloud SQL :

    • Cliquez sur l'onglet Connexions.
    • Cliquez sur le bouton Ajouter une connexion dans la section Connexions Cloud SQL.
    • Dans le menu déroulant, sélectionnez la quickstart-instance que vous avez précédemment créée.

    Ajouter une connexion Cloud SQL

  9. Pour créer le service Cloud Run, cliquez sur Créer.

  10. Une fois le service Cloud Run déployé, une URL menant au service en cours d'exécution s'affiche en haut de la page Détails du service. Cliquez sur le lien URL pour afficher l'exemple d'application déployé sur Cloud Run et connecté à Cloud SQL.

    Afficher l'exemple d'application déployé

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

    • YOUR_PROJECT_ID par votre ID de projet.
    • 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 du 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 run deploy comme suit pour créer le service Cloud Run :

    gcloud run deploy run-sql --image gcr.io/YOUR_PROJECT_ID/run-sql \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME \
      --set-env-vars INSTANCE_UNIX_SOCKET="/cloudsql/INSTANCE_CONNECTION_NAME" \
      --set-env-vars INSTANCE_CONNECTION_NAME="INSTANCE_CONNECTION_NAME" \
      --set-env-vars DB_NAME="quickstart-db" \
      --set-env-vars DB_USER="quickstart-user" \
      --set-env-vars DB_PASS="DB_PASS"

    Saisissez la valeur numérique fournie pour us-central1 lorsque vous êtes invité à spécifier une région.

  2. Lorsque vous voyez un message de confirmation indiquant que le service Cloud Run a été déployé, cliquez sur le lien URL du service dans le message pour afficher l'exemple d'application Cloud Run connecté à Cloud SQL.

    Afficher l'exemple d'application déployé

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

    Accédez à Cloud Run

  2. Cliquez sur Create container (Créer un conteneur) et sélectionnez Service (Service) pour afficher le formulaire Create service (Créer un service).

  3. Conservez l'option de déploiement à partir d'une image de conteneur existante, puis cliquez sur Sélectionner pour spécifier l'image de conteneur gcr.io/YOUR_PROJECT_ID/run-sql que vous avez créée à l'étape précédente.
  4. Saisissez quickstart-service dans le champ Nom du service.
  5. Dans la section Authentification, sélectionnez l'option Allow unauthenticated invocations. Si vous ne disposez pas des autorisations nécessaires (rôle "Administrateur Cloud Run") pour sélectionner cette option, le service sera déployé et nécessitera une authentification.
  6. Développez la section Conteneur, variables et secrets, connexions, sécurité.
  7. Créez les variables d'environnement suivantes en cliquant sur Ajouter une variable sous Variables d'environnement. Définissez les valeurs des variables d'environnement comme suit :
    • 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 3306.
    • Définissez INSTANCE_HOST sur l'adresse IP privée de votre instance, comme indiqué sur la page Présentation de l'instance Cloud SQL.
    • 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.
  8. Activez la connexion à Cloud SQL :

    1. Cliquez sur Connexions.
    2. Cliquez sur Ajouter une connexion dans la section Connexions Cloud SQL.
    3. Sélectionnez l'instance Cloud SQL quickstart-instance que vous avez créée précédemment.
    4. Sélectionnez default: Serverless VPC Access Connector "quickstart-connector" dans le menu déroulant Réseau VPC.
    5. Sélectionnez l'option Acheminer tout le trafic via le connecteur VPC.
  9. Cliquez sur Créer pour créer le service Cloud Run.

  10. Une fois le service Cloud Run déployé, la page Informations sur le service affiche l'URL du service en cours d'exécution en haut de page. Cliquez sur le lien URL pour afficher l'exemple d'application déployé sur Cloud Run et connecté à Cloud SQL.

    Afficher l'exemple d'application déployé

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

    • YOUR_PROJECT_ID par votre ID de projet.
    • 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 du quickstart-user que vous avez créé à l'étape précédente Créer un utilisateur de ce guide de démarrage rapide.
    • INSTANCE_HOST par l'adresse IP privée de l'instance. Consultez la page Présentation de votre instance Cloud SQL où figure l'adresse IP privée de l'instance.

    Exécutez la commande gcloud run deploy comme suit pour créer le service Cloud Run :

    gcloud run deploy run-sql --image gcr.io/YOUR_PROJECT_ID/run-sql \
      --add-cloudsql-instances INSTANCE_CONNECTION_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 DB_PORT="3306" \
      --set-env-vars INSTANCE_HOST="INSTANCE_HOST" \
      --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"

    Pour créer le service Cloud Run, les utilisateurs Java doivent exécuter la commande gcloud run deploy sans les options INSTANCE_HOST, DB_ROOT_CERT, DB_CERT, DB_KEY et PRIVATE_IP--set-env-vars, car le connecteur Java fournit déjà une connexion sécurisée :

    gcloud run deploy run-sql --image gcr.io/YOUR_PROJECT_ID/run-sql \
      --add-cloudsql-instances INSTANCE_CONNECTION_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 DB_PORT="3306"

    Saisissez la valeur numérique fournie pour us-central1 lorsque vous êtes invité à spécifier une région.

  2. Lorsque vous voyez un message de confirmation indiquant que le service Cloud Run a été déployé, cliquez sur le lien URL du service dans le message pour afficher l'exemple d'application Cloud Run 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 Google Cloud Console, accédez à la page Cloud Run.

    Accédez à Cloud Run

  6. Cochez la case à côté du nom du service quickstart-service.
  7. Cliquez sur Supprimer en haut de la page 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 MySQL pour votre instance Cloud SQL.

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

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 :