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 droite, vous trouverez le panneau Préparation et accès à l'atelier, qui contient les éléments suivants :
- Le bouton Ouvrir la console Google Cloud
- Les identifiants temporaires (nom d'utilisateur et mot de passe) que vous devez utiliser pour cet atelier
- Des informations complémentaires vous permettant d'effectuer l'atelier, si nécessaire
Notez que le minuteur de l'atelier se trouve en haut de la page et indique le temps restant.
-
Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans une fenêtre en navigation privée si vous utilisez 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 Préparation et accès à 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 Préparation et accès à l'atelier.
-
Cliquez sur Suivant.
Important : Vous devez utiliser les identifiants fournis pour l'atelier. N'utilisez pas les identifiants de votre compte Google Cloud.
Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires pourront 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.
Installer Terraform
Terraform n'est pas préinstallé dans Cloud Shell. Vous devez installer la CLI Terraform et la configurer pour qu'elle persiste dans vos sessions Cloud Shell.
- Pour configurer le dépôt HashiCorp et installer Terraform, et pour vous assurer que cette installation persiste dans les sessions futures, exécutez les commandes suivantes dans le terminal Cloud Shell :
cat <<'EOF' > ~/.customize_environment
# Configurer le dépôt HashiCorp et installer Terraform
wget -O - https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(grep -oP '(?<=UBUNTU_CODENAME=).*' /etc/os-release || lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install -y terraform
EOF
bash ~/.customize_environment
- Pour vérifier que Terraform a bien été installé, exécutez la commande suivante :
terraform --version
Le résultat doit afficher la version installée (v1.5.7 ou ultérieure) :
Terraform v1.9.0
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
gcloud storage cp gs://spls/gsp234/gsp234.zip .
- Exécutez la commande suivante pour décompresser le contenu téléchargé :
unzip gsp234.zip
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)
}
}
}
}
...
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 <> dans la barre d'outils.
-
Pour mettre à jour les variables project et region,
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}}}.
-
appuyez sur ENTRÉE.
-
Dans la vue , 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 : 13 octobre 2025
Copyright 2026 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.