L'équilibrage de charge HTTP(S) Google Cloud est implémenté à la périphérie du réseau Google dans les points de présence (POP) de Google à travers le monde. Le trafic utilisateur dirigé vers un équilibreur de charge HTTP(S) entre dans le POP le plus proche de l'utilisateur. Ensuite, l'équilibrage de la charge sur le réseau mondial de Google permet d'acheminer le trafic jusqu'au backend le plus proche disposant d'une capacité suffisante.
Les règles d'autorisation ou de refus d'IP Google Cloud Armor vous permettent de restreindre ou d'autoriser l'accès à votre équilibreur de charge HTTP(S) à la périphérie de Google Cloud, aussi près que possible de l'utilisateur et du trafic malveillant. Cela permet d'empêcher les utilisateurs non légitimes ou le trafic malveillant de consommer des ressources et d'entrer dans vos réseaux VPC (cloud privé virtuel).
Dans cet atelier, vous allez configurer un équilibreur de charge HTTP avec des backends à travers le monde, comme illustré dans le schéma ci-dessous. Vous soumettrez ensuite l'équilibreur de charge à un test de contrainte et refuserez l'adresse IP associée à ce test avec Google Cloud Armor.
Objectifs
Dans cet atelier, vous apprendrez à effectuer les tâches suivantes :
Créer une règle de pare-feu de vérification de l'état
Créer deux configurations NAT régionales à l'aide de Cloud Router
Configurer deux modèles d'instance
Créer deux groupes d'instances gérés
Configurer un équilibreur de charge HTTP avec IPv4 et IPv6
Soumettre un équilibreur de charge HTTP à un test de contrainte
Refuser une adresse IP pour limiter l'accès à un équilibreur de charge HTTP
Préparation
Pour chaque atelier, nous vous attribuons un nouveau projet Google Cloud et un nouvel ensemble de ressources pour une durée déterminée, sans frais.
Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.
Vérifiez le temps imparti pour l'atelier (par exemple : 01:15:00) : vous devez pouvoir le terminer dans ce délai.
Une fois l'atelier lancé, vous ne pouvez pas le mettre en pause. Si nécessaire, vous pourrez le redémarrer, mais vous devrez tout reprendre depuis le début.
Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.
Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.
Cliquez sur Ouvrir la console Google.
Cliquez sur Utiliser un autre compte, puis copiez-collez les identifiants de cet atelier lorsque vous y êtes invité.
Si vous utilisez d'autres identifiants, des messages d'erreur s'afficheront ou des frais seront appliqués.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Activer Google Cloud Shell
Google 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.
Google Cloud Shell vous permet d'accéder à vos ressources Google Cloud grâce à une ligne de commande.
Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".
Cliquez sur Continuer.
Le provisionnement et la connexion à l'environnement prennent quelques instants. Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Par exemple :
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.
Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project
Résultat :
[core]
project =
Exemple de résultat :
[core]
project = qwiklabs-gcp-44776a13dea667a6
Remarque : Pour consulter la documentation complète sur gcloud, accédez au guide de présentation de la gcloud CLI.
Tâche 1 : Configurer une règle de pare-feu de vérification de l'état
Les vérifications de l'état déterminent les instances d'un équilibreur de charge qui peuvent recevoir de nouvelles connexions. Pour l'équilibrage de charge HTTP, les vérifications de l'état portant sur vos instances à équilibrage de charge proviennent d'adresses situées dans les plages 130.211.0.0/22 et 35.191.0.0/16. Vos règles de pare-feu doivent autoriser ces connexions.
Créer la règle de vérification de l'état
Créez une règle de pare-feu pour autoriser les vérifications de l'état.
Dans la console Cloud, accédez au menu de navigation (), puis sélectionnez Réseau VPC > Pare-feu.
Notez la présence des règles de pare-feu ICMP, internes, RDP et SSH existantes.
Chaque projet Google Cloud débute avec le réseau par défaut et ces règles de pare-feu.
Cliquez sur Créer une règle de pare-feu.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Nom
fw-allow-health-checks
Réseau
par défaut
Cibles
Tags cibles spécifiés
Tags cibles
allow-health-checks
Filtre source
Plages IPv4
Plages IPv4 sources
130.211.0.0/22 et 35.191.0.0/16
Protocoles et ports
Protocoles et ports spécifiés
Remarque : Pensez à ajouter /22 et /16 dans les plages d'adresses IP sources.
Sélectionnez tcp, puis spécifiez le port 80.
Cliquez sur Créer.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Configurer la règle de pare-feu de vérification de l'état
Tâche 2 : Créer deux configurations NAT à l'aide de Cloud Router
Les instances backend de VM Google Cloud que vous configurerez lors de la tâche 3 n'utiliseront pas des adresses IP externes.
À la place, vous allez configurer le service Cloud NAT pour permettre à ces instances de VM d'effectuer des requêtes sortantes pour installer le serveur Web Apache et PHP lorsqu'elles sont lancées. Vous créez un routeur Cloud Router pour chaque groupe d'instances géré, un dans us-central1 et un dans la région europe-west1, que vous configurerez à la tâche suivante.
Créer l'instance Cloud Router
Dans la console Cloud, accédez au menu de navigation (), puis sélectionnez Services réseau > Cloud NAT.
Cliquez sur Commencer.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Nom de la passerelle
nat-usa
Réseau
par défaut
Région
us-central1
Cliquez sur Cloud Router, puis sélectionnez Créer un routeur.
Dans le champ Nom, saisissez nat-router-us-central1.
Cliquez sur Créer.
Dans "Créer une passerelle Cloud NAT", cliquez sur Créer.
Remarque : Attendez que l'état de la passerelle NAT indique "Exécution" avant de passer à la tâche suivante.
Effectuez la même procédure pour nat-europe.
Cliquez sur Créer une passerelle Cloud NAT.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Nom de la passerelle
nat-europe
Réseau)
par défaut
Région
europe-west1
Cloud Router > Créer un routeur
Indiquez le nom nat-router-europe-west1
Cliquez sur Créer.
Dans "Créer une passerelle NAT", cliquez sur Créer.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Créer deux configurations NAT à l'aide de Cloud Router
Tâche 3 : Configurer un modèle d'instance et créer des groupes d'instances
Un groupe d'instances géré crée un groupe d'instances identiques à l'aide d'un modèle d'instance. Vous les utiliserez pour créer les backends de l'équilibreur de charge HTTP.
Configurer le modèle d'instance
Un modèle d'instance est une ressource API qui vous permet de créer des instances de VM et des groupes d'instances gérés. Les modèles d'instance définissent le type de machine, l'image disque de démarrage, le sous-réseau, les étiquettes et d'autres propriétés d'instance.
Dans la console Cloud, accédez au menu de navigation (), puis sélectionnez Compute Engine > Modèles d'instances.
Cliquez sur Créer un modèle d'instance.
Dans le champ Nom, saisissez us-central1-template.
Pour Région : us-central1.
Cliquez sur Options avancées.
Cliquez sur Gestion.
Sous Métadonnées, cliquez sur + AJOUTER UN ÉLÉMENT et spécifiez les valeurs suivantes :
Clé
Valeur
startup-script-url
gs://cloud-training/gcpnet/httplb/startup.sh
Remarque : La clé startup-script-url spécifie un script qui sera exécuté au démarrage des instances. Ce script installe Apache et modifie la page d'accueil pour y inclure l'adresse IP client et le nom, la région et la zone de l'instance de VM. Pour en savoir plus sur ce script, consultez le guide de référence des scripts.
Cliquez sur Mise en réseau.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Tags réseau
allow-health-checks
Interface réseau > Réseau
par défaut
Sous-réseau
par défault (us-central1)
Adresse IP externe
Aucune
Cliquez sur OK.
Remarque : Le tag réseau allow-health-checks assure que la règle de pare-feu Vérification de l'état s'applique à ces instances.
Cliquez sur Créer. Attendez que le modèle d'instance soit créé.
Préparez-vous à créer un autre modèle d'instance en copiant us-central1-template. Cliquez sur us-central1-template. Des informations concernant us-central1-template s'affichent.
En haut de la page, cliquez sur CREATE SIMILAR (CRÉER UNE INSTANCE SIMILAIRE).
Dans le champ Nom, saisissez europe-west1-template.
Pour Région : europe-west1.
Cliquez sur Options avancées.
Cliquez sur Mise en réseau > Interface réseau.
Dans le champ Sous-réseau, sélectionnez Par défaut (europe-west1), puis cliquez sur OK.
Cliquez sur Créer.
Créer des groupes d'instances gérés
Créez un groupe d'instances géré dans la région us-central1, et un autre dans la région europe-west1.
Dans le menu de navigation, sélectionnez Compute Engine > Groupes d'instances.
Cliquez sur Créer un groupe d'instances.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Nom
us-central1-mig
Emplacement
Plusieurs zones
Région
us-central1
Modèle d'instance
us-central1-template
Autoscaling > Signaux d'autoscaling
Cliquez sur "Utilisation du processeur" et indiquez un objectif d'utilisation du processeur de 80
Période d'initialisation
45
Nombre minimal d'instances
1
Nombre maximal d'instances
5
Remarque : Les groupes d'instances gérés proposent des capacités d'autoscaling qui vous permettent d'ajouter ou de supprimer automatiquement des instances dans un groupe géré en fonction de l'augmentation ou de la réduction de la charge. Avec l'autoscaling, vos applications peuvent gérer de façon optimale les hausses de trafic et réduire vos coûts lorsque les besoins en ressources sont moins importants. Il vous suffit de définir les règles d'autoscaling pour que l'autoscaler effectue le scaling automatique en fonction de la charge mesurée.
Cliquez sur Créer.
Répétez la même opération pour europe-west1-mig dans la région europe-west1.
Cliquez sur Créer un groupe d'instances.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Nom
europe-west1-mig
Emplacement
Plusieurs zones
Région
europe-west1
Modèle d'instance
europe-west1-template
Autoscaling > Signaux d'autoscaling
Cliquez sur "Utilisation du processeur" et indiquez un objectif d'utilisation du processeur de 80
Période d'initialisation
45
Nombre minimal d'instances
1
Nombre maximal d'instances
5
Cliquez sur Créer.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Configurer les modèles d'instance et créer les groupes d'instances
Vérifier les backends
Vérifiez que les instances de VM sont créées dans les deux régions et accédez à leurs sites HTTP.
Dans le menu de navigation, cliquez sur Compute Engine > Instances de VM.
Examinez les instances qui commencent par us-central1-mig et europe-west1-mig.
Ces instances appartiennent aux groupes d'instances gérés.
Dans Cloud Console, notez le nom et la zone de l'instance de VM située en Europe. Vous aurez besoin de ces valeurs par la suite.
Dans le menu Google Cloud Platform, cliquez sur Activer Cloud Shell () pour ouvrir Cloud Shell. Cliquez sur Continuer si vous y êtes invité.
Dans Cloud Shell, saisissez la commande suivante pour exécuter les commandes SSH dans l'instance de VM située en Europe :
gcloud compute ssh <INSTANCE_NAME> --zone <ZONE>
Cliquez sur Authorize (Autoriser) si vous y êtes invité.
Lorsque vous y êtes invité, saisissez Y pour continuer.
Lorsqu'une phrase secrète vous est demandée, appuyez sur Entrée, ce qui génère une phrase secrète vide.
Pour confirmer la phrase secrète vide, appuyez de nouveau sur Entrée. Après quelques instants, Cloud Shell crée une connexion SSH vers l'instance de VM en Europe à l'aide d'un tunnel IAP. La ligne de commande Cloud Shell peut maintenant être utilisée pour l'instance de VM.
Dans la ligne de commande, saisissez ce qui suit :
curl localhost
Vous devriez voir s'afficher la page de bienvenue d'Apache qui a été installée via le script startup-script-url. Celui-ci modifie la page d'accueil pour y inclure l'IP client et le nom, la région et la zone de l'instance de VM.
Copiez l'adresse IP interne d'une instance située dans la région us-central.
Testez la connexion en exécutant la commande suivante :
curl $IP_Address
Remarque : Remplacez la valeur $IP_Address par l'adresse IP interne de l'instance us-central1.
Saisissez exit pour fermer la session SSH.
Tâche 4 : Configurer l'équilibreur de charge HTTP
Ensuite, vous allez configurer l'équilibreur de charge HTTP pour équilibrer le trafic entre les deux backends (us-central1-mig dans us-central1 et europe-west1-mig dans europe-west1), comme illustré dans le schéma réseau.
Démarrer la configuration
Dans le menu de navigation, sélectionnez Services réseau > Équilibrage de charge.
Cliquez sur Créer un équilibreur de charge.
Sous 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.
Sous Déploiement mondial ou dans une seule région, sélectionnez Recommandé pour les charges de travail à l'échelle mondiale, puis cliquez sur Suivant.
Sous Génération de l'équilibreur de charge, sélectionnez Équilibreur de charge d'application classique, puis cliquez sur Suivant.
Cliquez sur Configurer.
Dans le champ Nom de l'équilibreur de charge, saisissez http-lb.
Configurer le backend
Les services de backend dirigent le trafic entrant vers un ou plusieurs backends associés. Chaque backend est composé d'un groupe d'instances et de métadonnées de capacité de diffusion supplémentaires.
Cliquez sur Backend configuration (Configuration du backend).
Pour Backend services & backend buckets (Services de backend et buckets backend), cliquez sur Create a backend service (Créer un service de backend).
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété
Valeur (sélectionnez l'option spécifiée)
Nom
http-backend
Type de backend
Groupe d'instances
Groupe d'instances
us-central1-mig
Numéros de ports
80
Mode d'équilibrage
Fréquence
Nombre maximal de RPS
50
Capacité
100
Remarque : Avec cette configuration, l'équilibreur de charge tente de maintenir chaque instance de us-central1-mig à 50 requêtes par seconde (RPS) ou moins.
Cliquez sur OK.
Cliquez sur Ajouter un backend.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété
Valeur (sélectionnez l'option spécifiée)
Groupe d'instances
europe-west1-mig
Numéros de ports
80
Mode d'équilibrage
Utilisation
Utilisation maximale du backend
80
Capacité
100
Remarque : Avec cette configuration, l'équilibreur de charge tente de maintenir chaque instance de europe-west1-mig à 80 % d'utilisation du processeur ou moins.
Cliquez sur OK.
Dans le champ Vérification d'état, sélectionnez Créer une vérification d'état.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété
Valeur (sélectionnez l'option spécifiée)
Nom
http-health-check
Protocole
TCP
Port
80
Remarque : Les vérifications de l'état déterminent les instances qui peuvent recevoir de nouvelles connexions. Cette vérification de l'état HTTP sonde les instances toutes les 10 secondes, attend une réponse pendant cinq secondes, puis considère deux tentatives ayant réussi ou trois échecs comme un état opérationnel ou non opérationnel, respectivement.
Cliquez sur Save (Enregistrer).
Cochez la case Activer la journalisation.
Définissez le taux d'échantillonnage sur 1.
Cliquez sur Créer.
Configurer l'interface
Les règles d'hôte et de chemin d'accès déterminent la manière dont le trafic est dirigé. Par exemple, vous pouvez diriger le trafic vidéo vers un backend et le trafic statique vers un autre backend. Dans le cadre de cet atelier, vous n'aurez pas à configurer de règles d'hôte et de chemin d'accès.
Cliquez sur Configuration de l'interface.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Protocole
HTTP
Version IP
IPv4
Adresse IP
Éphémère
Port
80
Cliquez sur OK.
Cliquez sur Ajouter une adresse IP et un port d'interface.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Protocole
HTTP
Version IP
IPv6
Adresse IP
Attribuer automatiquement
Port
80
Cliquez sur OK.
Remarque : L'équilibrage de charge HTTP(S) accepte le trafic client provenant d'adresses IPv4 et IPv6. Les requêtes client IPv6 sont interrompues au niveau de la couche d'équilibrage de charge globale, puis transmises par le biais d'un serveur proxy, via IPv4, à vos backends.
Vérifier et créer un équilibreur de charge HTTP
Cliquez sur Vérifier et finaliser.
Vérifiez les services de backend et l'interface.
Cliquez sur Créer.
Attendez que l'équilibreur de charge soit créé.
Cliquez sur le nom de l'équilibreur de charge (http-lb).
Notez les adresses IPv4 et IPv6 de l'équilibreur de charge pour la prochaine tâche. Elles seront appelées respectivement [LB_IP_v4] et [LB_IP_v6].
Remarque : L'adresse IPv6 est au format hexadécimal.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Configurer l'équilibreur de charge HTTP
Tâche 5 : Tester l'équilibreur de charge HTTP
Vous avez créé un équilibreur de charge HTTP pour vos backends, et devez maintenant vérifier que le trafic est bien transféré vers le service de backend.
Accéder à l'équilibreur de charge HTTP
Ouvrez un nouvel onglet dans votre navigateur et accédez à http://[LB_IP_v4]. Veillez à remplacer [LB_IP_v4] par l'adresse IPv4 de l'équilibreur de charge.
Remarque : L'accès à l'équilibreur de charge HTTP peut prendre quelques minutes. Il se peut que des erreurs 404 ou 502 apparaissent. Réessayez jusqu'à ce que la page de l'un des backends s'affiche.Remarque : Selon votre proximité avec us-central1 et europe-west1, votre trafic est transmis à une instance de us-central1-mig ou de europe-west1-mig.
Si vous disposez d'une adresse IPv6 locale, testez l'adresse IPv6 de l'équilibreur de charge HTTP en accédant à http://[LB_IP_v6]. Veillez à remplacer [LB_IP_v6] par l'adresse IPv6 de l'équilibreur de charge.
Effectuer un test de contrainte sur l'équilibreur de charge HTTP
Vous allez maintenant créer une VM pour simuler une charge sur l'équilibreur de charge HTTP. Vous déterminerez ensuite si le trafic est équilibré sur les deux backends lorsque la charge est élevée.
Dans la console Cloud, accédez au menu de navigation (), puis sélectionnez Compute Engine > Instances de VM.
Cliquez sur Créer une instance.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Nom
siege-vm
Région
us-west1
Zone
us-west1-c
Remarque : La région us-west1 étant plus proche de us-central1 que de europe-west1, le trafic devrait uniquement être dirigé vers us-central1-mig (sauf si la charge est trop élevée).
Cliquez sur Créer.
Attendez que l'instance siege-vm soit créée.
Lorsque Cloud Shell vous y invite, saisissez la commande suivante pour créer une connexion SSH vers l'instance siege-vm :
gcloud compute ssh siege-vm --zone us-west1-c
Exécutez la commande suivante pour installer siege :
sudo apt-get -y install siege
Pour stocker l'adresse IPv4 de l'équilibreur de charge HTTP dans une variable d'environnement, exécutez la commande suivante, en remplaçant [LB_IP_v4] par l'adresse IPv4 :
export LB_IP=[LB_IP_v4]
Effectuez une vérification à l'aide de la commande echo :
echo $LB_IP
Pour simuler une charge, exécutez la commande suivante :
siege -c 250 http://$LB_IP
Le résultat doit se présenter comme suit :
Résultat :
New configuration template added to /home/cloudcurriculumdeveloper/.siege
Run siege -C to view the current settings in that file
[alert] Zip encoding disabled; siege requires zlib support to enable it: No such file or directory
** SIEGE 4.0.2
** Preparing 250 concurrent users for battle.
The server is now under siege...
Dans la console Cloud, accédez au menu de navigation (), puis sélectionnez Services réseau > Équilibrage de charge.
Cliquez sur http-lb.
Cliquez sur Surveillance.
Observez le champ Emplacement de l'interface (Total du trafic entrant) entre l'Amérique du Nord et les deux backends pendant quelques minutes.
Revenez au terminal SSH de siege-vm.
Appuyez sur CTRL+C pour arrêter siege.
Tâche 6 : Refuser l'instance siege-vm
Vous allez maintenant utiliser Google Cloud Armor pour empêcher siege-vm d'accéder à l'équilibreur de charge HTTP.
Créer la stratégie de sécurité
Créez une stratégie de sécurité Google Cloud Armor avec une règle de refus pour siege-vm.
Dans la console Cloud, accédez au menu de navigation, puis sélectionnez Compute Engine > Instances de VM.
Notez l'adresse IP externe pour siege-vm. Elle est appelée [SIEGE_IP].
Remarque :
Il existe des moyens d'identifier l'adresse IP externe d'un client essayant d'accéder à votre équilibreur de charge HTTP. Par exemple, vous pouvez examiner le trafic capturé par les journaux de flux VPC dans BigQuery pour déterminer un nombre élevé de requêtes entrantes.
Dans le menu de navigation, sélectionnez Sécurité réseau > Cloud Armor > Règles Cloud Armor.
Cliquez sur Créer une stratégie.
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Nom
deny-siege
Default rule action (Action de règle par défaut)
Autoriser
Cliquez sur Étape suivante.
Cliquez sur Add rule (Ajouter une règle).
Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété
Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Condition > Correspondance
Saisissez l'adresse IP SIEGE_IP
Action
Refuser
État de refus
403 (Accès interdit)
Priorité
1000
Cliquez sur OK.
Cliquez sur Étape suivante.
Cliquez sur Ajouter une cible.
Dans Type, sélectionnez Service de backend d'équilibreur de charge.
Dans Cible, sélectionnez http-backend.
Cliquez sur Créer une stratégie.
Attendez que la stratégie soit créée avant de passer à l'étape suivante.
Remarque : Sinon, vous pouvez définir la règle par défaut sur Refuser et n'autoriser que le trafic provenant des utilisateurs ou adresses IP autorisés.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Refuser l'instance siege-vm
Vérifier la stratégie de sécurité
Vous allez ensuite vérifier que siege-vm ne peut pas accéder à l'équilibreur de charge HTTP.
Revenez au terminal SSH de siege-vm.
Pour accéder à l'équilibreur de charge, exécutez le code suivant :
curl http://$LB_IP
Le résultat doit se présenter comme suit :
Résultat :
<!doctype html><meta charset="utf-8"><meta name=viewport content="width=device-width, initial-scale=1"><title>403</
title>403 Forbidden
Remarque : La stratégie de sécurité peut mettre quelques minutes à prendre effet. Si vous pouvez accéder aux backends, réessayez jusqu'à obtenir l'erreur 403 Forbidden.
Ouvrez un nouvel onglet dans votre navigateur et accédez à http://[LB_IP_v4]. Veillez à remplacer [LB_IP_v4] par l'adresse IPv4 de l'équilibreur de charge.
Remarque :
Vous pouvez accéder à l'équilibreur de charge HTTP depuis votre navigateur, car la règle par défaut autorise le trafic. En revanche, vous ne pouvez pas y accéder à partir de siege-vm, car vous avez implémenté la règle de refus.
Pour simuler une charge, exécutez la commande suivante :
siege -c 250 http://$LB_IP
Le résultat doit se présenter comme suit :
Résultat :
[alert] Zip encoding disabled; siege requires zlib support to enable it
** SIEGE 4.0.2
** Preparing 250 concurrent users for battle.
The server is now under siege...
Explorez les journaux de la stratégie de sécurité pour déterminer si ce trafic est également bloqué.
Dans la console Cloud, accédez au menu de navigation, puis sélectionnez Sécurité réseau > Cloud Armor > Règles Cloud Armor.
Cliquez sur deny-siege.
Cliquez sur Logs (Journaux).
Cliquez sur View policy logs (Afficher les journaux de la stratégie). L'explorateur de journaux se lance. Vous devriez voir s'afficher les journaux de l'équilibreur de charge http-lb.
Développez une entrée de journal dans Query results (Résultats de la requête).
Développez httpRequest.
La requête devrait provenir de l'adresse IP siege-vm. Si ce n'est pas le cas, développez une autre entrée de journal.
Développez jsonPayload.
Développez enforcedSecurityPolicy.
Notez que configuredAction est défini sur DENY (REFUSER) et que name (nom) indique deny-siege.
Remarque : Les stratégies de sécurité Google Cloud Armor créent des journaux que vous pouvez explorer pour déterminer quand le trafic est refusé, quand il est autorisé, ainsi que la source du trafic.
Félicitations !
Dans cet atelier, vous avez configuré un équilibreur de charge HTTP avec des backends dans les régions us-central1 et europe-west1. Vous avez ensuite effectué un test de contrainte sur l'équilibreur de charge avec une VM et placé sur liste de refus l'adresse IP de cette VM avec Google Cloud Armor. Vous également avez appris comment explorer les journaux d'une stratégie de sécurité pour déterminer la cause du blocage du trafic.
Terminer l'atelier
Une fois l'atelier terminé, cliquez sur Terminer l'atelier. Google Cloud Skills Boost supprime les ressources que vous avez utilisées, puis efface le compte.
Si vous le souhaitez, vous pouvez noter l'atelier. Sélectionnez un nombre d'étoiles, saisissez un commentaire, puis cliquez sur Envoyer.
Le nombre d'étoiles correspond à votre degré de satisfaction :
1 étoile = très insatisfait(e)
2 étoiles = insatisfait(e)
3 étoiles = ni insatisfait(e), ni satisfait(e)
4 étoiles = satisfait(e)
5 étoiles = très satisfait(e)
Si vous ne souhaitez pas donner votre avis, vous pouvez fermer la boîte de dialogue.
Pour soumettre des commentaires, suggestions ou corrections, veuillez accéder à l'onglet Assistance.
Copyright 2020 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.
Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.
Utilisez la navigation privée
Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
Cliquez sur Ouvrir la console en navigation privée
Connectez-vous à la console
Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.
Ce contenu n'est pas disponible pour le moment
Nous vous préviendrons par e-mail lorsqu'il sera disponible
Parfait !
Nous vous contacterons par e-mail s'il devient disponible
Un atelier à la fois
Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci
Utilisez la navigation privée pour effectuer l'atelier
Ouvrez une fenêtre de navigateur en mode 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.
Dans cet atelier, vous allez configurer un équilibreur de charge HTTP avec des backends à l'échelle mondiale. Vous effectuerez ensuite un test de contrainte sur l'équilibreur de charge et ajouterez l'adresse IP associée à ce test à la liste de refus Cloud Armor.
Durée :
1 min de configuration
·
Accessible pendant 120 min
·
Terminé après 120 min