GSP234

Présentation
Dans cet atelier pratique, vous allez apprendre à créer des instances Cloud SQL avec Terraform, puis à configurer le proxy Cloud SQL et à tester la connexion avec un client MySQL.
Objectifs
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
- Créer une instance Cloud SQL
- Installer le proxy Cloud SQL
- Tester la connectivité avec le client MySQL à l'aide de Cloud Shell
Préparation
Avant de cliquer sur le bouton "Démarrer l'atelier"
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
- Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
- Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.
Démarrer l'atelier et se connecter à la console Google Cloud
-
Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement.
Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :
- Le bouton "Ouvrir la console Google Cloud"
- Le temps restant
- Les identifiants temporaires que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).
L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.
Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.
Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
-
Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.
{{{user_0.username | "Username"}}}
Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
-
Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.
{{{user_0.password | "Password"}}}
Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
-
Accédez aux pages suivantes :
- Acceptez les conditions d'utilisation.
- N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
- Ne vous inscrivez pas à des essais sans frais.
Après quelques instants, la console Cloud s'ouvre dans cet onglet.
Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche.
Activer Cloud Shell
Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud. Cloud Shell vous permet d'accéder via une ligne de commande à vos ressources Google Cloud.
-
Cliquez sur Activer Cloud Shell
en haut de la console Google Cloud.
-
Passez les fenêtres suivantes :
- Accédez à la fenêtre d'informations de Cloud Shell.
- Autorisez Cloud Shell à utiliser vos identifiants pour effectuer des appels d'API Google Cloud.
Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET : . Le résultat contient une ligne qui déclare l'ID_PROJET pour cette session :
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.
- (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
- Cliquez sur Autoriser.
Résultat :
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Remarque : Pour consulter la documentation complète sur gcloud
, dans Google Cloud, accédez au guide de présentation de la gcloud CLI.
Cloud SQL
Cloud SQL est un service de base de données entièrement géré qui facilite la configuration, la maintenance, la gestion et l'administration de vos bases de données relationnelles sur Google Cloud. Vous pouvez utiliser Cloud SQL avec MySQL ou PostgreSQL.
Tâche 1 : Télécharger les fichiers nécessaires
- Dans le terminal Cloud Shell, exécutez la commande suivante pour créer un répertoire et extraire les scripts Terraform requis à partir du bucket Cloud Storage :
mkdir sql-with-terraform
cd sql-with-terraform
gsutil cp -r gs://spls/gsp234/gsp234.zip .
- Exécutez la commande suivante pour décompresser le contenu téléchargé :
unzip gsp234.zip
Activer Gemini Code Assist dans Cloud Shell IDE
Vous pouvez utiliser Gemini Code Assist dans un environnement de développement intégré (IDE) tel que Cloud Shell pour obtenir des conseils sur le code ou résoudre des problèmes liés à votre code. Avant de pouvoir utiliser Gemini Code Assist, vous devez l'activer.
- Dans Cloud Shell, activez l'API Gemini pour Google Cloud à l'aide de la commande suivante :
gcloud services enable cloudaicompanion.googleapis.com
- Cliquez sur Ouvrir l'éditeur dans la barre d'outils Cloud Shell.
Remarque : Pour ouvrir l'éditeur Cloud Shell, cliquez sur Ouvrir l'éditeur dans la barre d'outils Cloud Shell. Vous pouvez passer de Cloud Shell à l'éditeur de code et inversement en cliquant sur Ouvrir l'éditeur ou sur Ouvrir le terminal selon le cas.
-
Dans le volet de gauche, cliquez sur l'icône Paramètres. Dans la vue Paramètres, recherchez Gemini Code Assist.
-
Recherchez l'option Geminicodeassist: Enable et assurez-vous que la case correspondante est cochée. Fermez ensuite les Paramètres.
-
Cliquez sur Cloud Code - Aucun projet dans la barre d'état en bas de l'écran.
-
Autorisez le plug-in comme indiqué. Si aucun projet n'est sélectionné automatiquement, cliquez sur Sélectionner un projet Google Cloud, puis choisissez .
-
Vérifiez que votre projet Google Cloud () s'affiche dans le message d'état Cloud Code de la barre d'état.
Tâche 2 : Comprendre le code
- Utilisez la commande
cat
pour examiner le contenu du fichier main.tf
:
cat main.tf
Exemple de résultat :
...
resource "google_sql_database_instance" "master" {
name = "example-mysql-${random_id.name.hex}"
project = var.project
region = var.region
database_version = var.database_version
master_instance_name = var.master_instance_name
settings {
tier = var.tier
activation_policy = var.activation_policy
authorized_gae_applications = var.authorized_gae_applications
disk_autoresize = var.disk_autoresize
dynamic "backup_configuration" {
for_each = [var.backup_configuration]
content {
binary_log_enabled = lookup(backup_configuration.value, "binary_log_enabled", null)
enabled = lookup(backup_configuration.value, "enabled", null)
start_time = lookup(backup_configuration.value, "start_time", null)
}
}
dynamic "ip_configuration" {
for_each = [var.ip_configuration]
content {
ipv4_enabled = lookup(ip_configuration.value, "ipv4_enabled", true)
private_network = lookup(ip_configuration.value, "private_network", null)
require_ssl = lookup(ip_configuration.value, "require_ssl", null)
dynamic "authorized_networks" {
for_each = lookup(ip_configuration.value, "authorized_networks", [])
content {
expiration_time = lookup(authorized_networks.value, "expiration_time", null)
name = lookup(authorized_networks.value, "name", null)
value = lookup(authorized_networks.value, "value", null)
}
}
}
}
...
Vous pouvez utiliser les fonctionnalités optimisées par l'IA de Gemini Code Assist pour modifier le code et l'expliquer dans le fichier de configuration main.tf
.
-
Cliquez sur Ouvrir l'éditeur dans Cloud Shell.
-
Ouvrez le fichier main.tf
dans l'explorateur de fichiers. Avec Gemini Code Assist activé dans l'IDE, notez la présence de l'icône
en haut à droite de l'éditeur.
-
Cliquez sur l'icône Gemini Code Assist : Actions intelligentes
, puis sélectionnez Expliquer.
-
Gemini Code Assist ouvre un volet de chat avec le prompt prédéfini Explain this
(Explique-moi ça). Dans la zone de texte du chat Code Assist, remplacez le prompt prérempli par le suivant, puis cliquez sur Envoyer :
As an expert in cloud infrastructure, perform an in-depth analysis of the main.tf file to serve as a detailed onboarding document for a new engineer.
* Identify the code's primary function.
* Highlight the key design patterns and best practices that make it a robust and reusable module.
* Explain how the code uses advanced Terraform features like dynamic blocks and count to achieve flexibility.
* Conclude with a high-level summary of the overall design philosophy.
For the suggested improvements, don't update this file.
L'explication du code dans le fichier de configuration main.tf
s'affiche dans le chat Gemini Code Assist.
Ensuite, modifiez le fichier variables.tf
de façon à utiliser l'ID du projet et la région alloués à cet atelier.
-
Dans l'éditeur Cloud Shell, toujours dans le même répertoire, accédez à variables.tf
. Comme précédemment, notez l'icône
en haut à droite de l'éditeur.
-
Cliquez sur l'icône Gemini Code Assist : Actions intelligentes
dans la barre d'outils.
-
Pour mettre à jour les variables project
et region
, collez le prompt suivant dans le champ de texte intégré de Gemini Code Assist qui s'ouvre dans la barre d'outils.
Update the variables.tf configuration file with the following changes:
* Set the `default` argument for the "project" variable to {{{project_0.project_id | PROJECT_ID}}}.
* Set the `default` argument for the "region" variable to {{{project_0.default_region | REGION}}}.
-
Pour demander à Gemini Code Assist de modifier le code en conséquence, appuyez sur ENTRÉE.
-
Dans la vue Gemini Diff, cliquez sur Accepter lorsque vous y êtes invité.
L'argument default
mis à jour pour les variables project
et region
dans le fichier de configuration variables.tf
ressemble désormais à ceci :
variable "project" {
description = "The project to deploy to, if not set the default provider project is used."
default = "{{{project_0.project_id | PROJECT_ID}}}"
}
variable "region" {
description = "Region for cloud resources"
default = "{{{project_0.default_region | REGION}}}"
}
Lorsque vous avez terminé, enregistrez les modifications.
Tâche 3 : Exécuter Terraform
La commande terraform init
permet d'initialiser un répertoire de travail contenant les fichiers de configuration Terraform.
Cette commande exécute plusieurs étapes d'initialisation en vue de préparer le répertoire de travail à utiliser. Vous pouvez exécuter cette commande à plusieurs reprises pour actualiser le répertoire en fonction des modifications apportées à la configuration.
- Exécutez
terraform init
:
terraform init
La commande terraform plan
est une commande facultative, mais recommandée, qui permet de créer un plan d'exécution. Terraform procède à une actualisation (sauf si cette fonctionnalité a été explicitement désactivée), puis détermine les actions requises pour obtenir l'état spécifié dans les fichiers de configuration.
Cette commande vous permet de vérifier facilement si le plan d'exécution d'un ensemble de modifications répond à vos attentes sans nécessiter l'apport de changements aux ressources réelles ou à l'état. Par exemple, vous pouvez exécuter terraform plan
avant de valider une modification du contrôle des versions pour vous assurer que vous obtiendrez le résultat souhaité.
- Exécutez
terraform plan
:
terraform plan -out=tfplan
Vous pouvez utiliser l'argument -out
facultatif pour enregistrer le plan généré dans un fichier en vue de l'exécuter ultérieurement à l'aide de la commande terraform apply
.
La commande terraform apply
permet d'appliquer les modifications nécessaires pour obtenir la configuration souhaitée, ou la série d'actions prédéterminées générée par un plan d'exécution créé avec la commande terraform plan
.
- Appliquez le plan Terraform que vous venez de créer :
terraform apply tfplan
Cette opération prend un certain temps. Quand elle sera terminée, vous verrez un résultat comme celui-ci :
Résultat :
Apply complete! Resources: 5 added, 0 changed, 0 destroyed.
The state of your infrastructure has been saved to the path
below. This state is required to modify and destroy your
infrastructure, so keep it safe. To inspect the complete state
use the `terraform show` command.
State path: terraform.tfstate
Outputs:
generated_user_password =
instance_address = 35.232.204.44
instance_address_time_to_retire =
instance_name = example-mysql-6808
self_link = https://www.googleapis.com/sql/v1beta4/projects/[PROJECT_ID]/instances/example-mysql-6808
Tester la tâche terminée
Cliquez sur Vérifier ma progression pour valider la tâche exécutée.
Créer une instance Cloud SQL à l'aide d'un script Terraform
Tâche 4 : Comprendre le proxy Cloud SQL
Caractéristiques du proxy
Avec le proxy Cloud SQL, vous bénéficiez d'un accès sécurisé aux instances Cloud SQL de deuxième génération, sans avoir besoin d'ajouter des adresses IP à la liste d'autorisation ni de configurer SSL.
L'accès à l'instance Cloud SQL à l'aide du proxy Cloud SQL offre les avantages suivants :
-
Connexions sécurisées : le proxy chiffre automatiquement le trafic vers et depuis la base de données à l'aide de TLS 1.2 avec un algorithme de chiffrement AES 128 bits. Les certificats SSL permettent de valider les identités du client et du serveur.
-
Gestion simplifiée des connexions : le proxy gère l'authentification auprès de Cloud SQL. Ainsi, il n'est plus nécessaire de fournir des adresses IP statiques.
Remarque : Vous n'avez pas besoin d'utiliser le proxy ni de configurer SSL pour vous connecter à Cloud SQL à partir de l'environnement App Engine standard ou flexible. Ces connexions utilisent automatiquement une mise en œuvre de proxy "intégrée".
Fonctionnement du proxy Cloud SQL
Le proxy Cloud SQL fonctionne avec un client local, appelé proxy, qui s'exécute dans l'environnement local. Pour communiquer avec le proxy, votre application utilise le protocole standard de votre base de données. Le proxy se sert d'un tunnel sécurisé pour communiquer avec son processus associé, exécuté sur le serveur.
Le diagramme suivant illustre la manière dont le proxy se connecte à Cloud SQL :

Tâche 5 : Installer le proxy Cloud SQL
- Exécutez la commande suivante pour télécharger le proxy :
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
- Exécutez la commande suivante pour rendre le proxy exécutable :
chmod +x cloud_sql_proxy
Vous pouvez installer le proxy n'importe où dans votre environnement. L'emplacement des binaires du proxy n'a pas d'incidence sur l'endroit d'où celui-ci écoute les données de votre application.
Options de démarrage du proxy
Lorsque vous démarrez le proxy, vous lui fournissez les informations suivantes :
- À quelles instances Cloud SQL établir des connexions
- Où écouter les données provenant de l'application à envoyer à Cloud SQL
- Où trouver les identifiants pour authentifier l'application auprès de Cloud SQL
Les options de démarrage du proxy que vous spécifiez déterminent si le proxy écoute un port TCP ou un socket Unix. Dans le cas d'un socket Unix, le proxy crée celui-ci à l'emplacement de votre choix, généralement dans le répertoire /cloudsql/
. Dans le cas d'un port TCP, le proxy écoute localhost
par défaut.
Tâche 6 : Tester la connexion à la base de données
- Commencez par exécuter le proxy Cloud SQL pour l'instance Cloud SQL :
MYSQL_DB_NAME=$(terraform output -json | jq -r '.instance_name.value')
MYSQL_CONN_NAME="{{{project_0.project_id | PROJECT_ID}}}:{{{project_0.default_region|REGION}}}:${MYSQL_DB_NAME}"
- Exécutez la commande suivante :
./cloud_sql_proxy -instances=${MYSQL_CONN_NAME}=tcp:3306
À présent, vous allez ouvrir un nouvel onglet Cloud Shell en cliquant sur l'icône Plus (+). Vous utiliserez ce shell pour vous connecter au proxy Cloud SQL.
- Exécutez la commande suivante pour accéder au répertoire
sql-with-terraform
:
cd ~/sql-with-terraform
- Obtenez le mot de passe généré pour MYSQL avec la commande suivante :
echo MYSQL_PASSWORD=$(terraform output -json | jq -r '.generated_user_password.value')
- Exécutez la commande suivante pour tester la connexion MySQL :
mysql -udefault -p --host 127.0.0.1 default
-
Lorsque vous y êtes invité, saisissez la valeur de la chaîne MYSQL_PASSWORD
figurant dans le résultat ci-dessus, puis appuyez sur Entrée.
-
Vous devriez alors accéder à la ligne de commande MYSQL. Quittez MYSQL en appuyant sur Ctrl+D.
Si vous revenez au premier onglet Cloud Shell, vous y verrez les journaux associés aux connexions établies avec le proxy Cloud SQL.
Tâche 7 : Tester vos connaissances
Voici quelques questions à choix multiples qui vous permettront de mieux maîtriser les concepts abordés lors de cet atelier. Répondez-y du mieux que vous le pouvez.
Félicitations !
Dans cet atelier, vous avez utilisé Terraform pour créer une instance Cloud SQL et configurer le proxy Cloud SQL. Vous avez ensuite testé la connexion entre les deux avec un client MySQL.
Étapes suivantes et informations supplémentaires
Découvrez comment gérer des projets Google Cloud avec Terraform.
Formations et certifications Google Cloud
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 29 août 2025
Dernier test de l'atelier : 29 août 2025
Copyright 2025 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.