Découvrez comment déployer un exemple d'application sur 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).
Pour obtenir des instructions détaillées sur cette tâche directement dans la console Google Cloud, cliquez sur Visite guidée :
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.
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
gcloud
Cliquez sur le bouton suivant pour ouvrir Cloud Shell, qui fournit un accès en ligne de commande à vos ressources Google Cloud directement depuis le navigateur.
Cloud Shell peut être utilisé pour exécuter les commandes gcloud présentées dans ce guide de démarrage rapide.
Assurez-vous que l'édition Cloud SQL Enterprise Plus est sélectionnée pour votre instance.
Dans le champ ID d'instance, saisissez quickstart-instance.
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.
Dans la section Sélectionner la disponibilité régionale et zonale, sélectionnez Zone unique.
Cliquez sur le menu Afficher les options de configuration.
Développez le nœud Configuration de la machine.
Dans la région Configurations de machines, sélectionnez la configuration 4 vCPU, 32 Go.
Cliquez sur Créer une instance, puis attendez que l'instance s'initialise et démarre.
gcloud
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.
gcloudcomputeaddressescreategoogle-managed-services-default\
--global--purpose=VPC_PEERING--prefix-length=16\
--description="peering range for Google"--network=default
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.
Créer une instance avec une adresse IP privée et SSL activé
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 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.
Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
Dans le menu de navigation SQL, sélectionnez Utilisateurs.
Cliquez sur Ajouter un compte utilisateur.
Sur la page Ajouter un compte utilisateur à l'instance instance_name, 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.
Cliquez sur Ajouter.
gcloud
Avant d'exécuter la commande suivante, effectuez les remplacements suivants :
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.
Les limites de longueur des noms d'utilisateur sont identiques pour Cloud SQL et pour PostgreSQL sur site.
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.
Console
Dans la console Google Cloud, accédez à la page IAM.
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.
Go
Dans l'éditeur Cloud Shell, ouvrez le code source de l'exemple d'application.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Go
Créer et télécharger des certificats SSL de serveur et de client
Dans Google Cloud Console, accédez à la page Instances Cloud SQL.
Cliquez sur quickstart-instance pour afficher la page Présentation.
Cliquez sur l'onglet Connexions.
Dans la section Sécurité, cliquez sur Créer un certificat client.
Dans la boîte de dialogue Créer un certificat client, saisissez quickstart-key comme nom, puis cliquez sur Créer.
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
Dans la console Google Cloud, accédez à la page Accès au VPC sans serveur - Créer un connecteur.
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.
Importez les fichiers de certificats SSL dans le dossier certs.
Faites un clic droit sur le dossier certs dans l'éditeur Cloud Shell, puis sélectionnez Importer des fichiers.
Sélectionnez les fichiers suivants sur votre ordinateur local :
client-key.pem
client-cert.pem
server-ca.pem
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.
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.
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
Dans la console Google Cloud, accédez à la page Accès au VPC sans serveur - Créer un connecteur.
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.
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.
Cliquez sur quickstart-instance pour afficher la page Présentation.
Cliquez sur l'onglet Connexions.
Dans la section Sécurité, cliquez sur Créer un certificat client.
Dans la boîte de dialogue Créer un certificat client, saisissez quickstart-key comme nom, puis cliquez sur Créer.
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
Dans la console Google Cloud, accédez à la page Accès au VPC sans serveur - Créer un connecteur.
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.
Importez les fichiers de certificats SSL dans le dossier certs.
Faites un clic droit sur le dossier certs dans l'éditeur Cloud Shell, puis sélectionnez Importer des fichiers.
Sélectionnez les fichiers suivants sur votre ordinateur local :
client-key.pem
client-cert.pem
server-ca.pem
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.
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.
Cliquez sur quickstart-instance pour afficher la page Présentation.
Cliquez sur l'onglet Connexions.
Dans la section Sécurité, cliquez sur Créer un certificat client.
Dans la boîte de dialogue Créer un certificat client, saisissez quickstart-key comme nom, puis cliquez sur Créer.
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
Dans la console Google Cloud, accédez à la page Accès au VPC sans serveur - Créer un connecteur.
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.
Importez les fichiers de certificats SSL dans le dossier certs.
Faites un clic droit sur le dossier certs dans l'éditeur Cloud Shell, puis sélectionnez Importer des fichiers.
Sélectionnez les fichiers suivants sur votre ordinateur local :
client-key.pem
client-cert.pem
server-ca.pem
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.
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.
Cliquez sur Create container (Créer un conteneur) et sélectionnez Service (Service) pour afficher le formulaire Create service (Créer un service).
Cliquez sur le bouton Sélectionner dans la zone de saisie URL de l'image de conteneur.
Sélectionnez l'image de conteneur gcr.io/YOUR_PROJECT_ID/run-sql que vous avez créée à l'étape précédente.
Dans le champ Service name (Nom du compte de service), saisissez quickstart-service.
Dans la section Authentification, sélectionnez l'option Allow unauthenticated invocations. Si vous ne disposez pas des autorisations nécessaires (rôle d'administrateur Cloud Run) pour sélectionner cette option, le service sera déployé et nécessitera une authentification.
Développez la section Conteneur, variables et secrets, connexions, sécurité.
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 compte quickstart-user créé à l'étape précédente Créer un utilisateur de ce guide de démarrage rapide.
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.
Cliquez sur Créer pour créer le service Cloud Run.
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.
gcloud
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 :
Saisissez la valeur numérique fournie pour us-central1 lorsque vous êtes invité à spécifier une région.
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.
Adresse IP privée
Console
Dans la console Google Cloud, accédez à la page Cloud Run.
Cliquez sur Create container (Créer un conteneur) et sélectionnez Service (Service) pour afficher le formulaire Create service (Créer un service).
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.
Saisissez quickstart-service dans le champ Nom du service.
Dans la section Authentification, sélectionnez l'option Allow unauthenticated invocations. Si vous ne disposez pas des autorisations nécessaires (rôle d'administrateur Cloud Run) pour sélectionner cette option, le service sera déployé et nécessitera une authentification.
Développez la section Conteneur, variables et secrets, connexions, sécurité.
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 5432.
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.
Activez la connexion à Cloud SQL :
Cliquez sur Connexions.
Cliquez sur Ajouter une connexion dans la section Connexions Cloud SQL.
Sélectionnez l'instance Cloud SQL quickstart-instance que vous avez créée précédemment.
Sélectionnez default: Serverless VPC Access Connector "quickstart-connector" dans le menu déroulant Réseau VPC.
Sélectionnez l'option Acheminer tout le trafic via le connecteur VPC.
Cliquez sur Créer pour créer le service Cloud Run.
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.
gcloud
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. Accédez à la page Présentation de l'instance Cloud SQL pour afficher l'adresse IP privée de l'instance.
Exécutez la commande gcloud run deploy comme suit pour créer le service Cloud Run :
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 :
Saisissez la valeur numérique fournie pour us-central1 lorsque vous êtes invité à spécifier une région.
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.
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :
Dans Google Cloud Console, accédez à la page Instances Cloud SQL.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/05 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2024/12/05 (UTC)."],[],[]]