Routage des requêtes vers un équilibreur de charge d'application classique multirégional

Ce guide explique comment créer un équilibreur de charge HTTPS dans Google Cloud qui :

  • sélectionne des services de backend en fonction des chemins d'URL des requêtes ;
  • achemine des requêtes vers des backends proches des clients (équilibrage de charge multirégional).

Avant de commencer, assurez-vous de bien connaître les concepts d'équilibreur de charge d'application externe.

Pour obtenir un exemple simplifié, consultez la page Configurer un équilibreur de charge d'application externe avec un backend Compute Engine. Pour obtenir des exemples de routage avancés, tels que les réécritures et les redirections HTTP, consultez la page Gestion du trafic pour les équilibreurs de charge d'application externes.

Présentation

Ce guide fournit des instructions pour créer un équilibreur de charge qui achemine le trafic en fonction du chemin figurant dans l'URL de la requête et qui répartit le trafic entre plusieurs régions. Vous créez en tout huit instances Compute Engine aux États-Unis (dans la zone us-central1-b) et dans l'UE (dans la zone eu-west1-b). Vous créez ensuite un équilibreur de charge qui dirige le trafic vers ces instances.

L'ensemble des instructions de ce guide produit un équilibreur de charge configuré comme suit :

  • Tout trafic associé à un chemin d'URL qui commence par /video est routé vers un service de backend donné.
  • Le trafic restant, dont le chemin d'URL ne correspond pas à ce format, est dirigé vers un autre service de backend.

Dans ce guide d'utilisation, vous allez créer la configuration illustrée dans le schéma suivant :

Équilibrage de charge HTTPS multirégional
Équilibrage de charge HTTPS multirégional (cliquez pour agrandir)

La séquence d'événements illustrée dans le schéma est la suivante :

  1. Un client accède à l'URL https://www.example.com/video/concert en envoyant une requête de contenu à l'adresse IP externe définie dans la règle de transfert. La requête peut utiliser IPv4 ou IPv6 : il existe des règles de transfert pour ces deux protocoles.
  2. Une règle de transfert dirige la requête vers le proxy HTTPS cible.
  3. Le proxy cible utilise les règles définies dans le mappage d'URL pour déterminer quel service de backend reçoit la requête. Une requête contenant /video, comme c'est le cas pour https://www.example.com/video/concert, est envoyée à video-backend-service. Tout autre chemin d'URL est envoyé au service par défaut, web-backend-service.
  4. L'équilibreur de charge détermine quels groupes d'instances du service de backend doivent traiter la requête, en fonction de leur charge respective et de leur proximité avec le client. Il dirige alors la requête vers une instance de ce groupe.
  5. L'instance diffuse le contenu demandé par chaque utilisateur. Les instances video diffusent du contenu vidéo, tandis que les instances www diffusent tous les autres types de contenus.

Dans l'exemple présenté ici, l'équilibreur de charge accepte les requêtes HTTPS en provenance des clients et transfère ces requêtes aux backends par HTTP. Vous pouvez également configurer l'équilibreur de charge pour qu'il accepte les requêtes HTTP, ainsi que pour utiliser HTTPS lorsqu'il relaie les requêtes aux backends.

Avant de commencer

Ces instructions nécessitent un projet. Si vous n'avez pas encore de projet, configurez-en un maintenant. Ces instructions vous guident dans la création d'un réseau de cloud privé virtuel (VPC) en mode personnalisé. Vous devez également configurer des règles de pare-feu personnalisées pour permettre au trafic d'atteindre les instances.

Si vous préférez travailler à partir de la ligne de commande, installez l'outil de ligne de commande gcloud. Pour obtenir plus d'informations conceptuelles sur l'outil gcloud ainsi que des instructions d'installation, consultez la Présentation de gcloud.

Autorisations

Pour réaliser les étapes décrites dans ce guide, vous devez disposer des autorisations nécessaires à la création d'instances Compute Engine au sein d'un projet. Vous devez disposer d'un rôle de propriétaire ou d'éditeur de projet, ou des rôles IAM Compute Engine suivants :

Tâche Rôle requis
Créer des instances Administrateur d'instances Compute
Ajouter et supprimer des règles de pare-feu Administrateur de sécurité
Créer des composants pour l'équilibreur de charge Administrateur réseau
Créer un projet (facultatif) Créateur de projet

Pour en savoir plus, consultez les guides suivants :

Prérequis

Facultatif : créer un projet

Nous recommandons aux utilisateurs disposant de l'autorisation resourcemanager.projects.create de créer un projet avant de poursuivre. Cela simplifie le nettoyage une fois que vous aurez terminé ce guide.

Configurer un réseau et des sous-réseaux

Dans cet exemple, utilisez les définitions suivantes pour le réseau VPC, les régions et les sous-réseaux :

  • Réseau : le réseau est un réseau VPC en mode personnalisé nommé lb-network.

  • Sous-réseaux situés dans deux régions différentes :

    • us-subnet utilise 10.1.10.0/24 comme plage d'adresses IP principale et se trouve dans la région us-central1.
    • eu-subnet utilise 10.1.11.0/24 comme plage d'adresses IP principale et se trouve dans la région europe-west1.

Pour créer le réseau et les sous-réseaux d'exemple, procédez comme suit :

Console

  1. Dans Google Cloud Console, accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Cliquez sur Créer un réseau VPC.

  3. Saisissez le nom lb-network.

  4. Dans la section Sous-réseaux, créez le premier sous-réseau :

    • Définissez Mode de création du sous-réseau sur Personnalisé.
    • Dans la section Nouveau sous-réseau, saisissez les informations suivantes :
      • Nom : us-subnet
      • Région : us-central1
      • Plage d'adresses IP : 10.1.10.0/24
      • Cliquez sur OK.
  5. Toujours dans la section Sous-réseaux, cliquez sur Ajouter un sous-réseau et créez le deuxième sous-réseau :

    • Dans la section Nouveau sous-réseau, saisissez les informations suivantes :
      • Nom : eu-subnet
      • Région : europe-west1
      • Plage d'adresses IP : 10.1.11.0/24
      • Cliquez sur OK.
  6. Cliquez sur Créer.

gcloud

  1. Créez le réseau VPC personnalisé :

    gcloud compute networks create lb-network --subnet-mode=custom
    
  2. Créez le sous-réseau us-subnet :

    gcloud compute networks subnets create us-subnet \
      --network=lb-network \
      --range=10.1.10.0/24 \
      --region=us-central1
    
  3. Créez le sous-réseau eu-subnet :

    gcloud compute networks subnets create eu-subnet \
      --network=lb-network \
      --range=10.1.11.0/24 \
      --region=europe-west1
    

Configurer les règles de pare-feu

La règle d'entrée interdite par défaut bloque le trafic entrant vers les instances backend, y compris le trafic provenant de l'équilibreur de charge et des systèmes de vérification d'état de Google Cloud. Vous devez créer de nouvelles règles de pare-feu pour remplacer cette règle par défaut et autoriser le trafic à accéder à vos instances.

Dans cet exemple, vous devez créer les règles de pare-feu suivantes :

  • fw-allow-ssh : règle d'entrée, applicable aux instances faisant l'objet d'un équilibrage de charge, qui autorise la connectivité SSH entrante sur le port TCP 22 à partir de n'importe quelle adresse. Vous pouvez choisir une plage d'adresses IP source plus restrictive pour cette règle. Par exemple, vous pouvez spécifier uniquement les plages d'adresses IP du système à partir duquel vous prévoyez de lancer des sessions SSH. Cet exemple utilise le tag cible allow-ssh pour identifier les VM de backend auxquelles la règle doit s'appliquer.

  • fw-allow-health-check-and-proxy : règle d'entrée, applicable aux instances soumises à l'équilibrage de charge, qui autorise le trafic provenant de l'équilibreur de charge et des systèmes de vérification d'état de Google Cloud (130.211.0.0/22 et 35.191.0.0/16). Cet exemple utilise le tag cible allow-health-check pour identifier les VM de backend auxquelles il doit s'appliquer.

Console

  1. Dans la console Google Cloud, accédez à la page Règles d'administration.

    Accéder à la page "Stratégies de pare-feu"

  2. Cliquez sur Créer une règle de pare-feu pour créer la première règle de pare-feu :

    1. Saisissez le nom fw-allow-ssh.
    2. Sous Réseau, sélectionnez lb-network.
    3. Sous Cibles, sélectionnez Tags cibles spécifiés.
    4. Dans le champ Tags cibles, saisissez allow-ssh.
    5. Définissez Filtre source sur Plages IPv4.
    6. Définissez le paramètre Plages IPv4 sources sur 0.0.0.0/0.
    7. Dans Protocoles et ports, sélectionnez Protocoles et ports spécifiés.
    8. Cochez la case TCP, puis saisissez 22 pour le numéro de port.
    9. Cliquez sur Créer.
  3. Cliquez sur Créer une règle de pare-feu pour créer la deuxième règle de pare-feu :

    1. Saisissez le nom fw-allow-health-check-and-proxy.
    2. Sous Réseau, sélectionnez lb-network.
    3. Sous Cibles, sélectionnez Tags cibles spécifiés.
    4. Dans le champ Tags cibles, saisissez allow-health-check.
    5. Définissez Filtre source sur Plages IPv4.
    6. Définissez Plages IPv4 sources sur 130.211.0.0/22 et 35.191.0.0/16.
    7. Dans Protocoles et ports, sélectionnez Protocoles et ports spécifiés.
    8. Cochez la case TCP, puis saisissez 80,443 pour les numéros de port.
    9. Cliquez sur Créer.

gcloud

  1. Créez la règle de pare-feu fw-allow-ssh pour autoriser la connectivité SSH aux VM avec le tag réseau allow-ssh. Lorsque vous omettez source-ranges, Google Cloud interprète la règle comme désignant n'importe quelle source.

    gcloud compute firewall-rules create fw-allow-ssh \
        --network=lb-network \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-ssh \
        --rules=tcp:22
    
  2. Créez la règle fw-allow-health-check-and-proxy pour autoriser l'équilibreur de charge et les vérifications d'état de Google Cloud à communiquer avec les instances backend sur les ports TCP 80 et 443 :

    gcloud compute firewall-rules create fw-allow-health-check-and-proxy \
        --network=lb-network \
        --action=allow \
        --direction=ingress \
        --target-tags=allow-health-check \
        --source-ranges=130.211.0.0/22,35.191.0.0/16 \
        --rules=tcp:80,tcp:443
    

Créer des instances

Pour que vous puissiez configurer un équilibreur de charge avec un backend Compute Engine, vos VM doivent appartenir à des groupes d'instances. Ce guide explique comment créer un groupe d'instances géré avec des VM Linux sur lesquelles Apache est en cours d'exécution.

Le groupe d'instances géré fournit des VM exécutant les serveurs de backend d'un équilibreur de charge HTTPS externe. À des fins de démonstration, les backends diffusent leurs propres noms d'hôte.

Dans cet exemple, vous créez huit instances de machines virtuelles (VM) : quatre pour diffuser du contenu vidéo et quatre pour diffuser tous les autres types de contenus. Vous utilisez un script de démarrage pour installer le logiciel serveur Web Apache avec une page d'accueil unique à chaque instance. Notez que vous pouvez utiliser n'importe quel serveur Web sur vos VM. Dans cet exemple, Apache est installé pour plus de commodité.

Console

Créez un modèle d'instance.

  1. Dans Google Cloud Console, accédez à la page Modèles d'instances.

    Accéder à la page Modèles d'instances

    1. Cliquez sur Create instance template (Créer un modèle d'instance).
    2. Dans le champ Nom, saisissez video-us-template.
    3. Assurez-vous que le disque de démarrage est défini sur une image Debian, telle que Debian GNU/Linux 10 (Buster). Ces instructions utilisent des commandes uniquement disponibles dans Debian, comme apt-get.
    4. Cliquez sur Options avancées.
    5. Cliquez sur Mise en réseau et configurez les champs suivants :
      1. Pour Tags réseau, saisissez allow-health-check et allow-ssh.
      2. Pour Interfaces réseau, sélectionnez l'option suivante :
        • Réseau : lb-network
        • Sous-réseau : us-subnet
    6. Cliquez sur Gestion. Saisissez le script suivant dans le champ Script de démarrage.

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      vm_hostname="$(curl -H "Metadata-Flavor:Google" \
      http://metadata.google.internal/computeMetadata/v1/instance/name)"
      mkdir -p /var/www/html/video
      echo "Page served from: $vm_hostname" | \
      tee /var/www/html/index.html /var/www/html/video/index.html
      systemctl restart apache2
      
    7. Cliquez sur Créer.

  2. Créez un groupe d'instances géré. Dans la console Google Cloud, accédez à la page Groupes d'instances.

    Accéder à la page "Groupes d'instances"

    1. Cliquez sur Créer un groupe d'instances.
    2. Sélectionnez Nouveau groupe d'instances géré (sans état). Pour plus d'informations, consultez la page Groupes d'instances gérés (MIG) sans état ou avec état.
    3. Dans le champ Nom, saisissez ig-video-us.
    4. Pour l'emplacement, sélectionnez Zone unique.
    5. Pour Région, sélectionnez la région de votre choix. Cet exemple utilise us-central1.
    6. Comme Zone, sélectionnez us-central1-b.
    7. Pour le paramètre Modèle d'instance, sélectionnez video-us-template.
    8. Sous Mode autoscaling, sélectionnez Off:do not autoscale.
    9. Sous Nombre maximal d'instances, saisissez 2.
    10. Cliquez sur Créer.

gcloud

  1. Créez un modèle d'instance.

    gcloud compute instance-templates create video-us-template \
       --region=us-central1 \
       --network=lb-network \
       --subnet=us-subnet \
       --tags=allow-health-check,allow-ssh \
       --image-family=debian-10 \
       --image-project=debian-cloud \
       --metadata=startup-script='#! /bin/bash
         apt-get update
         apt-get install apache2 -y
         a2ensite default-ssl
         a2enmod ssl
         vm_hostname="$(curl -H "Metadata-Flavor:Google" \
         http://metadata.google.internal/computeMetadata/v1/instance/name)"
         mkdir -p /var/www/html/video
         echo "Page served from: $vm_hostname" | \
         tee /var/www/html/index.html /var/www/html/video/index.html
         systemctl restart apache2'
    
  2. Créez un groupe d'instances géré basé sur le modèle.

    gcloud compute instance-groups managed create ig-video-us \
       --template=video-us-template --size=2 --zone=us-central1-b
    

Répétez cette procédure quatre fois pour les quatre groupes d'instances. Veillez à modifier le nom du groupe d'instances, le nom du modèle, la région et la zone de chaque groupe d'instances, comme suit :

  • ig-video-us, video-us-template, us-central1-b (comme indiqué dans l'exemple)
  • ig-video-eu, video-eu-template, europe-west1-b
  • ig-www-us, www-us-template, us-central1-b
  • ig-www-eu, www-europe-template, europe-west1-b

Ajouter un port nommé au groupe d'instances

Pour chaque groupe d'instances, définissez un service HTTP et mappez un nom de port sur le port correspondant. Une fois configuré, le service d'équilibrage de charge transfère le trafic vers le port nommé.

Console

  1. Dans la console Google Cloud, accédez à la page Groupes d'instances.

    Accéder à la page "Groupes d'instances"

  2. Cliquez sur le nom de votre groupe d'instances (par exemple ig-video-us), puis sur Modifier le groupe.

  3. Cliquez sur Préciser le mappage des noms des ports.

  4. Cliquez sur Ajouter un élément.

  5. Pour le nom du port, saisissez http. Pour le numéro de port, saisissez 80.

  6. Cliquez sur Enregistrer.

Répétez cette étape pour chaque groupe d'instances.

gcloud

gcloud compute instance-groups unmanaged set-named-ports ig-video-us \
    --named-ports http:80 \
    --zone us-central1-b
gcloud compute instance-groups unmanaged set-named-ports ig-www-us \
    --named-ports http:80 \
    --zone us-central1-b
gcloud compute instance-groups unmanaged set-named-ports ig-video-eu \
    --named-ports http:80 \
    --zone europe-west1-b
gcloud compute instance-groups unmanaged set-named-ports ig-www-eu \
    --named-ports http:80 \
    --zone europe-west1-b

Réserver des adresses IP externes

Maintenant que vos instances sont opérationnelles, configurez les services nécessaires à l'équilibrage de charge. Dans cette section, vous allez créer deux adresses IP externes statiques globales que vos clients utiliseront pour accéder à votre équilibreur de charge.

Console

  1. Dans Google Cloud Console, accédez à la page Adresses IP externes.

    Accéder à la page "Adresses IP externes"

  2. Cliquez sur Réserver une adresse statique pour réserver une adresse IPv4.

  3. Attribuez un Nom à lb-ipv4-1.

  4. Définissez le niveau réseau à la valeur Premium.

  5. Définissez Version IP sur IPv4.

  6. Définissez le Type à la valeur Global.

  7. Cliquez sur Réserver.

  8. Cliquez à nouveau sur Réserver une adresse statique pour réserver une adresse IPv6.

  9. Attribuez un Nom à lb-ipv6-1.

  10. Définissez le niveau réseau à la valeur Premium.

  11. Définissez Version IP sur IPv6.

  12. Assurez-vous que le paramètre Type est bien défini sur Global.

    Dans l'exemple, l'équilibreur de charge utilise le niveau réseau Premium. Un équilibreur de charge utilisant le niveau réseau standard fait plutôt appel à des adresses IP régionales. Les adresses IPv6 ne sont pas disponibles avec le niveau standard.

  13. Cliquez sur Réserver.

gcloud

  1. Réservez une adresse IPv4 :

    gcloud compute addresses create lb-ipv4-1 \
      --ip-version=IPV4 \
      --network-tier=PREMIUM \
      --global
    
  2. Réservez une adresse IPv6 :

    gcloud compute addresses create lb-ipv6-1 \
      --ip-version=IPV6 \
      --network-tier=PREMIUM \
      --global
    

Configurer les ressources d'équilibrage de charge

La fonctionnalité d'équilibreur de charge fait intervenir plusieurs ressources connectées que vous allez définir et connecter dans cette section. Il s'agit des types suivants :

  • Des ports nommés que l'équilibreur de charge utilisera pour acheminer le trafic vers vos groupes d'instances
  • Une vérification d'état qui interroge vos instances pour savoir si elles sont opérationnelles. L'équilibreur de charge n'envoie le trafic que vers les instances opérationnelles.
  • Des services de backend, qui assurent le suivi de la capacité, de l'affinité de session et des vérifications d'état. Les services de backend envoient des requêtes aux VM de backend ou aux points de terminaison en fonction de leur capacité et de l'état des instances.
  • Un mappage d'URL utilisé par l'équilibreur de charge pour diriger les requêtes vers des services de backend spécifiques en fonction de l'hôte et du chemin d'accès de l'URL de requête.
  • Une ressource de certificat SSL. Les ressources de certificat SSL contiennent des informations de certificat SSL utilisées par l'équilibreur de charge pour interrompre le protocole TLS lorsque des clients HTTPS s'y connectent. Vous pouvez utiliser plusieurs certificats SSL sous forme d'une combinaison quelconque de certificats SSL gérés ou autogérés. Vous devez créer une ressource de certificat SSL pour chaque certificat que vous utilisez.
  • Un proxy HTTPS cible, auquel l'équilibreur de charge fait appel pour associer votre mappage d'URL et vos certificats SSL à vos règles de transfert globales.
  • Deux règles de transfert globales, une pour IPv4 et une pour IPv6, qui détiennent les ressources de l'adresse IP externe globale. Les règles de transfert globales transfèrent les requêtes entrantes vers le proxy cible.

Console

Démarrer la configuration

  1. Dans Google Cloud Console, accédez à la page Équilibrage de charge.

    Accéder à la page "Équilibrage de charge"

  2. Cliquez sur Créer un équilibreur de charge.
  3. Dans le champ 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. 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.
  6. Pour Génération de l'équilibreur de charge, sélectionnez Équilibreur de charge d'application classique, puis cliquez sur Suivant.
  7. Cliquez sur Configurer.

Configuration de base

  1. Pour le nom de l'équilibreur de charge, saisissez web-map.
  2. Laissez la fenêtre ouverte pour continuer.

Configurer le service de backend et la vérification d'état pour les instances www

L'équilibreur de charge nécessite deux services de backend et une vérification d'état pour ces deux services. Dans cet exemple, l'équilibreur de charge interrompt les requêtes HTTPS provenant du client et utilise le protocole HTTP pour communiquer avec les backends. Pour ce faire, vous devez spécifier HTTP comme protocole pour la communication avec les backends et pour les vérifications d'état.

  1. Cliquez sur Configuration du backend.
  2. Dans le menu déroulant Créer ou sélectionner un service de backend, maintenez le pointeur de la souris sur Services de backend, puis sélectionnez Créer un service de backend.
  3. Définissez le paramètre Nom du service de backend sur web-backend-service.
  4. Assurez-vous que le Type de backend est défini sur Groupe d'instances.
  5. Dans le menu déroulant Protocole, sélectionnez HTTP.
  6. Dans le champ Port nommé, saisissez http.
  7. Sous Backends, définissez le Groupe d'instances sur ig-www-us.
  8. Pour le trafic entre l'équilibreur de charge et les instances, définissez le champ Numéros de ports sur 80.
  9. Conservez les valeurs par défaut des autres champs.
  10. Cliquez sur OK en bas de la fenêtre Nouveau backend.
  11. Cliquez sur Ajouter un backend et répétez les étapes ci-dessus, en sélectionnant cette fois le groupe d'instances ig-www-eu.
  12. Laissez la fenêtre ouverte pour continuer.

Configurez la vérification d'état pour les instances www.

  1. Dans la fenêtre Configuration du backend, sous Vérification de l'état, sélectionnez Créer une vérification de l'état ou Créer une autre vérification de l'état.
  2. Pour créer la vérification d'état HTTP, définissez les paramètres suivants :
    • Nom : http-basic-check-www
    • Protocole : HTTP
    • Port : 80
  3. Cliquez sur Enregistrer et continuer.
  4. Cliquez sur Créer.

Configurer le service de backend et la vérification d'état pour les instances video

  1. Répétez les étapes ci-dessus, mais en donnant au deuxième service de backend le nom video-backend-service et en lui affectant les groupes d'instances ig-video-us et ig-video-eu.
  2. Suivez les mêmes étapes pour créer une vérification d'état, mais attribuez-lui le nom http-basic-check-video. Les noms des vérifications d'état doivent être uniques.

Configurer les règles d'hôte et de chemin d'accès

Les règles d'hôte et de chemin d'accès configurent la ressource de mappage d'URL de l'équilibreur de charge.

  1. Dans la colonne de gauche de l'écran, cliquez sur Règles d'hôte et de chemin d'accès.
  2. La première ligne inclut web-backend-service dans la colonne de droite et contient déjà la règle par défaut Any unmatched (default) (sans correspondance) pour les hôtes et les chemins d'accès.
  3. Assurez-vous qu'il existe bien une deuxième ligne comportant video-backend-service dans la colonne de droite. Si ce n'est pas le cas, cliquez sur Ajouter une règle d'hôte et de chemin d'accès, puis sélectionnez video-backend-service dans le menu déroulant de la colonne de droite. Remplissez les autres colonnes comme indiqué ici :
    1. Pour Hôtes, définissez *.
    2. Dans le champ Chemins d'accès :
      1. Saisissez /video, puis appuyez sur la touche Tabulation.
      2. Saisissez /video/*, puis appuyez sur la touche Tabulation.

Configurer l'interface

La section de configuration de l'interface gère plusieurs ressources pour l'équilibreur de charge, y compris les règles de transfert et les certificats SSL. En outre, elle vous permet de sélectionner le protocole utilisé entre le client et l'équilibreur de charge.

Dans cet exemple, vous utilisez le protocole HTTPS entre le client et l'équilibreur de charge. Vous devez donc disposer d'une ou plusieurs ressources de certificat SSL pour configurer le proxy. Pour en savoir plus sur la création de ressources de certificats SSL, consultez la documentation sur les certificats SSL. Nous vous recommandons d'utiliser un certificat géré par Google.

  1. Dans le panneau de gauche de la page Créer un équilibreur de charge d'application externe global, cliquez sur Configuration du frontend.
  2. Dans le champ Nom, saisissez https-content-rule.
  3. Dans le champ Protocole, sélectionnez HTTPS.
  4. Laissez la fenêtre ouverte pour continuer.

Configurer la règle de transfert IPv4

  1. Définissez Version IP sur IPv4.
  2. Dans Adresse IP, sélectionnez l'adresse lb-ipv4-1, que vous avez créée précédemment.
  3. Assurez-vous que le port est défini sur la valeur 443 pour autoriser le trafic HTTPS.
  4. Cliquez sur la liste déroulante Certificat.
    1. Si vous possédez déjà une ressource de certificat SSL autogérée que vous souhaitez utiliser comme certificat SSL principal, sélectionnez-la dans le menu déroulant.
    2. Sinon, sélectionnez Créer un certificat.
    3. Pour le nom, indiquez www-ssl-cert.
    4. Sélectionnez Importer mon certificat ou Créer un certificat géré par Google. Pour créer un certificat géré par Google, vous devez disposer d'un domaine. Si cela n'est pas le cas, vous pouvez télécharger votre propre certificat à des fins de test.
    5. Si vous avez choisi Importer mon certificat, procédez comme suit :
      1. Dans le champ Certificat de clé publique, effectuez l'une des opérations suivantes :
        • Cliquez sur le bouton Importer et sélectionnez votre fichier de certificat au format PEM.
        • Copiez et collez le contenu d'un certificat au format PEM. Le contenu doit commencer par -----BEGIN CERTIFICATE----- et se terminer par -----END CERTIFICATE-----.
      2. Pour le champ Chaîne de certificats, effectuez l'une des opérations suivantes :
        • Cliquez sur le lien Importer et sélectionnez le fichier de certificat de votre autorité de certification. Ce fichier doit inclure les certificats CA intermédiaires et le certificat CA racine.
        • Copiez et collez le contenu d'une chaîne de certificats. Chaque certificat de la chaîne doit être au format PEM, commencer par -----BEGIN CERTIFICATE----- et se terminer par -----END CERTIFICATE-----. Google Cloud ne valide pas la chaîne de certificats pour vous. La validation relève de votre responsabilité.
        • Si vous omettez la chaîne de certificats, votre certificat doit être signé par une autorité de certification publiquement approuvée à laquelle vos clients feraient automatiquement confiance.
      3. Pour le champ Certificat de clé privée, effectuez l'une des opérations suivantes :
        • Cliquez sur le bouton Importer et sélectionnez votre clé privée. Votre clé privée doit être au format PEM et non protégée par une phrase secrète.
        • Copiez et collez le contenu d'une clé privée au format PEM. Les clés privées RSA doivent commencer par -----BEGIN RSA PRIVATE KEY----- et se terminer par -----END RSA PRIVATE KEY-----. Les clés privées ECDSA doivent commencer par -----BEGIN EC PRIVATE KEY----- et se terminer par -----END EC PRIVATE KEY-----.
      4. Cliquez sur Créer.
    6. Si vous avez choisi de Créer un certificat géré par Google, saisissez un Domaine.
  5. Pour ajouter des ressources de certificat en plus de la ressource de certificat SSL principale, procédez comme suit :
    1. Cliquez sur Ajouter un certificat.
    2. Sélectionnez un certificat dans la liste Certificats ou cliquez sur Créer un certificat, puis suivez les instructions ci-dessus.
  6. Dans la section Négociation QUIC, sélectionnez l'une des options suivantes :
    • Automatique (par défaut) : permet à Google de contrôler la date de négociation QUIC. Actuellement, lorsque vous sélectionnez Automatique, QUIC est désactivé. En sélectionnant cette option, vous autorisez Google à activer automatiquement les négociations QUIC et HTTP/3 à l'avenir pour cet équilibreur de charge. Dans gcloud et dans l'API, cette option est appelée NONE.
    • Activé : autorise l'équilibreur de charge à négocier le protocole QUIC avec les clients.
    • Désactivé : empêche l'équilibreur de charge de négocier le protocole QUIC avec les clients.
  7. Cliquez sur OK.
  8. Laissez la fenêtre ouverte pour continuer.

Configurer la règle de transfert IPv6

  1. Cliquez sur Ajouter une adresse IP et un port frontend.
  2. Saisissez le nom https-content-ipv6-rule.
  3. Dans le champ Protocole, sélectionnez HTTPS si vous souhaitez utiliser le protocole HTTPS entre le client et l'équilibreur de charge. Sélectionnez HTTP si vous préférez utiliser le protocole HTTP entre le client et l'équilibreur de charge.
  4. Définissez Version IP sur IPv6.
  5. Dans Adresse IP, sélectionnez l'adresse lb-ipv6-1 que vous avez créée précédemment.
  6. Le Port par défaut, 443, est obligatoire.
  7. Si vous possédez déjà une ressource de certificat SSL que vous souhaitez utiliser, sélectionnez-la dans le menu déroulant Certificat. Sinon, sélectionnez Créer un nouveau certificat.
    1. Pour le nom, indiquez www-ssl-cert.
    2. Dans les champs correspondants, importez respectivement votre Certificat de clé publique (fichier .crt), votre Chaîne de certificats (fichier .csr) et votre Clé privée (fichier .key).
    3. Cliquez sur Créer.
  8. Pour ajouter des ressources de certificat en plus de la ressource de certificat SSL principale, procédez comme suit :
    1. Cliquez sur Ajouter un certificat.
    2. Sélectionnez un certificat dans la liste Certificats ou cliquez sur Créer un certificat, puis suivez les instructions ci-dessus.
  9. Dans la section Négociation QUIC, sélectionnez l'une des options suivantes :
    • Automatique (par défaut) : permet à Google de contrôler la date de négociation QUIC. Actuellement, lorsque vous sélectionnez Automatique, QUIC est désactivé. En sélectionnant cette option, vous autorisez Google à activer automatiquement les négociations QUIC et HTTP/3 à l'avenir pour cet équilibreur de charge. Dans gcloud et dans l'API, cette option est appelée NONE.
    • Activé : autorise l'équilibreur de charge à négocier le protocole QUIC avec les clients.
    • Désactivé : empêche l'équilibreur de charge de négocier le protocole QUIC avec les clients.
  10. Cliquez sur OK.

Vérifier et finaliser

  1. Dans le panneau de gauche de la page Créer un équilibreur de charge d'application externe global, cliquez sur Vérification et finalisation.
  2. Comparez vos paramètres à ce que vous aviez l'intention de créer.
  3. Si tout semble correct, cliquez sur Créer pour créer votre équilibreur de charge d'application externe.

gcloud

  1. Créez une vérification d'état. Utilisez la commande gcloud pour HTTP si vous utilisez HTTP entre l'équilibreur de charge et les backends.

    gcloud compute health-checks create http http-basic-check \
        --port 80
    
  2. Créez un service de backend pour chaque fournisseur de contenu.

    Définissez le champ --protocol sur HTTP, car vous accédez aux instances via HTTP. Pour la vérification d'état, utilisez la vérification http-basic-check que nous avons créée précédemment.

    • Pour un équilibreur de charge d'application externe global, exécutez la commande gcloud CLI avec load-balancing-scheme=EXTERNAL_MANAGED. Ce paramètre offre une fonctionnalité de gestion avancée du trafic.
    • Pour un équilibreur de charge d'application classique, utilisez load-balancing-scheme=EXTERNAL.
    gcloud compute backend-services create video-backend-service \
        --load-balancing-scheme=LOAD_BALANCING_SCHEME \
        --global-health-checks \
        --protocol=HTTP \
        --port-name=http \
        --health-checks=http-basic-check \
        --global
    
    gcloud compute backend-services create web-backend-service \
        --load-balancing-scheme=LOAD_BALANCING_SCHEME \
        --global-health-checks \
        --protocol=HTTP \
        --port-name=http \
        --health-checks=http-basic-check \
        --global
    
  3. Ajoutez vos groupes d'instances en tant que backends aux services de backend. Un backend définit la capacité (utilisation maximale du backend ou nombre maximal de requêtes par seconde) des groupes d'instances qu'il contient. Dans cet exemple, définissez le mode d'équilibrage balancing-mode sur la valeur UTILIZATION, l'utilisation maximale max-utilization sur la valeur 0.8 et le scaler de capacité capacity-scaler sur la valeur 1. Définissez le paramètre capacity-scaler sur la valeur 0 si vous souhaitez drainer un service de backend.

    Ajoutez le groupe d'instances ig-video-us :

    gcloud compute backend-services add-backend video-backend-service \
        --balancing-mode=UTILIZATION \
        --max-utilization=0.8 \
        --capacity-scaler=1 \
        --instance-group=ig-video-us \
        --instance-group-zone=us-central1-b \
        --global
    

    Ajoutez le groupe d'instances ig-video-eu :

    gcloud compute backend-services add-backend video-backend-service \
        --balancing-mode=UTILIZATION \
        --max-utilization=0.8 \
        --capacity-scaler=1 \
        --instance-group=ig-video-eu \
        --instance-group-zone=europe-west1-b \
        --global
    

    Ajoutez le groupe d'instances ig-www-us :

    gcloud compute backend-services add-backend web-backend-service \
        --balancing-mode=UTILIZATION \
        --max-utilization=0.8 \
        --capacity-scaler=1 \
        --instance-group=ig-www-us \
        --instance-group-zone=us-central1-b \
        --global
    

    Ajoutez le groupe d'instances ig-www-eu :

    gcloud compute backend-services add-backend web-backend-service \
        --balancing-mode=UTILIZATION \
        --max-utilization=0.8 \
        --capacity-scaler=1 \
        --instance-group=ig-www-eu \
        --instance-group-zone=europe-west1-b \
        --global
    
  4. Créez un mappage d'URL pour diriger les requêtes entrantes vers les services de backend appropriés. Dans ce cas, les mappages de chemins de requête définis via l'option --path-rules répartissent le trafic en fonction du chemin de l'URL pour chaque requête adressée à votre site. Le trafic qui ne correspond à aucune entrée de la liste --path-rules est envoyé à l'entrée figurant dans l'option --default-service flag.

    1. Créez un mappage d'URL :

      gcloud compute url-maps create web-map \
          --default-service web-backend-service
      
    2. Ajoutez à votre mappage d'URL un outil de mappage des chemins d'accès (path matcher), puis définissez les mappages des chemins d'accès :

      gcloud compute url-maps add-path-matcher web-map \
          --default-service web-backend-service \
          --path-matcher-name pathmap \
          --path-rules="/video=video-backend-service,/video/*=video-backend-service"
      
  5. Créez une ressource de certificat SSL à utiliser dans le proxy HTTPS. Pour créer un certificat géré par Google, vous devez disposer d'un domaine. Si ce n'est pas le cas, vous pouvez utiliser un certificat SSL auto-signé pour les tests. Pour en savoir plus, consultez la documentation concernant les Types de certificats SSL.

    Si vous utilisez plusieurs certificats SSL, vous devez créer une ressource de certificat SSL pour chacun d'entre eux.

    Pour créer une ressource de certificat SSL autogéré, procédez comme suit :

    gcloud compute ssl-certificates create www-ssl-cert \
        --certificate [CRT_FILE_PATH] \
        --private-key [KEY_FILE_PATH]
    

    Pour créer une ressource de certificat SSL géré par Google, procédez comme suit :

    gcloud compute ssl-certificates create www-ssl-cert \
      --domains [DOMAIN]
    
  6. Créez un proxy HTTPS cible pour rediriger les requêtes vers votre mappage d'URL. Le serveur proxy est la partie de l'équilibreur de charge qui contient le certificat SSL pour l'équilibrage de charge HTTPS. Vous chargez donc également votre certificat à cette étape :

    gcloud compute target-https-proxies create https-lb-proxy \
        --url-map web-map --ssl-certificates www-ssl-cert
    
  7. Créez deux règles de transfert globales pour acheminer les requêtes entrantes vers le proxy, une pour chacune des adresses IP que vous avez créées.

    • Pour un équilibreur de charge d'application externe global, exécutez la commande gcloud CLI avec load-balancing-scheme=EXTERNAL_MANAGED. Ce paramètre offre une fonctionnalité de gestion avancée du trafic.
    • Pour un équilibreur de charge d'application classique, utilisez load-balancing-scheme=EXTERNAL.
    gcloud compute forwarding-rules create https-content-rule \
        --load-balancing-scheme=LOAD_BALANCING_SCHEME \
        --network-tier=PREMIUM \
        --address=lb-ipv4-1 \
        --global \
        --target-https-proxy=https-lb-proxy \
        --ports=443
    
    gcloud compute forwarding-rules create https-content-ipv6-rule \
        --load-balancing-scheme=LOAD_BALANCING_SCHEME \
        --network-tier=PREMIUM \
        --address=lb-ipv6-1 \
        --global \
        --target-https-proxy=https-lb-proxy \
        --ports=443
    

Une fois les règles de transfert globales créées, la propagation de votre configuration peut prendre plusieurs minutes.

Connecter un domaine à votre équilibreur de charge

Une fois l'équilibreur de charge créé, notez l'adresse IP associée à celui-ci (par exemple, 30.90.80.100). Pour faire pointer votre domaine vers votre équilibreur de charge, créez un enregistrement A à l'aide de votre service d'enregistrement de domaine. Si vous avez ajouté plusieurs domaines à votre certificat SSL, vous devez ajouter un enregistrement A à chacun d'eux, tous pointant vers l'adresse IP de l'équilibreur de charge. Par exemple, pour créer des enregistrements A pour www.example.com et example.com, utilisez le code suivant :

NAME                  TYPE     DATA
www                   A        30.90.80.100
@                     A        30.90.80.100

Si vous utilisez Cloud DNS comme fournisseur DNS, consultez la section Ajouter, modifier et supprimer des enregistrements.

Envoyer du trafic vers vos instances

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

Console et navigateur Web

  1. Dans la console Google Cloud, accédez à la page Équilibrage de charge.

    Accéder à la page "Équilibrage de charge"

  2. Cliquez sur web-map pour développer l'équilibreur de charge que vous venez de créer.

  3. Dans la section Backend, vérifiez que les instances sont opérationnelles. La colonne Instances opérationnelles doit présenter des éléments indiquant que les deux instances de chacun des quatre groupes d'instances sont opérationnelles. Si ce n'est pas le cas, commencez par actualiser la page. Il peut s'écouler quelques instants avant que Google Cloud Console n'indique que les instances sont opérationnelles. Si les backends n'apparaissent toujours pas opérationnels au bout de quelques minutes, examinez la configuration du pare-feu et l'ensemble des tags réseau attribués à vos instances backend.

  4. Enregistrez les adresses IPv4 et IPv6 de votre équilibreur de charge :

    1. Dans Google Cloud Console, accédez à la page Adresses IP externes.

      Accéder à la page "Adresses IP externes"

    2. Sous Nom, recherchez les adresses nommées lb-ipv4-1 et lb-ipv6-1, puis enregistrez les valeurs associées dans la colonne Adresses externes.

  5. Si vous utilisez un certificat géré par Google, procédez comme suit :

    1. Créez les enregistrements DNS suivants :

    2. Vérifiez que l'état de votre ressource de certificat est ACTIF. Pour en savoir plus, consultez la section Vérifier l'état du certificat SSL géré par Google.

  6. Testez votre équilibreur de charge à l'aide d'un navigateur Web en accédant à l'une des URL suivantes :

    • https://IP_ADDRESS, où IP_ADDRESS correspond à l'adresse IPv4 de l'équilibreur de charge. Si votre navigateur affiche un avertissement concernant le certificat, vous devez explicitement lui demander de l'approuver. Un avertissement s'affiche parce que les certificats sont généralement configurés avec des domaines et non des adresses IP.

    • https://FQDN, où FQDN correspond au nom de domaine complet (FQDN) dont l'enregistrement DNS est configuré pour pointer vers l'adresse IP de l'équilibreur de charge. Si vous avez utilisé un certificat SSL autogéré et autosigné ou un certificat SSL autogéré signé par une autorité de certification (AC) personnalisée, votre navigateur affichera un avertissement concernant le certificat, sauf si vous lui avez explicitement demandé d'approuver le certificat ou son autorité de certification. Pour en savoir plus sur les certificats autogérés, consultez la section Créer une clé privée et un certificat.

    Votre navigateur doit afficher une page dont le contenu indique le nom de l'instance ayant diffusé la page, ainsi que sa zone (par exemple, Page on ig-www-us-02 in us-central1-b).

  7. Dans votre navigateur, accédez à l'une des URL suivantes :

    • https://IP_ADDRESS/video, où IP_ADDRESS est l'adresse IPv4 de l'équilibreur de charge.

    • https://FQDN/video, où FQDN correspond au nom de domaine complet dont l'enregistrement DNS est configuré pour pointer vers l'adresse IP de l'équilibreur de charge.

    Votre navigateur doit afficher une page dont le contenu indique le nom de l'instance vidéo ayant diffusé la page, ainsi que sa zone (par exemple, Page on ig-video-us-02 in us-central1-b).

Utiliser gcloud et curl

  1. Enregistrez les adresses IPv4 et IPv6 de votre équilibreur de charge :

    gcloud compute addresses describe lb-ipv4-1 \
    --format="get(address)" \
    --global
    
    gcloud compute addresses describe lb-ipv6-1 \
    --format="get(address)" \
    --global
    
  2. Si vous utilisez un certificat géré par Google, procédez comme suit :

    1. Créez les enregistrements DNS suivants :

    2. Vérifiez que l'état de votre ressource de certificat est ACTIF. Pour plus d'informations, consultez la section État des ressources de certificat SSL géré par Google.

      gcloud compute ssl-certificates list
      
  3. Utilisez la commande curl pour tester la réponse à partir de ces URL. Remplacez IP_ADDRESS par l'adresse IPv4 de l'équilibreur de charge :

    curl -k https://IP_ADDRESS
    
    curl -k https://IP_ADDRESS/video/
    
  4. Utilisez la commande curl pour tester la réponse à partir de ces URL. Remplacez IP_ADDRESS par l'adresse IPv6 de l'équilibreur de charge. Pour IPv6, vous devez ajouter des crochets ([]) autour de l'adresse et désactiver la globbing à l'aide de l'option -g (par exemple, curl -g -6 "https://[2001:DB8::]/").

    curl -k -g -6 https://[IP_ADDRESS]
    
    curl -k -g -6 https://[IP_ADDRESS]/video/
    

Tester la fonctionnalité multirégionale

Pour simuler un utilisateur dans une zone géographique différente, vous pouvez vous connecter à l'une de vos instances de machine virtuelle dans une région différente, puis exécuter une commande curl à partir de cette instance pour diriger la requête vers une instance située dans la région la plus proche de celle-ci.

Si vous vous connectez à ig-www-us-01, l'exécution d'une commande curl montre que la requête est adressée à une instance dans la région us-central1. Vous obtenez le résultat suivant : Page on ig-www-us-02 in us-central1-b.

Si vous vous connectez à ig-www-eu-01, l'exécution d'une commande curl montre que la requête est adressée à une instance dans la région europe-west1. Vous obtenez le résultat suivant : Page on ig-www-eu-02 in europe-west1-b.

Vous pouvez réaliser des tests à partir d'un système client situé n'importe où dans le monde. Si les backends d'une région deviennent non opérationnels ou atteignent leur capacité maximale, l'équilibreur de charge HTTPS redirige automatiquement le trafic vers la région la plus proche.

Options de configuration supplémentaires

Cette section développe l'exemple de configuration et propose d'autres options de configuration. Toutes les tâches décrites ici sont facultatives. Vous pouvez les exécuter dans n'importe quel ordre.

Activer l'affinité de session

Ces procédures montrent comment configurer un type différent d'affinité de session pour chaque service de backend :

  • Affinité de session basée sur les adresses IP client pour web-backend-service
  • Affinité de session basée sur des cookies HTTP pour video-backend-service

Lorsque vous activez l'affinité basée sur les adresses IP client, l'équilibreur de charge dirige les requêtes d'un client particulier vers la même VM de backend en fonction d'un hachage créé à partir de l'adresse IP du client.

Lorsque l'affinité basée sur les cookies générés est activée, l'équilibreur de charge émet un cookie lors de la première requête. Pour chaque requête suivante présentant le même cookie, l'équilibreur de charge dirige celle-ci vers les mêmes VM ou points de terminaison backend. Pour les équilibreurs de charge d'application externes, ce cookie est nommé GCLB.

Console

Pour activer l'affinité de session basée sur les adresses IP client pour web-backend-service, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Équilibrage de charge.

    Accéder à la page "Équilibrage de charge"

  2. Cliquez sur Backends.

  3. Cliquez sur web-backend-service (nom de l'un des services de backend que vous avez créés pour cet exemple), puis sur Modifier.

  4. Sur la page Détails du service backend, cliquez sur Configuration avancée.

  5. Sous Affinité de session, sélectionnez IP client dans le menu.

  6. Cliquez sur Enregistrer.

Pour activer l'affinité de session basée sur des cookies générés pour video-backend-service, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Équilibrage de charge.

    Accéder à la page "Équilibrage de charge"

  2. Cliquez sur Backends.

  3. Cliquez sur video-backend-service (nom de l'un des services de backend que vous avez créés pour cet exemple), puis sur Modifier.

  4. Sur la page Détails du service backend, cliquez sur Configuration avancée.

  5. Sous Affinité de session, sélectionnez Cookie généré dans le menu.

  6. Cliquez sur Mettre à jour.

gcloud

Exécutez la commande gcloud suivante pour mettre à jour le service de backend web-backend-service, en spécifiant l'affinité de session basée sur les adresses IP client :

gcloud compute backend-services update web-backend-service \
    --session-affinity=CLIENT_IP \
    --global

Utilisez la commande gcloud suivante pour mettre à jour le service de backend video-backend-service, en spécifiant l'affinité de session basée sur des cookies générés :

gcloud compute backend-services update video-backend-service \
    --session-affinity=GENERATED_COOKIE \
    --global

API

Pour définir l'affinité de session basée sur les adresses IP client, envoyez une requête PATCH à la méthode backendServices/patch.

PATCH https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/backendServices/web-backend-service
{
  "sessionAffinity": "CLIENT_IP"
}

Pour définir l'affinité de session basée sur des cookies générés, envoyez une requête PATCH à la méthode backendServices/patch.

PATCH https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/backendServices/video-backend-service
{
  "sessionAffinity": "GENERATED_COOKIE"
}

Supprimer les adresses IP externes des VM de backend

Les équilibreurs de charge d'application externes communiquent avec les backends à l'aide de leurs adresses IP internes et de routes d'équilibreurs de charge particulières. Les instances backend n'ont pas besoin d'adresses IP externes pour communiquer avec l'équilibreur de charge. Vous pouvez renforcer la sécurité en supprimant les adresses IP externes de vos instances backend.

Pour supprimer les adresses IP externes des instances backend, suivez ces instructions.

Si vous devez vous connecter en SSH à une instance backend dépourvue d'adresse IP externe, reportez-vous à la section Se connecter à une instance qui ne possède pas d'adresse IP externe.

Effectuer un nettoyage

Une fois que vous avez terminé le tutoriel, vous pouvez supprimer les ressources que vous avez créées afin qu'elles ne vous soient plus facturées par la suite. Si ces ressources ont été créées au sein d'un projet isolé dédié, vous pouvez supprimer l'ensemble du projet. Sinon, vous pouvez supprimer les ressources individuellement.

Supprimer le projet

Console

  1. Dans Google Cloud Console, accédez à la page Projets.

    Accéder à la page "Projets"

  2. Dans la liste des projets, sélectionnez celui que vous souhaitez supprimer, puis cliquez sur Supprimer.

  3. Dans la boîte de dialogue, saisissez PROJECT_ID, puis cliquez sur Arrêter pour supprimer le projet.

gcloud

Exécutez la commande suivante en remplaçant PROJECT_ID par l'ID de votre projet :

gcloud projects delete PROJECT_ID

Supprimer des ressources individuelles

Console

Supprimer l'équilibreur de charge

  1. Dans Google Cloud Console, accédez à la page Équilibrage de charge.

    Accéder à la page "Équilibrage de charge"

  2. Cochez la case située à côté de web-map.

  3. Cliquez sur le bouton Supprimer en haut de la page.

  4. Cochez les cases situées à côté de toutes les ressources supplémentaires, y compris les services de backend, les vérifications d'état et les certificats SSL.

  5. Cliquez sur Supprimer l'équilibreur de charge et les ressources sélectionnées.

Supprimer les groupes d'instances

  1. Dans la console Google Cloud, accédez à la page Groupes d'instances.

    Accéder à la page "Groupes d'instances"

  2. Pour sélectionner tous les groupes d'instances, cochez la case située en haut à côté de l'intitulé Nom.

  3. Cliquez sur Supprimer.

  4. Dans la fenêtre de confirmation, cliquez sur Supprimer.

Libérer les adresses IP externes

  1. Dans Google Cloud Console, accédez à la page Adresses IP externes.

    Accéder à la page "Adresses IP externes"

  2. Cochez les cases situées à côté de lb-ipv4-1 et lb-ipv6-1.

  3. Cliquez sur Libérer les adresses statiques.

  4. Dans la fenêtre de confirmation, cliquez sur Supprimer.

Supprimer les règles de pare-feu

  1. Dans la console Google Cloud, accédez à la page Règles d'administration.

    Accéder à la page "Stratégies de pare-feu"

  2. Cochez les cases situées à côté de fw-allow-health-check-and-proxy et fw-allow-ssh.

  3. Cliquez sur Supprimer.

  4. Dans la fenêtre de confirmation, cliquez sur Supprimer.

Supprimer les instances de VM

  1. Dans Google Cloud Console, accédez à la page Instances de VM.

    Accéder à la page "Instances de VM"

  2. Pour sélectionner toutes les instances, cochez la case située en haut à côté de l'intitulé Nom.

  3. Cliquez sur Supprimer.

  4. Dans la fenêtre de confirmation, cliquez sur Supprimer.

Supprimer le réseau VPC

  1. Dans Google Cloud Console, accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Cliquez sur lb-network.

  3. Sur la page des détails du réseau, cliquez sur Supprimer le réseau VPC.

  4. Dans la fenêtre de confirmation, cliquez sur Supprimer.

gcloud

Supprimer l'équilibreur de charge

Pour supprimer l'équilibreur de charge, vous devez supprimer chacun de ses composants.

  1. Supprimer les règles de transfert :

    gcloud compute forwarding-rules delete https-content-rule \
        --global
    
    gcloud compute forwarding-rules delete https-content-ipv6-rule \
        --global
    
  2. Supprimer les adresses IP externes globales :

    gcloud compute addresses delete lb-ipv4-1 \
        --global
    
    gcloud compute addresses delete lb-ipv6-1 \
        --global
    
  3. Supprimer le proxy cible :

    gcloud compute target-https-proxies delete https-lb-proxy
    
  4. Supprimer le certificat SSL :

    gcloud compute ssl-certificates delete www-ssl-cert
    
  5. Supprimer le mappage d'URL :

    gcloud compute url-maps delete web-map
    
  6. Supprimer les services de backend :

    gcloud compute backend-services delete web-backend-service \
        --global
    
    gcloud compute backend-services delete video-backend-service \
        --global
    
  7. Supprimer les vérifications d'état :

    gcloud compute health-checks delete http-basic-check
    

Vous avez supprimé toutes les ressources de l'équilibreur de charge.

Supprimer les groupes d'instances

Répétez la commande ci-dessous pour supprimer les quatre groupes d'instances non gérés, en utilisant les combinaisons de nom et de zone suivantes. Remplacez INSTANCE_GROUP_NAME et ZONE par les valeurs correspondantes :

  • Nom : ig-www-us, zone : us-central1-b
  • Nom : ig-video-us, zone : us-central1-b
  • Nom : ig-www-eu, zone : europe-west1-b
  • Nom : ig-video-eu, zone : europe-west1-b
gcloud compute instance-groups unmanaged delete INSTANCE_GROUP_NAME \
   --zone=ZONE

Supprimer les instances de VM

Répétez la commande ci-dessous pour supprimer huit VM en utilisant les combinaisons de nom et de zone suivantes. Remplacez VM_NAME et ZONE par les valeurs correspondantes :

  • Nom : ig-www-us-01, zone : us-central1-b
  • Nom : ig-www-us-02, zone : us-central1-b
  • Nom : ig-video-us-01, zone : us-central1-b
  • Nom : ig-video-us-02, zone : us-central1-b
  • Nom : ig-www-eu-01, zone : europe-west1-b
  • Nom : ig-www-eu-02, zone : europe-west1-b
  • Nom : ig-video-eu-01, zone : europe-west1-b
  • Nom : ig-video-eu-02, zone : europe-west1-b
gcloud compute instances delete VM_NAME \
   --zone=ZONE

Supprimer les règles de pare-feu

Supprimez les deux règles de pare-feu :

gcloud compute firewall-rules delete fw-allow-health-check-and-proxy
gcloud compute firewall-rules delete fw-allow-ssh

Supprimer le réseau VPC

  1. Supprimez le sous-réseau us-subnet :

    gcloud compute networks subnets delete us-subnet \
    --region=us-central1
    
  2. Supprimez le sous-réseau eu-subnet :

    gcloud compute networks subnets delete eu-subnet \
    --region=europe-west1
    
  3. Supprimez le réseau VPC :

    gcloud compute networks delete lb-network
    

Vous avez supprimé toutes les ressources que vous avez définies dans ce projet.

Étape suivante