arrow_back

Configurer un équilibreur de charge HTTP avec Google Cloud Armor

Accédez à plus de 700 ateliers et cours

Configurer un équilibreur de charge HTTP avec Google Cloud Armor

Atelier 2 heures universal_currency_alt 5 crédits show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Accédez à plus de 700 ateliers et cours

Présentation

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.

Schéma de l'architecture réseau d'un équilibreur de charge HTTP avec des backends à travers le monde

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.

  1. Connectez-vous à Qwiklabs dans une fenêtre de navigation privée.

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

  3. Lorsque vous êtes prêt, cliquez sur Démarrer l'atelier.

  4. Notez vos identifiants pour l'atelier (Nom d'utilisateur et Mot de passe). Ils vous serviront à vous connecter à Google Cloud Console.

  5. Cliquez sur Ouvrir la console Google.

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

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

  1. Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".

    Icône Cloud Shell encadrée

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

ID de projet mis en évidence dans le terminal Cloud Shell

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 :
gcloud auth list

Résultat :

Credentialed accounts: - @.com (active)

Exemple de résultat :

Credentialed accounts: - google1623327_student@qwiklabs.net
  • 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.

  1. Dans la console Cloud, accédez au menu de navigation (Icône du 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.

  2. Cliquez sur Créer une règle de pare-feu.

  3. 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.
  1. Sélectionnez tcp, puis spécifiez le port 80.
  2. 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

  1. Dans la console Cloud, accédez au menu de navigation (Icône du menu de navigation), puis sélectionnez Services réseau > Cloud NAT.

  2. Cliquez sur Commencer.

  3. 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
  4. Cliquez sur Cloud Router, puis sélectionnez Créer un routeur.

  5. Dans le champ Nom, saisissez nat-router-us-central1.

  6. Cliquez sur Créer.

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

  1. Cliquez sur Créer une passerelle Cloud NAT.

  2. 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
  3. Cliquez sur Créer.

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

  1. Dans la console Cloud, accédez au menu de navigation (Icône du menu de navigation), puis sélectionnez Compute Engine > Modèles d'instances.

  2. Cliquez sur Créer un modèle d'instance.

  3. Dans le champ Nom, saisissez us-central1-template.

  4. Pour Région : us-central1.

  5. Cliquez sur Options avancées.

  6. Cliquez sur Gestion.

  7. 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.
  1. Cliquez sur Mise en réseau.

  2. 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
  3. 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.
  1. Cliquez sur Créer. Attendez que le modèle d'instance soit créé.

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

  3. En haut de la page, cliquez sur CREATE SIMILAR (CRÉER UNE INSTANCE SIMILAIRE).

  4. Dans le champ Nom, saisissez europe-west1-template.

  5. Pour Région : europe-west1.

  6. Cliquez sur Options avancées.

  7. Cliquez sur Mise en réseau > Interface réseau.

  8. Dans le champ Sous-réseau, sélectionnez Par défaut (europe-west1), puis cliquez sur OK.

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

  1. Dans le menu de navigation, sélectionnez Compute Engine > Groupes d'instances.

  2. Cliquez sur Créer un groupe d'instances.

  3. 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.
  1. Cliquez sur Créer.

    Répétez la même opération pour europe-west1-mig dans la région europe-west1.

  2. Cliquez sur Créer un groupe d'instances.

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

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

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

  3. Dans le menu Google Cloud Platform, cliquez sur Activer Cloud Shell (Icône Activer Cloud Shell) pour ouvrir Cloud Shell. Cliquez sur Continuer si vous y êtes invité.

  4. 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>
  1. Cliquez sur Authorize (Autoriser) si vous y êtes invité.
  2. Lorsque vous y êtes invité, saisissez Y pour continuer.
  3. Lorsqu'une phrase secrète vous est demandée, appuyez sur Entrée, ce qui génère une phrase secrète vide.
  4. 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.
  5. 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.

  1. Copiez l'adresse IP interne d'une instance située dans la région us-central.
  2. 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.
  1. 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.

Schéma réseau d&#39;un équilibreur de charge HTTP avec des backends à travers le monde

Démarrer la configuration

  1. Dans le menu de navigation, sélectionnez Services réseau > Équilibrage de charge.
  2. Cliquez sur Créer un équilibreur de charge.
  3. Sous Type d'équilibreur de charge, sélectionnez Équilibreur de charge d'application (HTTP/HTTPS), puis cliquez sur Suivant.
  4. Pour Public ou interne, sélectionnez Public (externe), puis cliquez sur Suivant.
  5. 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.
  6. Sous Génération de l'équilibreur de charge, sélectionnez Équilibreur de charge d'application classique, puis cliquez sur Suivant.
  7. Cliquez sur Configurer.
  8. 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.

  1. Cliquez sur Backend configuration (Configuration du backend).

  2. Pour Backend services & backend buckets (Services de backend et buckets backend), cliquez sur Create a backend service (Créer un service de backend).

  3. 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.
  1. Cliquez sur OK.

  2. Cliquez sur Ajouter un backend.

  3. 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.
  1. Cliquez sur OK.

  2. Dans le champ Vérification d'état, sélectionnez Créer une vérification d'état.

  3. 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.
  1. Cliquez sur Save (Enregistrer).
  2. Cochez la case Activer la journalisation.
  3. Définissez le taux d'échantillonnage sur 1.
  4. 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.

  1. Cliquez sur Configuration de l'interface.

  2. 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
  3. Cliquez sur OK.

  4. Cliquez sur Ajouter une adresse IP et un port d'interface.

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

  1. Cliquez sur Vérifier et finaliser.
  2. Vérifiez les services de backend et l'interface.
  3. Cliquez sur Créer.
    Attendez que l'équilibreur de charge soit créé.
  4. Cliquez sur le nom de l'équilibreur de charge (http-lb).
  5. 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

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

  1. Dans la console Cloud, accédez au menu de navigation (Icône du menu de navigation), puis sélectionnez Compute Engine > Instances de VM.

  2. Cliquez sur Créer une instance.

  3. 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).
  1. Cliquez sur Créer. Attendez que l'instance siege-vm soit créée.
  2. 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
  1. Exécutez la commande suivante pour installer siege :
sudo apt-get -y install siege
  1. 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]
  1. Effectuez une vérification à l'aide de la commande echo :
echo $LB_IP
  1. 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...
  1. Dans la console Cloud, accédez au menu de navigation (Icône du menu de navigation), puis sélectionnez Services réseau > Équilibrage de charge.
  2. Cliquez sur http-lb.
  3. Cliquez sur Surveillance.
  4. Observez le champ Emplacement de l'interface (Total du trafic entrant) entre l'Amérique du Nord et les deux backends pendant quelques minutes.
  5. Revenez au terminal SSH de siege-vm.
  6. 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.

  1. Dans la console Cloud, accédez au menu de navigation, puis sélectionnez Compute Engine > Instances de VM.
  2. 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.
  1. Dans le menu de navigation, sélectionnez Sécurité réseau > Cloud Armor > Règles Cloud Armor.

  2. Cliquez sur Créer une stratégie.

  3. 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
  4. Cliquez sur Étape suivante.

  5. Cliquez sur Add rule (Ajouter une règle).

  6. 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
  7. Cliquez sur OK.

  8. Cliquez sur Étape suivante.

  9. Cliquez sur Ajouter une cible.

  10. Dans Type, sélectionnez Service de backend d'équilibreur de charge.

  11. Dans Cible, sélectionnez http-backend.

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

  1. Revenez au terminal SSH de siege-vm.
  2. 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.
  1. 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.
  1. 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é.

  1. Dans la console Cloud, accédez au menu de navigation, puis sélectionnez Sécurité réseau > Cloud Armor > Règles Cloud Armor.
  2. Cliquez sur deny-siege.
  3. Cliquez sur Logs (Journaux).
  4. 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.
  5. Développez une entrée de journal dans Query results (Résultats de la requête).
  6. 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.

  1. Développez jsonPayload.
  2. 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.

Avant de commencer

  1. Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
  2. 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.
  3. En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.

Utilisez la navigation privée

  1. Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
  2. Cliquez sur Ouvrir la console en navigation privée

Connectez-vous à la console

  1. 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.
  2. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
  3. 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.