Objectifs
- Déployer plusieurs groupes d'instances gérés Compute Engine régionaux en activant l'autoscaling
- Créer un équilibreur de charge interrégional
- Générer du trafic de test à partir de différentes régions du monde
- Utiliser la console Google Cloud pour voir comment l'équilibreur de charge achemine les requêtes et comment les groupes d'instances s'adaptent automatiquement à l'évolution de la demande.
Coûts
Ce tutoriel fait appel à des composants facturables de Google Cloud, dont :- Compute Engine
Avant de commencer
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
Architecture de l'application
L'application inclut les composants Compute Engine ci-dessous.
- Modèle d'instance : modèle utilisé pour créer chaque instance des groupes d'instances.
- Groupes d'instances : plusieurs groupes d'instances qui s'adaptent automatiquement en fonction du trafic entrant.
- Équilibreur de charge : équilibreur de charge HTTP qui répartit le trafic entre les groupes d'instances.
- Instances : plusieurs instances de test qui permettent de générer du trafic de test à partir de différentes régions du monde.
Configurer le service Web
Créer les groupes d'instances
Console
Créez un réseau pour les groupes d'instances.
Dans la console Google Cloud, accédez à la page Réseaux VPC.
Cliquez sur Créer un réseau VPC.
Définissez le paramètre Nom sur
fortressnet
.Définissez le paramètre Mode de création du sous-réseau sur Automatique.
Cliquez sur Créer en bas de la page.
Créez une règle de pare-feu pour le réseau. Cette règle autorisera toutes les requêtes HTTP envoyées à vos instances.
Dans Google Cloud Console, accédez à la page Règles de pare-feu.
Cliquez sur Create Firewall Rule (Créer une règle de pare-feu).
Définissez le paramètre Nom sur
fortressnet-allow-http
.Pour Réseau, sélectionnez
fortressnet
.Pour Cibles, sélectionnez
All instances in the network
.Définissez le paramètre Plages IPv4 sources sur
0.0.0.0/0
.Dans le champ Protocoles et ports, sélectionnez Protocoles et ports spécifiés, puis cochez la case tcp et saisissez
80
.Cliquez sur Créer.
Créez un modèle d'instance. Incluez un script de démarrage qui lance un serveur Web Apache simple sur chaque instance.
Dans Google Cloud Console, accédez à la page Modèles d'instances.
Cliquez sur Create instance template (Créer un modèle d'instance).
Définissez le paramètre Nom sur
fort-template
.Dans le champ Configuration de la machine, sélectionnez
e2-micro
(2 processeurs virtuels, 1 Go de mémoire).Dans la section Options avancées, développez Mise en réseau, puis procédez comme suit :
- Dans la section Interfaces réseau, développez une interface réseau pour la modifier.
- Pour Réseau, sélectionnez
fortressnet
.
Dans la section Gestion, sous Automatisation, saisissez le script de démarrage suivant :
apt update && apt -y install apache2
Cliquez sur Créer.
Créez plusieurs groupes d'instances gérés régionaux à l'aide du modèle d'instance. Configurez l'autoscaling pour chaque groupe d'instances.
Dans Google Cloud Console, accédez à la page Groupes d'instances.
Cliquez sur Créer un groupe d'instances pour créer un nouveau groupe d'instances géré.
Sélectionnez Nouveau groupe d'instances géré (sans état).
Définissez le paramètre Nom sur
us-central1-pool
.Pour Modèle d'instance, sélectionnez
fort-template
.Pour Emplacement, sélectionnez Plusieurs zones.
Pour Région, sélectionnez
us-central1
. Pour Zones, laissez les valeurs prédéfinies sélectionnées.Dans le champ Mode autoscaling, sélectionnez Activé : ajouter et supprimer des instances dans le groupe.
Définissez le paramètre Nombre minimal d'instances sur
1
.Définissez le paramètre Nombre maximal d'instances sur
5
.Dans le champ Signaux d'autoscaling, modifiez la sélection par défaut (utilisation du processeur) et définissez le type de signal sur Utilisation de l'équilibrage de charge HTTP.
Définissez Objectif d'utilisation de l'équilibrage de charge HTTP sur
80
.Cliquez sur OK.
Cliquez sur Créer. Une boîte de dialogue affiche le message que vous devez également attribuer au groupe d'instances à un service de backend d'un équilibreur de charge HTTP.
Dans la boîte de dialogue de confirmation, cliquez sur Confirmer. Vous pouvez configurer l'équilibreur de charge après avoir créé tous les groupes d'instances.
Répétez ces étapes pour créer deux autres groupes d'instances, en apportant les modifications suivantes :
- Créez un groupe en définissant le paramètre Nom sur
europe-west1-pool
et le paramètre Région sureurope-west1
. - Créez un groupe en définissant le paramètre Nom sur
asia-east1-pool
et le paramètre Région surasia-east1
.
- Créez un groupe en définissant le paramètre Nom sur
(Facultatif) Vérifiez que les instances sont opérationnelles et diffusent le trafic HTTP. Testez l'adresse IP externe d'une ou de plusieurs instances. Vous devrez peut-être patienter une minute pour que le processus de démarrage des instances se termine.
Dans Google Cloud Console, accédez à la page Instances de VM.
Vérifiez qu'une coche verte est présente dans la colonne État de chaque instance en cours d'exécution à côté du nom du groupe d'instances.
Copiez l'adresse IP externe d'une instance et collez-la dans un navigateur Web.
La page Web par défaut Apache2 Debian doit s'afficher.
Si la procédure semble ne pas fonctionner, patientez quelques instants.
gcloud
Créez un réseau pour les groupes d'instances.
gcloud compute networks create fortressnet --subnet-mode auto
Créez une règle de pare-feu pour le réseau. Cette règle autorisera toutes les requêtes HTTP envoyées à vos instances.
gcloud compute firewall-rules create fortressnet-allow-http \ --network fortressnet \ --allow tcp:80
Créez un modèle d'instance. Incluez un script de démarrage qui lance un serveur Web Apache simple sur chaque instance.
gcloud compute instance-templates create fort-template \ --machine-type e2-micro \ --network fortressnet \ --metadata startup-script='apt update && apt -y install apache2'
Créez plusieurs groupes d'instances gérés régionaux à l'aide du modèle d'instance. Configurez l'autoscaling pour chaque groupe d'instances.
gcloud compute instance-groups managed create us-central1-pool \ --region us-central1 \ --template fort-template \ --size 1 gcloud compute instance-groups managed set-autoscaling us-central1-pool \ --region us-central1 \ --min-num-replicas 1 \ --max-num-replicas 5 \ --scale-based-on-load-balancing \ --target-load-balancing-utilization .8
gcloud compute instance-groups managed create europe-west1-pool \ --region europe-west1 \ --template fort-template \ --size 1 gcloud compute instance-groups managed set-autoscaling europe-west1-pool \ --region europe-west1 \ --min-num-replicas 1 \ --max-num-replicas 5 \ --scale-based-on-load-balancing \ --target-load-balancing-utilization .8
gcloud compute instance-groups managed create asia-east1-pool \ --region asia-east1 \ --template fort-template \ --size 1 gcloud compute instance-groups managed set-autoscaling asia-east1-pool \ --region asia-east1 \ --min-num-replicas 1 \ --max-num-replicas 5 \ --scale-based-on-load-balancing \ --target-load-balancing-utilization .8
(Facultatif) Vérifiez que les instances sont opérationnelles et diffusent le trafic HTTP. Testez l'adresse IP externe d'une ou de plusieurs instances. Vous devrez peut-être patienter une minute pour que le processus de démarrage des instances se termine.
Répertoriez vos instances.
gcloud compute instances list
Vérifiez dans la colonne
STATUS
que l'état des instances estRUNNING
.Vérifiez le fonctionnement d'une instance en interrogeant son adresse IP dans la colonne
EXTERNAL_IP
.curl http://EXTERNAL_IP | head
Un texte HTML incluant la ligne suivante doit s'afficher :
<title>Apache2 Debian Default Page: It works</title>
.Si la procédure semble ne pas fonctionner, patientez quelques instants.
Configurer l'équilibreur de charge
L'équilibreur de charge répartit les requêtes des clients entre vos différents backends.
Console
Démarrer la configuration
Dans Google Cloud Console, accédez à la page Équilibrage de charge.
- Cliquez sur Créer un équilibreur de charge.
- Dans le champ Type d'équilibreur de charge, sélectionnez Équilibreur de charge d'application (HTTP/HTTPS), puis cliquez sur Suivant.
- Pour Public ou interne, sélectionnez Public (externe), puis cliquez sur Suivant.
- Pour Déploiement mondial ou dans une seule région, sélectionnez Recommandé pour les charges de travail à l'échelle mondiale, puis cliquez sur Suivant.
- Pour Génération de l'équilibreur de charge, sélectionnez Équilibreur de charge d'application externe global, puis cliquez sur Suivant.
- Cliquez sur Configurer.
Configuration de base
- Définissez le nom de l'équilibreur de charge sur
fortressnet-balancer
.
Configuration du backend
- Sur la page Créer un équilibreur de charge d'application externe global, cliquez sur Configuration du backend.
- Dans le menu déroulant Créer ou sélectionner des services backend et des buckets backend, sélectionnez Services backend, puis Créer un service backend. La boîte de dialogue Créer un service de backend s'affiche.
- Définissez le paramètre Nom du service de backend sur
fortressnet-backend-service
. - Dans la boîte de dialogue Nouveau backend, définissez le paramètre Groupe d'instances sur
asia-east1-pool
. - Pour Mode d'équilibrage, sélectionnez Fréquence.
- Définissez le paramètre Nombre maximal de RPS sur
100
RPS par instance. - Cliquez sur OK.
- Cliquez sur Add backend (Ajouter le backend).
- Dans la boîte de dialogue Nouveau backend, définissez le paramètre Groupe d'instances sur
europe-west1-pool
. - Pour Mode d'équilibrage, sélectionnez Fréquence.
- Définissez le paramètre Nombre maximal de RPS sur
100
RPS par instance. - Cliquez sur OK.
- Cliquez sur Add backend (Ajouter le backend).
- Dans la boîte de dialogue Nouveau backend, définissez le paramètre Groupe d'instances sur
us-central1-pool
. - Pour Mode d'équilibrage, sélectionnez Fréquence.
- Définissez le paramètre Nombre maximal de RPS sur
100
RPS par instance. - Cliquez sur OK.
- Sous Vérification d'état, sélectionnez Créer une vérification d'état.
- Définissez le paramètre Nom sur
http-basic-check
. - Pour Protocole, sélectionnez
HTTP
. - Définissez le paramètre Port sur
80
. - Cliquez sur Enregistrer et continuer.
- Cliquez sur Créer.
Règles d'hôte et de chemin d'accès
- Dans le panneau de gauche de la page Créer un équilibreur de charge d'application externe global, cliquez sur Règles d'hôte et de chemin d'accès.
Pour cet exemple, il n'est pas nécessaire de configurer des règles d'hôte ou de chemin d'accès, car tout le trafic sera acheminé en fonction de la règle par défaut. Nous pouvons donc accepter les valeurs par défaut.
Configuration du frontend
- Dans le panneau de gauche de la page Créer un équilibreur de charge d'application externe global, cliquez sur Configuration du frontend.
- Pour Nom, définissez
fortressnet-http-rule
. - Pour Version IP, sélectionnez IPv4.
- Pour Adresse IP, sélectionnez Créer une adresse IP.
- Dans la boîte de dialogue Réserver une nouvelle adresse IP statique, définissez le paramètre Nom sur
fortressnet-ip
. - Cliquez sur Réserver et patientez quelques instants.
- Cliquez sur OK en bas de la boîte de dialogue Nouveaux IP et port frontend.
- Cliquez sur Ajouter une adresse IP et un port frontend.
- Définissez le paramètre Nom sur
fortressnet-http-ipv6-rule
. - Pour Version IP, sélectionnez IPv6.
- Pour Adresse IP, sélectionnez Créer une adresse IP.
- Dans la boîte de dialogue, définissez le paramètre Nom sur
fortressnet-ipv6
. - Cliquez sur Réserver et patientez quelques instants.
- Cliquez sur OK en bas de la boîte de dialogue Nouveaux IP et port frontend.
Vérifier et finaliser
- Dans le panneau de gauche de la page Créer un équilibreur de charge d'application externe global, cliquez sur Vérification et finalisation.
- Comparez vos paramètres à ce que vous aviez l'intention de créer.
- Si les paramètres sont corrects, cliquez sur Créer en bas du panneau de gauche. Vous êtes renvoyé à l'écran "Équilibrage de charge". Une fois que l'équilibreur de charge est créé, une coche verte s'affiche à côté de celui-ci pour indiquer qu'il est en cours d'exécution.
gcloud
Configuration du backend
Créez une vérification d'état de base. Elle vous permettra de vérifier si un backend d'équilibreur de charge répond aux requêtes HTTP.
gcloud compute health-checks create http http-basic-check
Créez un service de backend à l'échelle mondiale. Il recevra le trafic HTTP provenant de l'équilibreur de charge.
gcloud compute backend-services create fortressnet-backend-service \ --protocol HTTP \ --health-checks http-basic-check \ --global
Ajoutez les groupes d'instances en tant que backends régionaux du service de backend. Cette configuration répartira le trafic entre les backends en fonction d'un nombre maximal de requêtes par seconde (RPS) par instance.
gcloud compute backend-services add-backend fortressnet-backend-service \ --balancing-mode RATE \ --max-rate-per-instance 100 \ --instance-group us-central1-pool \ --instance-group-region us-central1 \ --global gcloud compute backend-services add-backend fortressnet-backend-service \ --balancing-mode RATE \ --max-rate-per-instance 100 \ --instance-group europe-west1-pool \ --instance-group-region europe-west1 \ --global gcloud compute backend-services add-backend fortressnet-backend-service \ --balancing-mode RATE \ --max-rate-per-instance 100 \ --instance-group asia-east1-pool \ --instance-group-region asia-east1 \ --global
Règles d'hôte et de chemin d'accès
Définissez un mappage d'URL. Ce type de mappage permet d'acheminer des URL distinctes vers des services de backend différents. Comme nous ne disposons que d'un seul service de backend, nous allons le définir comme service par défaut pour toutes les URL.
gcloud compute url-maps create fortressnet-balancer \ --default-service fortressnet-backend-service
Créez une route de proxy HTTP. Cette route accepte les requêtes HTTP et les achemine en fonction de votre mappage d'URL. Dans ce cas, toutes les requêtes seront envoyées à votre service de backend unique.
gcloud compute target-http-proxies create fortressnet-http-proxy \ --url-map fortressnet-balancer
Configuration du frontend
Créez deux adresses IP externes statiques globales : une pour IPV4 et une pour IPV6. Il s'agira des adresses IP externes globales de l'équilibreur de charge.
gcloud compute addresses create fortressnet-ip \ --ip-version IPV4 \ --network-tier=PREMIUM \ --global gcloud compute addresses create fortressnet-ipv6 \ --ip-version IPV6 \ --network-tier=PREMIUM \ --global
Recherchez les adresses IP externes de l'équilibreur de charge.
gcloud compute addresses list
Créez des règles de transfert globales pour les adresses IP externes. Elles transmettront les requêtes HTTP IPv4 et IPv6 à votre proxy HTTP.
gcloud compute forwarding-rules create fortressnet-http-rule \ --load-balancing-scheme=EXTERNAL \ --network-tier=PREMIUM \ --global \ --target-http-proxy fortressnet-http-proxy \ --ports 80 \ --address LOAD_BALANCER_IP_ADDRESS
gcloud compute forwarding-rules create fortressnet-http-ipv6-rule \ --load-balancing-scheme=EXTERNAL \ --network-tier=PREMIUM \ --global \ --target-http-proxy fortressnet-http-proxy \ --ports 80 \ --address LOAD_BALANCER_IPV6_ADDRESS
(Facultatif) Vérifiez que l'équilibreur de charge fonctionne. Vous devrez peut-être patienter quelques minutes.
Console
Dans la console Google Cloud, accédez à la page Équilibrage de charge.
Attendez qu'une coche verte apparaisse à côté de
fortressnet-balancer
dans la colonne Backends.Cliquez sur
fortressnet-balancer
.Sous Frontend, copiez l'adresse IPv4 figurant dans la colonne IP:Port. (Les adresses IPv4 respectent le format suivant :
www.xxx.yyy.zzz
. Il est inutile d'ajouter le numéro de port:nn
à la fin de l'adresse.) Si la section Frontend est manquante, patientez quelques instants, puis actualisez la page Web.Indiquez l'adresse IP dans un navigateur Web.
La page Web par défaut Apache2 Debian doit s'afficher.
Si une page Web "Erreur 404 (page introuvable)" est renvoyée, patientez encore quelques minutes.
gcloud
Recherchez les adresses IP externes de l'équilibreur de charge.
gcloud compute addresses list
Interrogez l'adresse IPv4. (Les adresses IPv4 respectent le format suivant :
www.xxx.yyy.zzz
.)curl http://LOAD_BALANCER_IP_ADDRESS | head
Un texte HTML incluant la ligne suivante doit s'afficher : <title>Apache2 Debian Default Page: It works</title>
.
Si <title>Error 404 (Not Found)!!1</title>
s'affiche, patientez encore quelques minutes.
Bonne pratique : créez un pare-feu sécurisé pour n'autoriser que le trafic interne provenant de l'équilibreur de charge et de la vérification de l'état. Supprimez ensuite le pare-feu d'origine qui autorisait toutes les requêtes HTTP. Cela empêche les clients externes d'accéder à des instances individuelles.
Console
Créez un pare-feu n'autorisant que le trafic provenant de l'équilibreur de charge et de la vérification d'état.
Dans Google Cloud Console, accédez à la page Règles de pare-feu.
Cliquez sur Create Firewall Rule (Créer une règle de pare-feu).
Définissez le paramètre Nom sur
fortressnet-allow-load-balancer
.Pour Réseau, sélectionnez
fortressnet
.Pour Cibles, sélectionnez
All instances in the network
.Pour Plages d'adresses IP sources, saisissez
130.211.0.0/22
, puis appuyez sur la touche Entrée. Ensuite, saisissez35.191.0.0/16
, puis appuyez de nouveau sur Entrée.Sous Protocoles et ports, sélectionnez tcp et saisissez
80
.Cliquez sur Créer.
Supprimez l'ancien pare-feu autorisant tout le trafic.
- Cochez la case située à côté de
fortressnet-allow-http
. - Cliquez sur Supprimer en haut de la page.
- Dans la boîte de dialogue, cliquez sur Supprimer.
- Cochez la case située à côté de
gcloud
Créez un pare-feu n'autorisant que le trafic provenant de l'équilibreur de charge et de la vérification d'état.
gcloud compute firewall-rules create fortressnet-allow-load-balancer \ --network fortressnet \ --source-ranges 130.211.0.0/22,35.191.0.0/16 \ --allow tcp:80
Supprimez l'ancien pare-feu autorisant tout le trafic.
gcloud compute firewall-rules delete fortressnet-allow-http -q
(Facultatif) Vérifier que l'autoscaling et l'équilibrage de charge fonctionnent
Générer du trafic de test
Supposons que ce soit le matin en Europe et que votre service Web enregistre tout à coup un pic de trafic. Générez simultanément un grand nombre de requêtes de clients en provenance d'Europe.
Console
Créez une instance équipée de l'outil de test de charge Siege.
Accédez à la page Créer une instance dans Google Cloud Console.
Dans le champ Nom, spécifiez
europe-loadtest
.Dans le champ Région, sélectionnez
europe-west1
.Pour les paramètres avancés, développez la section Options avancées, puis procédez comme suit :
- Développez la section Gestion.
- Dans le champ Automatisation, saisissez le script de démarrage suivant :
apt -y install siege
Pour créer la VM, cliquez sur Créer.
Obtenez l'adresse IPv4 de l'équilibreur de charge.
Dans Google Cloud Console, accédez à la page Équilibrage de charge.
Cliquez sur
fortressnet-balancer
.Sous Frontend, copiez l'adresse IPv4 figurant dans la colonne IP:Port. (Les adresses IPv4 respectent le format suivant :
www.xxx.yyy.zzz
.)
Connectez-vous via SSH à l'instance de test de charge.
Dans Google Cloud Console, accédez à la page Instances de VM.
Attendez qu'une coche verte apparaisse à côté de l'instance
europe-loadtest
dans la colonne Nom.Cliquez sur SSH pour
europe-loadtest
dans la colonne Connexion.
Démarrez Siege. Ciblez l'adresse IPv4 de l'équilibreur de charge.
siege -c150 http://LOAD_BALANCER_IP_ADDRESS
gcloud
Créez une instance équipée de l'outil de test de charge Siege.
gcloud compute instances create europe-loadtest \ --network default \ --zone europe-west1-c \ --metadata startup-script='apt -y install siege'
Obtenez l'adresse IPv4 de l'équilibreur de charge.
gcloud compute addresses list
Démarrez une nouvelle session d'interface système où la commande
gcloud
est disponible.Dans la nouvelle session d'interface système, connectez-vous via SSH à l'instance de test de charge.
gcloud compute ssh --zone europe-west1-c europe-loadtest
Démarrez Siege. Ciblez l'adresse IPv4 de l'équilibreur de charge.
siege -c150 http://LOAD_BALANCER_IP_ADDRESS
Une fois la commande siege
exécutée, un résultat semblable au suivant doit s'afficher : The server is now under siege...
[alert] Zip encoding disabled; siege requires zlib support to enable it ** SIEGE 4.0.2 ** Preparing 150 concurrent users for battle. The server is now under siege...
Surveiller l'équilibrage de charge et l'autoscaling
Dans Google Cloud Console, accédez à la page Équilibrage de charge.
Cliquez sur l'équilibreur de charge nommé
fortressnet-balancer
.Cliquez sur l'onglet Surveillance.
Dans la liste déroulante Backend, sélectionnez
fortressnet-backend-service
.
L'affichage d'une quantité suffisante de données peut prendre jusqu'à dix minutes. Un écran semblable au suivant doit bientôt apparaître :
Que se passe-t-il dans ce scénario ?
Le test de charge commence à envoyer une grande quantité de trafic à la fois. Au départ, l'équilibreur de charge répartit les requêtes de manière égale entre les trois backends. Le nombre de requêtes dépasse rapidement les limites de l'autoscaling et peut même amener vos serveurs à renvoyer des erreurs
Backend 5xx errors
qui s'affichent sur l'écran de surveillance. L'autoscaler démarre des instances supplémentaires selon les besoins.L'autoscaling s'adapte aux besoins de capacité. Pour réduire la latence des requêtes, les équilibreurs de charge Compute Engine tentent d'acheminer ces dernières vers le backend le plus proche du client. Dans ce cas, étant donné que le trafic de test de charge provient d'Europe, l'équilibreur de charge préfère acheminer davantage de requêtes vers le backend situé en Europe. Par conséquent, l'autoscaling peut démarrer d'autres instances dans ce backend pour qu'il traite une plus grande partie des requêtes.
Générer du trafic de test à un autre endroit
Supposons que votre service Web devienne également très populaire en Asie et qu'un pic de trafic survienne l'après-midi. Générez un grand nombre de requêtes en provenance d'Asie.
Console
Pour créer une autre instance équipée de l'outil de test de charge Siege, procédez comme suit :
Dans Google Cloud Console, accédez à la page Instances de VM.
Cliquez sur Créer une instance.
Définissez le paramètre Nom sur
asia-loadtest
.Dans le champ Région, sélectionnez
asia-east1
.Développez la section Options avancées.
Développez la section Gestion.
Dans le champ Automatisation, saisissez le script de démarrage suivant :
apt -y install siege
Cliquez sur Créer.
Pour obtenir l'adresse IP de l'équilibreur de charge, procédez comme suit :
Dans Google Cloud Console, accédez à la page Équilibrage de charge.
Cliquez sur
fortressnet-balancer
.Sous Frontend, copiez l'adresse IPv4 figurant dans la colonne IP:Port. (Les adresses IPv4 respectent le format suivant :
www.xxx.yyy.zzz
.)
Connectez-vous via SSH à l'instance de test de charge.
- Attendez qu'une coche verte apparaisse à côté de l'instance
asia-loadtest
dans la colonne Nom. - Cliquez sur SSH pour
asia-loadtest
dans la colonne Connexion.
- Attendez qu'une coche verte apparaisse à côté de l'instance
Démarrez Siege. Ciblez l'adresse IPv4 de l'équilibreur de charge.
siege -c150 http://LOAD_BALANCER_IP_ADDRESS
gcloud
Dans votre session d'interface système d'origine, créez une autre instance équipée de l'outil de test de charge Siege.
gcloud compute instances create asia-loadtest \ --network default \ --zone asia-east1-c \ --metadata startup-script='apt -y install siege'
Obtenez l'adresse IPv4 de l'équilibreur de charge.
gcloud compute addresses list
Démarrez une nouvelle session d'interface système où la commande
gcloud
est disponible.Dans la nouvelle session d'interface système, connectez-vous via SSH à l'instance de test de charge.
gcloud compute ssh --zone asia-east1-c asia-loadtest
Démarrez Siege. Ciblez l'adresse IPv4 de l'équilibreur de charge.
siege -c150 http://LOAD_BALANCER_IP_ADDRESS
Là encore, un résultat semblable au suivant doit s'afficher : The server is now under siege...
[alert] Zip encoding disabled; siege requires zlib support to enable it ** SIEGE 4.0.2 ** Preparing 150 concurrent users for battle. The server is now under siege...
Surveiller l'équilibrage de charge et l'autoscaling
Revenez à l'écran de surveillance de l'équilibrage de charge, comme expliqué précédemment. L'affichage d'une quantité suffisante de nouvelles données peut prendre jusqu'à dix minutes. Un écran semblable au suivant doit bientôt apparaître :
Que se passe-t-il dans ce scénario ?
Là encore, le test de charge envoie un grand nombre de requêtes à la fois. Au départ, l'équilibreur de charge répartit les requêtes de manière égale entre les trois backends. Étant donné que le nombre de requêtes dépasse les limites de l'autoscaling, l'autoscaler démarre des instances supplémentaires selon les besoins.
L'autoscaling s'adapte aux nouveaux besoins de capacité. L'équilibreur de charge préfère toujours acheminer les requêtes vers les backends disponibles les plus proches. Par conséquent, le backend situé en Asie reçoit des requêtes provenant principalement d'Asie, tandis que celui situé en Europe reçoit des requêtes provenant principalement d'Europe. Le backend situé aux États-Unis reçoit tout le trafic restant.
Nettoyer
Une fois le tutoriel terminé, vous pouvez procéder au nettoyage des ressources que vous avez créées afin qu'elles ne soient plus comptabilisées dans votre quota et qu'elles ne vous soient plus facturées. Dans les sections suivantes, nous allons voir comment supprimer ou désactiver ces ressources.
Supprimer le projet
Le moyen le plus simple d'empêcher la facturation est de supprimer le projet que vous avez créé pour ce tutoriel.
Pour supprimer le projet :
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Supprimer des instances
Pour supprimer une instance Compute Engine, procédez comme suit :
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
Étape suivante
- Effectuez un scaling basé sur la capacité de diffusion de l'équilibrage de charge.
- Procédez à un équilibrage de charge à l'échelle mondiale sur Google Cloud.
- Créez des applications Web évolutives et résilientes sur Google Cloud.
- Découvrez des architectures de référence, des schémas et des bonnes pratiques concernant Google Cloud. Consultez notre Cloud Architecture Center.