GSP155

Présentation
Dans cet atelier pratique, vous allez apprendre à configurer un équilibreur de charge d'application de couche 7 (L7) sur des machines virtuelles (VM) Compute Engine. Les équilibreurs de charge L7 peuvent comprendre les protocoles HTTP(S), ce qui leur permet de prendre des décisions de routage en fonction de paramètres tels que l'URL, les en-têtes, les cookies et le contenu de la requête. Cela permet d'améliorer les performances et la réactivité de l'application.
Vous pouvez équilibrer les charges sur Google Cloud de différentes manières.
Cet atelier vous guide dans le processus de configuration des équilibreurs de charge suivants :
Nous vous encourageons à saisir vous-même les commandes afin de mieux assimiler les concepts fondamentaux.
De nombreux ateliers comportent un bloc de code qui contient les commandes à saisir.
Vous pouvez les copier et les coller directement dans les emplacements adéquats au cours des ateliers si vous le souhaitez.
Objectifs
Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :
- Configurer la région et la zone par défaut pour vos ressources
- Créer un équilibreur de charge d'application
- Tester le trafic vers vos instances
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.
Tâche 1 : Définir la zone et la région par défaut de toutes les ressources
-
Définissez la région par défaut :
gcloud config set compute/region {{{project_0.default_region | Region}}}
-
Dans Cloud Shell, définissez la zone par défaut :
gcloud config set compute/zone {{{project_0.default_zone | Zone}}}
Pour en savoir plus à ce sujet, consultez la documentation Régions et zones de Compute Engine.
Tâche 2 : Créer plusieurs instances de serveur Web
Dans ce scénario d'équilibrage de charge, vous allez créer trois instances de VM Compute Engine et y installer Apache. Vous ajouterez ensuite une règle de pare-feu permettant au trafic HTTP d'atteindre les instances.
Le code fourni définit la zone sur .
La définition du champ tags
vous permet de faire référence à toutes ces instances à la fois, par exemple lorsque vous souhaitez configurer une règle de pare-feu.
Les commandes ci-dessous permettent également d'installer Apache sur chaque instance et d'attribuer à chacune d'elles une page d'accueil unique.
-
Créez une machine virtuelle www1
dans votre zone par défaut à l'aide du code suivant :
gcloud compute instances create www1 \
--zone={{{project_0.default_zone | Zone}}} \
--tags=network-lb-tag \
--machine-type=e2-small \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
apt-get update
apt-get install apache2 -y
service apache2 restart
echo "
Web Server: www1
" | tee /var/www/html/index.html'
-
Créez une machine virtuelle www2
dans votre zone par défaut à l'aide du code suivant :
gcloud compute instances create www2 \
--zone={{{project_0.default_zone | Zone}}} \
--tags=network-lb-tag \
--machine-type=e2-small \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
apt-get update
apt-get install apache2 -y
service apache2 restart
echo "
Web Server: www2
" | tee /var/www/html/index.html'
-
Créez une machine virtuelle www3
dans votre zone par défaut.
gcloud compute instances create www3 \
--zone={{{project_0.default_zone | Zone}}} \
--tags=network-lb-tag \
--machine-type=e2-small \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
apt-get update
apt-get install apache2 -y
service apache2 restart
echo "
Web Server: www3
" | tee /var/www/html/index.html'
-
Créez une règle de pare-feu pour autoriser le trafic externe vers les instances de VM :
gcloud compute firewall-rules create www-firewall-network-lb \
--target-tags network-lb-tag --allow tcp:80
Vous devez maintenant obtenir les adresses IP externes de vos instances et vérifier qu'elles sont en cours d'exécution.
-
Exécutez la commande suivante pour répertorier vos instances. Vous trouverez leurs adresses IP dans la colonne EXTERNAL_IP
:
gcloud compute instances list
-
Vérifiez que chaque instance est en cours d'exécution à l'aide de la commande curl
, en remplaçant [IP_ADDRESS] par l'adresse IP externe de chacune de vos VM :
curl http://[IP_ADDRESS]
Cliquez sur Vérifier ma progression pour vous assurer que vous avez bien créé un groupe de serveurs Web.
Créer plusieurs instances de serveur Web
Tâche 3 : Créer un équilibreur de charge d'application
L'équilibrage de charge d'application est implémenté sur un GFE (Google Front End).
Les GFE sont distribués dans le monde entier et fonctionnent conjointement grâce au réseau mondial et au plan de contrôle de Google.
Vous pouvez configurer des règles d'URL pour rediriger certaines URL vers un ensemble d'instances donné.
Les requêtes sont toujours redirigées vers le groupe d'instances le plus proche de l'utilisateur, sous réserve de compatibilité et de capacité suffisante. En cas de capacité insuffisante, la requête est transmise au groupe le plus proche présentant la capacité nécessaire.
Pour que vous puissiez configurer un équilibreur de charge avec un backend Compute Engine, vos VM doivent appartenir à un groupe d'instances.
Le groupe d'instances géré fournit des VM exécutant les serveurs de backend d'un équilibreur de charge d'application externe.
Dans cet atelier, les backends diffusent leurs propres noms d'hôte.
-
Commencez par créer le modèle de l'équilibreur de charge :
gcloud compute instance-templates create lb-backend-template \
--region={{{project_0.default_region | Region}}} \
--network=default \
--subnet=default \
--tags=allow-health-check \
--machine-type=e2-medium \
--image-family=debian-11 \
--image-project=debian-cloud \
--metadata=startup-script='#!/bin/bash
apt-get update
apt-get install apache2 -y
a2ensite default-ssl
a2enmod ssl
vm_hostname="$(curl -H "Metadata-Flavor:Google" \
http://169.254.169.254/computeMetadata/v1/instance/name)"
echo "Page served from: $vm_hostname" | \
tee /var/www/html/index.html
systemctl restart apache2'
Les groupes d'instances gérés (MIG, Managed Instance Group) vous permettent d'exploiter des applications sur plusieurs VM identiques.
Vous pouvez rendre vos charges de travail évolutives et hautement disponibles en tirant parti des services de MIG automatisés, comme l'autoscaling, l'autoréparation, le déploiement régional (multizone) et la mise à jour automatique.
-
Créez un groupe d'instances géré basé sur le modèle :
gcloud compute instance-groups managed create lb-backend-group \
--template=lb-backend-template --size=2 --zone={{{project_0.default_zone | Zone}}}
-
Créez la règle de pare-feu fw-allow-health-check
:
gcloud compute firewall-rules create fw-allow-health-check \
--network=default \
--action=allow \
--direction=ingress \
--source-ranges=130.211.0.0/22,35.191.0.0/16 \
--target-tags=allow-health-check \
--rules=tcp:80
Remarque : La règle d'entrée autorise le trafic provenant des systèmes de vérification d'état Google Cloud (130.211.0.0/22
et 35.191.0.0/16
).
Cet exemple utilise le tag cible allow-health-check
pour identifier les VM.
-
Maintenant que vos instances sont opérationnelles, configurez une adresse IP externe statique globale que vos clients utiliseront pour accéder à votre équilibreur de charge :
gcloud compute addresses create lb-ipv4-1 \
--ip-version=IPV4 \
--global
Notez l'adresse IPv4 réservée :
gcloud compute addresses describe lb-ipv4-1 \
--format="get(address)" \
--global
Remarque : Enregistrez cette adresse IP, car vous en aurez besoin plus tard dans cet atelier.
-
Créez une vérification d'état pour l'équilibreur de charge (afin de vous assurer que le trafic n'est envoyé qu'aux backends opérationnels) :
gcloud compute health-checks create http http-basic-check \
--port 80
-
Créez un service de backend :
gcloud compute backend-services create web-backend-service \
--protocol=HTTP \
--port-name=http \
--health-checks=http-basic-check \
--global
-
Ajoutez votre groupe d'instances en tant que backend au service de backend :
gcloud compute backend-services add-backend web-backend-service \
--instance-group=lb-backend-group \
--instance-group-zone={{{project_0.default_zone | Zone}}} \
--global
-
Créez un mappage d'URL pour acheminer les requêtes entrantes vers le service de backend par défaut :
gcloud compute url-maps create web-map-http \
--default-service web-backend-service
Remarque : Le mappage d'URL est une ressource de configuration Google Cloud qui permet d'acheminer les requêtes vers des services de backend ou des buckets de backend.
Par exemple, avec un équilibreur de charge d'application externe, vous pouvez utiliser un seul mappage d'URL pour acheminer les requêtes vers différentes destinations en fonction des règles configurées dans le mappage d'URL :
- Les requêtes pour https://example.com/video sont dirigées vers un service de backend.
- Les requêtes pour https://example.com/audio sont dirigées vers un autre service de backend.
- Les requêtes pour https://example.com/images sont dirigées vers un bucket de backend Cloud Storage.
- Les requêtes pour toute autre combinaison d'hôte et de chemin d'accès sont dirigées vers un service de backend par défaut.
-
Créez un proxy HTTP cible, qui va rediriger les requêtes vers votre mappage d'URL :
gcloud compute target-http-proxies create http-lb-proxy \
--url-map web-map-http
-
Créez une règle de transfert globale pour acheminer les requêtes entrantes vers le proxy :
gcloud compute forwarding-rules create http-content-rule \
--address=lb-ipv4-1\
--global \
--target-http-proxy=http-lb-proxy \
--ports=80
Remarque : Une règle de transfert et l'adresse IP qui lui est associée représentent la configuration de l'interface d'un équilibreur de charge Google Cloud.
Pour en savoir plus sur les règles de transfert, consultez le guide Présentation des règles de transfert.
Cliquez sur Vérifier ma progression pour vous assurer que vous avez bien créé un équilibreur de charge d'application L7.
Créer un équilibreur de charge d'application
Tâche 4 : Tester le trafic envoyé à vos instances
-
Dans le champ Recherche de la console Google Cloud, saisissez Équilibrage de charge, puis sélectionnez Équilibrage de charge dans les résultats de recherche.
-
Cliquez sur l'équilibreur de charge que vous venez de créer (web-map-http).
-
Dans la section Backend, cliquez sur le nom du backend et assurez-vous que l'état des VM est Opérationnel. Si ce n'est pas le cas, patientez quelques instants avant d'actualiser la page.
-
Si les VM sont opérationnelles, testez l'équilibreur de charge depuis un navigateur Web, en vous rendant sur http://IP_ADDRESS/
, en remplaçant IP_ADDRESS
par l'adresse IP de l'équilibreur de charge que vous avez notée précédemment.
Remarque : L'opération peut prendre trois à cinq minutes. Si vous ne parvenez pas à vous connecter, patientez une minute, puis actualisez la page du navigateur.
Votre navigateur doit afficher une page dont le contenu indique le nom de l'instance l'ayant diffusée, ainsi que sa zone (par exemple Page served from: lb-backend-group-xxxx
).
Cliquez sur Vérifier ma progression pour tester le trafic envoyé à vos instances.
Tester l'équilibreur de charge à l'aide d'un navigateur Web
Félicitations !
Dans cet atelier, vous avez créé un équilibreur de charge d'application et vous vous êtes entraîné à utiliser des modèles d'instance et des groupes d'instances gérés pour envoyer du trafic vers des instances de serveur Web.
Étapes suivantes et informations supplémentaires
Documentation supplémentaire sur l'équilibreur de charge :
Google Cloud propose des mécanismes de vérification d'état qui déterminent si les instances de backend répondent au trafic de façon appropriée.
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 modification du manuel : 18 juillet 2025
Dernier test de l'atelier : 18 juillet 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.