arrow_back

Équilibrage de charge modulaire avec Terraform – Équilibreur de charge régional

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

Équilibrage de charge modulaire avec Terraform – Équilibreur de charge régional

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

GSP191

Google Cloud – Ateliers adaptés au rythme de chacun

Présentation

L'équilibrage de charge sur Google Cloud diffère de celui proposé par les autres fournisseurs de services cloud. En effet, Google Cloud utilise des règles de transfert plutôt que des instances de routage. Ces règles de transfert sont combinées à des services de backend, des pools cibles, des mappages d'URL et des proxys cibles pour construire un équilibreur de charge fonctionnel dans plusieurs régions et groupes d'instances.

Terraform est un outil Open Source de gestion d'infrastructure qui contribue à simplifier le provisionnement des équilibreurs de charge sur Google Cloud via l'utilisation de modules.

Objectifs

Dans cet atelier, vous allez apprendre à effectuer les tâches suivantes :

  • Utiliser les modules d'équilibrage de charge pour Terraform
  • Créer un équilibreur de charge TCP régional
  • Créer un équilibreur de charge TCP interne régional
  • Créer un équilibreur de charge HTTP global avec Kubernetes Engine
  • Créer un équilibreur de charge HTTPS global basé sur le contenu

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

Présentation des modules Terraform

Le dépôt que vous utiliserez dans cet atelier inclut certains modules d'équilibrage de charge. Vous allez d'abord découvrir en quoi consistent les modules, puis vous clonerez le dépôt afin de pouvoir les utiliser.

terraform-google-lb (règle de transfert régionale)

Ce module crée un équilibreur de charge réseau TCP pour l'équilibrage de charge régional dans un groupe d'instances géré. Vous fournissez une référence à un groupe d'instances géré, et le module l'ajoute à un pool cible. Une règle de transfert régionale est créée pour transférer le trafic aux instances opérationnelles du pool cible.

Équilibrage de charge et services de backend, avec un chemin d&#39;accès de google_compute_firewall à google_compute_instance_template

Exemple d'extrait de code :

module "gce-lb-fr" { source = "github.com/GoogleCloudPlatform/terraform-google-lb" region = "${var.region}" name = "group1-lb" service_port = "${module.mig1.service_port}" target_tags = ["${module.mig1.target_tags}"] }

terraform-google-lb-internal (règle de transfert interne régionale)

Ce module crée un équilibreur de charge interne pour l'équilibrage de charge régional des ressources internes. Vous fournissez une référence au groupe d'instances géré, et le module l'ajoute à un service de backend régional. Une règle de transfert interne est créée pour transférer le trafic aux instances opérationnelles.

Équilibrage de charge et services de backend, avec un chemin d&#39;accès de google_compute_region_backend_service à google_compute_instance_group_manager.

Exemple d'extrait de code :

module "gce-ilb" { source = "github.com/GoogleCloudPlatform/terraform-google-lb-internal" region = "${var.region}" name = "group2-ilb" ports = ["${module.mig2.service_port}"] health_port = "${module.mig2.service_port}" source_tags = ["${module.mig1.target_tags}"] target_tags = ["${module.mig2.target_tags}","${module.mig3.target_tags}"] backends = [ { group = "${module.mig2.instance_group}" }, { group = "${module.mig3.instance_group}" }, ] }

terraform-google-lb-http (règle de transfert HTTP(S) globale)

Ce module crée un équilibreur de charge HTTP global pour l'équilibrage de charge multirégional basé sur le contenu. Vous fournissez une référence au groupe d'instances géré et des certificats (facultatifs) pour la terminaison SSL. Ensuite, le module crée le service de backend HTTP, le mappage d'URL, le proxy cible HTTP(S) et la règle de transfert HTTP globale afin de router le trafic vers les instances opérationnelles en fonction des chemins HTTP.

Équilibrage de charge et services de backend, avec un chemin d&#39;accès de google_compute_backend_service à google_compute_instance_group_manager

Exemple d'extrait de code :

module "gce-lb-http" { source = "github.com/GoogleCloudPlatform/terraform-google-lb-http" name = "group-http-lb" target_tags = ["${module.mig1.target_tags}", "${module.mig2.target_tags}"] backends = { "0" = [ { group = "${module.mig1.instance_group}" }, { group = "${module.mig2.instance_group}" } ], } backend_params = [ # health check path, port name, port number, timeout seconds. "/,http,80,10" ] }

Nous pouvons maintenant commencer.

Tâche 1 : Cloner le dépôt d'exemples

  1. Ouvrez un nouvel onglet Cloud Shell en cliquant sur l'icône Activer Cloud Shell dans le coin supérieur droit de la console Cloud.

  2. Exécutez la commande suivante pour cloner le dépôt terraform-google-examples :

git clone https://github.com/GoogleCloudPlatform/terraform-google-lb cd ~/terraform-google-lb/examples/basic

Tâche 2 : Créer un équilibreur de charge TCP avec une règle de transfert régionale

Dans cet atelier, vous allez créer un groupe d'instances géré comportant deux instances situées dans la même région et un équilibreur de charge réseau TCP.

  1. Commencez par exporter votre ID de projet :
export GOOGLE_PROJECT=$(gcloud config get-value project)

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.

  1. Exécutez la commande terraform init :
terraform init

Exemple de résultat :

Initializing modules... - module.mig1 - module.gce-lb-fr Initializing provider plugins... The following providers do not have any version constraints in configuration, so the latest version was installed. To prevent automatic upgrades to new major versions that may contain breaking changes, it is recommended to add version = "..." constraints to the corresponding provider blocks in configuration, with the constraint strings suggested below. - provider.google: version = "~> 1.13" - provider.null: version = "~> 1.0" - provider.template: version = "~> 1.0" Terraform has been successfully initialized! ...
  1. Dans le fichier terraform-google-lb/examples/basic/variables.tf, exécutez les commandes suivantes pour remplacer la région par défaut par celle qui a été attribuée à l'atelier,  :
export REGION={{{project_0.default_region | REGION}}} sed -i 's/us-central1/'"$REGION"'/g' variables.tf

La commande terraform plan 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 dans le système de contrôle des versions pour vous assurer qu'elle aura l'effet escompté.

  1. Exécutez la commande terraform plan suivante :
terraform plan
  1. Lorsque vous y êtes invité, saisissez la valeur pour votre ID de projet.

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

  1. Exécutez la commande terraform apply :
terraform apply
  1. Lorsque vous y êtes invité, saisissez la valeur pour votre ID de projet.

  2. Dans l'invite suivante, saisissez yes pour continuer.

Exemple de résultat :

... Apply complete! Resources: 10 added, 0 changed, 0 destroyed.

Les instances et l'équilibreur de charge sont prêts au bout de quelques minutes.

  1. Vérifiez l'état de votre équilibreur de charge dans la console Cloud en accédant au menu de navigation > Services réseau > Équilibrage de charge.

  2. Pour être en mesure d'ouvrir l'URL de l'équilibreur de charge dans un navigateur, exécutez les commandes suivantes :

EXTERNAL_IP=$(terraform output | grep load_balancer_default_ip | cut -d = -f2 | xargs echo -n) echo "http://${EXTERNAL_IP}"
  1. Cliquez sur l'adresse http://${EXTERNAL_IP} fournie dans le résultat pour ouvrir le lien vers l'équilibreur de charge.

  2. Actualisez plusieurs fois la page pour observer l'équilibrage du trafic entre les deux instances dans la région .

Cliquez sur Vérifier ma progression pour valider l'objectif. Équilibreur de charge TCP avec règle de transfert régionale

Félicitations !

Dans cet atelier, vous avez appris à utiliser les modules d'équilibrage de charge. À l'aide de Terraform, vous avez déployé un équilibreur de charge TCP régional, un équilibreur de charge TCP interne régional, un équilibreur de charge HTTPS global avec Kubernetes Engine et un équilibreur de charge HTTPS basé sur le contenu.

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 : 7 décembre 2023

Dernier test de l'atelier : 7 décembre 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.