arrow_back

Configurer des équilibreurs de charge réseau et HTTP

Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Configurer des équilibreurs de charge réseau et HTTP

Lab 1 heure universal_currency_alt 1 crédit show_chart Débutant
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP007

Google Cloud – Ateliers adaptés au rythme de chacun

Présentation

Dans cet atelier pratique, vous allez découvrir les différences entre un équilibreur de charge réseau et un équilibreur de charge HTTP. Vous allez apprendre à configurer ces deux types d'équilibreurs de charge pour des applications qui s'exécutent sur des machines virtuelles (VM) Compute Engine.

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 invitons à 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. Libre à vous de copier les commandes dans le bloc de code et de les coller aux emplacements adéquats pendant l'atelier.

Points abordés

  • Configurer un équilibreur de charge réseau
  • Configurer un équilibreur de charge HTTP
  • Découvrir dans la pratique les différences entre un équilibreur de charge réseau et un équilibreur de charge HTTP

Prérequis

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 vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Nous vous fournissons des identifiants temporaires pour 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/navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le temporaire étudiant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • vous disposez d'un temps limité ; une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Si vous possédez déjà votre propre compte ou projet Google Cloud, veillez à ne pas l'utiliser pour réaliser cet atelier afin d'éviter que des frais supplémentaires ne vous soient facturés.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up 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
    • Le temps restant
    • Les identifiants temporaires que vous devez utiliser pour cet atelier
    • Des informations complémentaires vous permettant d'effectuer l'atelier
  2. Cliquez sur Ouvrir la console Google. 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.
  3. Si nécessaire, copiez le nom d'utilisateur inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue Se connecter. Cliquez sur Suivant.

  4. Copiez le mot de passe inclus dans le panneau Détails concernant l'atelier et collez-le dans la boîte de dialogue de bienvenue. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis dans le panneau de gauche. Ne saisissez pas vos identifiants Google Cloud Skills Boost. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  5. 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 aux essais offerts.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Vous pouvez afficher le menu qui contient la liste des produits et services Google Cloud en cliquant sur le menu de navigation en haut à gauche. Icône du menu de navigation

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.

  1. Cliquez sur Activer Cloud Shell Icône Activer Cloud Shell en haut de la console 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 YOUR_PROJECT_ID (VOTRE_ID_PROJET) pour cette session :

Your Cloud Platform project in this session is set to YOUR_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.

  1. (Facultatif) Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list
  1. Cliquez sur Autoriser.

  2. Vous devez à présent obtenir le résultat suivant :

Résultat :

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facultatif) Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project

Résultat :

[core] project = <ID_Projet>

Exemple de résultat :

[core] project = qwiklabs-gcp-44776a13dea667a6 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

  1. Définissez la région par défaut :

    gcloud config set compute/region {{{project_0.default_region | Region}}}
  2. Dans Cloud Shell, définissez la zone par défaut :

    gcloud config set compute/zone {{{project_0.default_zone | Zone}}}

    Pour plus d'informations à ce sujet, consultez le guide sur les zones et les régions de la documentation Compute Engine.

Tâche 2 : Créer plusieurs instances de serveur Web

Dans ce scénario d'équilibrage de charge, créez trois instances de VM Compute Engine et installez-y Apache. Ajoutez 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.

  1. 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'
  2. 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'
  3. 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'
  4. 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.

  1. Exécutez la commande suivante pour répertorier vos instances. Vous trouverez leurs adresses IP dans la colonne EXTERNAL_IP :

    gcloud compute instances list
  2. 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 de chacune de vos VM :

    curl http://[IP_ADDRESS]

    Cliquez sur Vérifier ma progression ci-dessous pour vérifier que vous avez bien créé un groupe de serveurs Web.

    Créer plusieurs instances de serveur Web

Tâche 3 : Configurer le service d'équilibrage de charge

Lorsque vous configurez le service d'équilibrage de charge, vos instances de machines virtuelles reçoivent les paquets destinés à l'adresse IP externe statique configurée. Les instances créées à l'aide d'une image Compute Engine sont automatiquement configurées pour gérer cette adresse IP.

Remarque : Découvrez comment configurer l'équilibrage de charge réseau dans le guide Présentation de l'équilibrage de charge réseau TCP/UDP externe.
  1. Créez une adresse IP externe statique pour votre équilibreur de charge :

    gcloud compute addresses create network-lb-ip-1 \ --region {{{project_0.default_region | Region}}}

    Résultat :

    Created [https://www.googleapis.com/compute/v1/projects/qwiklabs-gcp-03-xxxxxxxxxxx/regions/{{{project_0.startup_script.project_region}}}/addresses/network-lb-ip-1].
  2. Ajoutez une ancienne ressource de vérification d'état HTTP :

    gcloud compute http-health-checks create basic-check
  3. Ajoutez un pool cible dans la même région que vos instances. Exécutez la commande suivante pour créer le pool cible et utiliser la vérification d'état requise pour que le service puisse fonctionner :

    gcloud compute target-pools create www-pool \ --region {{{project_0.default_region | Region}}} --http-health-check basic-check
  4. Ajoutez les instances au pool :

    gcloud compute target-pools add-instances www-pool \ --instances www1,www2,www3
  5. Ajoutez une règle de transfert :

    gcloud compute forwarding-rules create www-rule \ --region {{{project_0.default_region | Region}}} \ --ports 80 \ --address network-lb-ip-1 \ --target-pool www-pool

    Cliquez sur Vérifier ma progression ci-dessous pour vérifier que vous avez bien créé un équilibreur de charge réseau L4 qui pointe vers les serveurs Web.

    Configurer le service d'équilibrage de charge

Tâche 4 : Envoyer du trafic vers vos instances

Maintenant que le service d'équilibrage de charge est configuré, vous pouvez commencer à envoyer le trafic vers la règle de transfert et surveiller la répartition du trafic entre les différentes instances.

  1. Saisissez la commande suivante pour afficher l'adresse IP externe définie dans la règle de transfert "www-rule" utilisée par l'équilibreur de charge :

    gcloud compute forwarding-rules describe www-rule --region {{{project_0.default_region | Region}}}
  2. Accédez à l'adresse IP externe :

    IPADDRESS=$(gcloud compute forwarding-rules describe www-rule --region {{{project_0.default_region | Region}}} --format="json" | jq -r .IPAddress)
  3. Affichez l'adresse IP externe :

    echo $IPADDRESS
  4. Utilisez la commande curl pour accéder à l'adresse IP externe, en remplaçant IP_ADDRESS par une adresse IP externe de la commande précédente :

    while true; do curl -m1 $IPADDRESS; done

    La réponse de la commande curl est alternée de manière aléatoire entre les trois instances. En cas d'échec de la réponse initiale, patientez environ 30 secondes pour que la configuration soit entièrement chargée et que vos instances soient marquées comme opérationnelles avant de réessayer.

  5. Appuyez sur les touches CTRL+C pour arrêter l'exécution de la commande.

Tâche 5 : Créer un équilibreur de charge HTTP

L'équilibrage de charge HTTP(S) est mis en œuvre 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 HTTP externe. Dans cet atelier, les backends diffusent leurs propres noms d'hôte.

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

  2. 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}}}
  3. 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.
  4. 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
  5. Créez une vérification d'état pour l'équilibreur de charge :

    gcloud compute health-checks create http http-basic-check \ --port 80 Remarque : 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. Pour en savoir plus, veuillez consulter le document Créer des vérifications d'état.
  6. 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
  7. 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
  8. 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 HTTP(S) 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.
  9. 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
  10. 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 de présentation des règles de transfert.

Cliquez sur Vérifier ma progression ci-dessous pour vérifier que vous avez bien créé un équilibreur de charge HTTP(S) L7.

Créer un équilibreur de charge HTTP

Tâche 6 : Tester le trafic envoyé à vos instances

  1. Dans le menu de navigation menu de la console Google Cloud, accédez à Services réseau > Équilibrage de charge.

  2. Cliquez sur l'équilibreur de charge que vous venez de créer (web-map-http).

  3. Dans la section Backend, cliquez sur le nom du backend et assurez-vous que l'état des VM est Opérationnel. Si tel n'est pas le cas, patientez quelques instants avant d'actualiser la page.

  4. Si les VM sont opérationnelles, testez l'équilibreur de charge via un navigateur Web, en vous rendant sur http://IP_ADDRESS/, en remplaçant IP_ADDRESS par l'adresse IP de l'équilibreur de charge.

L'opération peut demander trois à cinq minutes. Si vous ne parvenez pas à vous connecter, attendez une minute, puis actualisez le 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).

Félicitations !

Vous venez de créer un équilibreur de charge réseau et un équilibreur de charge HTTP(S). Par ailleurs, vous vous êtes entraîné à utiliser des modèles d'instances et des groupes d'instances gérés.

Terminer votre quête

Cet atelier d'auto-formation fait partie de la quête Google Cloud Essentials. Une quête est une série d'ateliers associés qui constituent un parcours de formation. Si vous terminez cette quête, vous obtenez un badge attestant de votre réussite. Vous pouvez rendre publics les badges que vous recevez et ajouter leur lien dans votre CV en ligne ou sur vos comptes de réseaux sociaux. Inscrivez-vous à cette quête pour obtenir immédiatement les crédits associés.
Découvrez toutes les quêtes disponibles dans le catalogue.

Atelier suivant

Continuez sur votre lancée en suivant l'atelier Hello Node Kubernetes ou consultez ces suggestions :

Étapes suivantes et informations supplémentaires

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 : 19 septembre 2023

Dernier test de l'atelier : 19 septembre 2023

Copyright 2024 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.