Ce guide s'appuie sur un exemple pour vous apprendre à configurer le basculement pour un équilibreur de charge réseau passthrough externe avec un service de backend. Avant de suivre ce guide, familiarisez-vous avec les points suivants :
- Présentation de l'équilibreur de charge réseau passthrough externe avec un service de backend
- Concepts de basculement pour les équilibreurs de charge réseau passthrough externes
- Présentation des règles de pare-feu
- Concepts de la vérification de l'état
Permissions
Pour suivre ce guide, vous devez créer des instances et modifier un réseau dans un projet. Vous devez être propriétaire ou éditeur du projet, ou disposer de tous les rôles IAM Compute Engine suivants :
Tâche | Rôle requis |
---|---|
Créer des composants pour l'équilibreur de charge | Administrateur réseau |
Ajouter et supprimer des règles de pare-feu | Administrateur de sécurité |
Créer des instances | Administrateur d'instances Compute |
Pour en savoir plus, consultez les guides suivants :
- Access control (Contrôle des accès)
- Conditions IAM
Préparation
Ce guide vous explique comment configurer et tester un équilibreur de charge réseau passthrough externe qui utilise le basculement. La procédure décrite dans cette section explique comment configurer les éléments suivants :
- Des VM de backend :
- Un backend principal dans un groupe d'instances non géré dans la zone
us-west1-a
- Un backend de basculement dans un groupe d'instances non géré dans la zone
us-west1-c
- Un backend principal dans un groupe d'instances non géré dans la zone
- Des règles de pare-feu autorisant les connexions entrantes aux VM de backend
- Une VM cliente pour tester les connexions et observer le comportement du basculement
- Les composants de l'équilibreur de charge réseau passthrough externe sont les suivants :
- Vérification d'état du service de backend
- Un service de backend dans la région
us-west1
pour gérer la distribution des connexions entre les VM de backend - Une règle de transfert et adresse IP pour l'interface de l'équilibreur de charge
L'architecture de cet exemple se présente comme suit :
Créer des VM de backend et des groupes d'instances
À cette étape, vous allez créer les VM de backend et les groupes d'instances non gérés :
- Le groupe d'instances
ig-a
dansus-west1-a
est un backend principal avec deux VM :vm-a1
vm-a2
- Le groupe d'instances
ig-c
dansus-west1-c
est un backend de basculement avec deux VM :vm-c1
vm-c2
Le backend principal et le backend de basculement sont placés dans des zones distinctes pour plus de clarté et pour gérer le basculement si une zone tombe panne.
Les VM principales et les VM de secours sont configurées pour exécuter un serveur Web Apache sur le port TCP 80. Par défaut, Apache est configuré pour se lier à n’importe quelle adresse IP. Les équilibreurs de charge réseau distribuent des paquets en conservant l'adresse IP de destination.
Vérifiez que le logiciel serveur exécuté sur les VM principales et les VM de secours écoute sur l'adresse IP de la règle de transfert de l'équilibreur de charge. L'adresse IP de destination d'un paquet distribué à une VM de backend par un équilibreur de charge réseau passthrough externe est l'adresse IP de la règle de transfert.
Pour plus de simplicité, toutes les VM principales et les VM de secours exécutent Debian GNU/Linux 9.
Console
Créer des VM de backend
- Dans Google Cloud Console, accédez à la page Instances de VM. Accéder à la page "Instances de VM"
- Répétez les étapes ci-dessous pour créer quatre VM, en utilisant les combinaisons de noms et de zones suivantes :
- Nom :
vm-a1
, zone :us-west1-a
- Nom :
vm-a2
, zone :us-west1-a
- Nom :
vm-c1
, zone :us-west1-c
- Nom :
vm-c2
, zone :us-west1-c
- Nom :
- Cliquez sur Créer une instance.
- Définissez le Nom comme indiqué à l'étape 2.
- Dans le champ Région, choisissez
us-west1
, puis sélectionnez une zone comme indiqué à l'étape 2. - Dans la section Disque de démarrage, assurez-vous que l'image sélectionnée est Debian GNU/Linux 10 (buster). Si nécessaire, cliquez sur Sélectionner pour modifier l'image.
- Cliquez sur Options avancées.
- Cliquez sur Mise en réseau et configurez le champ suivant :
- Pour Tags réseau, saisissez
network-lb
.
- Pour Tags réseau, saisissez
Cliquez sur Gestion. Saisissez le script suivant dans le champ Script de démarrage. Le contenu du script est identique pour les quatre VM :
#! /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)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2
Cliquez sur Create (Créer).
Créer des groupes d'instances
Dans la console Google Cloud, accédez à la page Groupes d'instances.
Répétez les étapes ci-dessous pour créer deux groupes d'instances non gérés, comportant chacun deux VM, à l'aide des combinaisons suivantes :
- Groupe d'instances :
ig-a
, zone :us-west1-a
, VM :vm-a1
etvm-a2
- Groupe d'instances :
ig-c
, zone :us-west1-c
, VM :vm-c1
etvm-c2
- Groupe d'instances :
Cliquez sur Créer un groupe d'instances.
Cliquez sur Nouveau groupe d'instances non géré.
Définissez le Nom comme indiqué à l'étape 2.
Dans la section Emplacement, sélectionnez
us-west1
pour la région, puis choisissez une zone comme indiqué à l'étape 2.Pour Réseau, saisissez la valeur suivante :
default
.Dans la section Instances de VM, ajoutez les VM comme indiqué à l'étape 2.
Cliquez sur Create (Créer).
gcloud
Créez quatre VM en exécutant la commande suivante quatre fois, en utilisant ces quatre combinaisons pour
VM-NAME
etZONE
. Le contenu du script est identique pour les quatre VM.VM-NAME
:vm-a1
etZONE
:us-west1-a
VM-NAME
:vm-a2
etZONE
:us-west1-a
VM-NAME
:vm-c1
etZONE
:us-west1-c
VM-NAME
:vm-c2
etZONE
:us-west1-c
gcloud compute instances create VM-NAME \ --zone=ZONE \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=network-lb \ --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)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Créez les deux groupes d'instances non gérés dans chaque zone :
gcloud compute instance-groups unmanaged create ig-a \ --zone us-west1-a gcloud compute instance-groups unmanaged create ig-c \ --zone us-west1-c
Ajoutez les VM aux groupes d'instances appropriés :
gcloud compute instance-groups unmanaged add-instances ig-a \ --zone us-west1-a \ --instances vm-a1,vm-a2 gcloud compute instance-groups unmanaged add-instances ig-c \ --zone us-west1-c \ --instances vm-c1,vm-c2
Configurer les règles de pare-feu
Créez une règle de pare-feu permettant au trafic externe d'atteindre les instances backend.
Console
Dans la console Google Cloud, accédez à la page Règles d'administration.
Cliquez sur Créer une règle de pare-feu pour créer la règle autorisant le trafic provenant de n'importe quelle source. Utilisez les valeurs suivantes :
- Nom :
allow-network-lb
. - Réseau :
default
- Priorité :
1000
- Sens du trafic : entrée
- Action en cas de correspondance : autoriser
- Cibles : tags cibles spécifiés
- Tags cibles :
network-lb
- Filtre source : Plages IPv4
- Plages IPv4 sources :
0.0.0.0/0
, qui autorise le trafic provenant de n'importe quelle source. Cela permet à la fois au trafic externe et aux test de vérification d'état d'atteindre les instances backend. - Protocoles et ports : sélectionnez Protocoles et ports spécifiés.
Cochez la case tcp et saisissez comme port
80
.
- Nom :
Cliquez sur Créer.
Cliquez à nouveau sur Créer une règle de pare-feu pour créer la règle autorisant les connexions SSH entrantes aux instances. Utilisez les valeurs suivantes :
- Nom :
allow-ssh
- Réseau :
default
- Priorité :
1000
- Sens du trafic : entrée
- Action en cas de correspondance : autoriser
- Cibles : tags cibles spécifiés
- Tags cibles :
network-lb
- Filtre source : Plages IPv4
- Plages IPv4 sources :
0.0.0.0/0
- Protocoles et ports : sélectionnez Protocoles et ports spécifiés.
Cochez la case tcp et saisissez comme port
22
.
- Nom :
Cliquez sur Créer.
gcloud
gcloud compute firewall-rules create allow-network-lb \ --target-tags network-lb \ --allow tcp:80
gcloud compute firewall-rules create allow-ssh \ --target-tags network-lb \ --allow tcp:22
Configurer les composants de l'équilibreur de charge
Ces étapes configurent les composants directs de l'équilibreur de charge réseau passthrough externe suivants:
Vérification de l'état : cet exemple utilise la vérification d'état HTTP qui recherche simplement une réponse HTTP
200
(OK).Service de backend : étant donné que l'exemple transmet le trafic HTTP via l'équilibreur de charge, la configuration spécifie TCP, et non UDP. Pour illustrer le basculement, ce service de backend a un taux de basculement de
0.75
.Règle de transfert : cet exemple crée une seule règle de transfert.
Console
Démarrer la configuration
Dans Google Cloud Console, accédez à la page Équilibrage de charge.
- Cliquez sur Créer un équilibreur de charge.
- Sous Type d'équilibreur de charge, sélectionnez Équilibreur de charge réseau (TCP/UDP/SSL), puis cliquez sur Suivant.
- Pour Proxy ou passthrough, sélectionnez Équilibreur de charge passthrough, puis cliquez sur Suivant.
- Pour Public ou interne, sélectionnez Public (externe), puis cliquez sur Suivant.
- Cliquez sur Configurer.
Configuration du backend
- Sur la page Créer un équilibreur de charge réseau passthrough externe, saisissez un Nom de
tcp-network-lb
pour le nouvel équilibreur de charge. - Cliquez sur Configuration du backend. Le nom que vous avez saisi précédemment pour l'équilibreur de charge s'affiche, mais il est impossible de le modifier.
- Cliquez sur Configuration du backend et apportez les modifications suivantes :
- Pour la région, sélectionnez us-west1.
- Sous Backends, sélectionnez
ig-a
dans le menu déroulant Groupe d'instances. Cliquez sur OK. - Cliquez sur Ajouter un backend et répétez cette étape pour ajouter
ig-c
. Cochez la case Utiliser ce groupe d'instances comme groupe de basculement pour la sauvegarde. - Sous Vérification d'état, sélectionnez Créer une autre vérification d'état ou Créer une autre vérification d'état, saisissez les informations suivantes :
- Nom :
hc-http-80
- Protocole :
TCP
- Port :
80
- Nom :
- Cliquez sur Enregistrer et continuer.
- Cliquez sur Configurations avancées.
- Pour Taux de basculement, saisissez
0.75
. - Vérifiez qu'une coche bleue apparaît à côté de Configuration du backend avant de continuer.
Configuration du frontend
- Cliquez sur Frontend configuration (Configuration du frontend).
- Saisissez le nom
network-lb-forwarding-rule
. - Sous Adresse IP, cliquez sur le menu déroulant et sélectionnez Créer une adresse IP.
- Sur l'écran Réserver une nouvelle adresse IP statique, saisissez
network-lb-ip
dans le champ Nom. - Cliquez sur Réserver.
- Sur l'écran Réserver une nouvelle adresse IP statique, saisissez
- Sélectionnez Unique et saisissez
80
pour le numéro de port. Cliquez sur le bouton OK.
Si un cercle bleu avec une coche s'affiche à gauche de Configuration du frontend, cela indique que la configuration a réussi.
Vérifier la configuration
- Cliquez sur le bouton Vérification et finalisation pour vérifier tous les paramètres de configuration définis pour l'équilibreur de charge.
Si les paramètres sont corrects, cliquez sur Créer. La création de l'équilibreur de charge prend quelques minutes.
Sur l'écran Équilibrage de charge, sous la colonne Backend qui concerne votre nouvel équilibreur de charge, vous devriez voir une coche verte indiquant que ce dernier est sain.
gcloud
Créez une adresse IP externe statique pour votre équilibreur de charge.
gcloud compute addresses create network-lb-ip \ --region us-west1
Créez une vérification d'état HTTP pour tester la connectivité TCP aux VM sur le port 80.
gcloud compute health-checks create http hc-http-80 \ --region us-west1 \ --port 80
Créez le service de backend pour le trafic HTTP :
gcloud compute backend-services create network-lb-backend-service \ --protocol tcp \ --region us-west1 \ --health-checks hc-http-80 \ --health-checks-region us-west1 \ --failover-ratio 0.75
Ajoutez le backend principal au service de backend :
gcloud compute backend-services add-backend network-lb-backend-service \ --region us-west1 \ --instance-group ig-a \ --instance-group-zone us-west1-a
Ajoutez le backend de basculement au service de backend :
gcloud compute backend-services add-backend network-lb-backend-service \ --region us-west1 \ --instance-group ig-c \ --instance-group-zone us-west1-c \ --failover
Créez une règle de transfert pour le service de backend. Utilisez l'adresse IP réservée à l'étape 1 comme adresse IP externe statique de l'équilibreur de charge.
gcloud compute forwarding-rules create network-lb-forwarding-rule \ --region us-west1 \ --load-balancing-scheme external \ --address network-lb-ip\ --ports 80 \ --backend-service network-lb-backend-service
Tests
Ces tests vous montrent comment valider la configuration de votre équilibreur de charge et en savoir plus sur son comportement attendu.
Envoyer du trafic vers l'équilibreur de charge
Cette procédure envoie le trafic externe à l'équilibreur de charge. Cette procédure permet de réaliser les autres tests.
Connectez-vous à l'instance de VM cliente.
gcloud compute forwarding-rules describe network-lb-forwarding-rule \ --region us-west1
Envoyez une requête Web à l'équilibreur de charge à l'aide de
curl
pour contacter son adresse IP.curl http://IP_ADDRESS
Notez le texte renvoyé par la commande
curl
. Le nom de la VM de backend qui génère la réponse est affiché dans ce texte, par exemple :Page served from: vm-a1
.
Test de l'état initial
Une fois que vous avez configuré l'exemple d'équilibreur de charge, les quatre VM de backend doivent être opérationnelles :
- Les deux VM principales,
vm-a1
etvm-a2
- Les deux VM de secours,
vm-c1
etvm-c2
Suivez la procédure de test pour envoyer du trafic vers l'équilibreur de charge.
Répétez la deuxième étape plusieurs fois. Le comportement attendu est que le trafic soit desservi par les deux VM principales, vm-a1
et vm-a2
, car elles sont toutes deux opérationnelles. Vous devriez voir chaque VM principale fournir une réponse environ la moitié du temps, car aucune affinité de session n'a été configurée pour cet équilibreur de charge.
Test du basculement
Ce test simule l'échec de vm-a1
afin que vous puissiez observer le comportement de basculement.
Connectez-vous à la VM
vm-a1
.gcloud compute ssh vm-a1 --zone us-west1-a
Arrêtez le serveur Web Apache. Au bout de dix secondes, Google Cloud considère cette VM comme étant non opérationnelle. (La vérification d'état
hc-http-80
que vous avez créée dans la configuration utilise l'intervalle entre deux tests par défaut de cinq secondes et le seuil non opérationnel de deux vérifications consécutives en échec.)sudo apachectl stop
Suivez la procédure de test pour envoyer du trafic vers l'équilibreur de charge. Répétez la deuxième étape plusieurs fois. Le comportement attendu est que le trafic soit à présent desservi par les deux VM de secours,
vm-c1
etvm-c2
. Étant donné qu'une seule VM principale,vm-a2
, est opérationnelle, le ratio entre les VM principales opérationnelles et le total des VM principales est de0.5
. Ce nombre est inférieur au seuil de basculement défini sur0.75
. Google Cloud a donc reconfiguré le pool actif de l'équilibreur de charge pour utiliser les VM de secours. Vous devriez voir chaque VM de secours fournir une réponse environ la moitié du temps tant qu'aucune affinité de session n'a été configurée pour cet équilibreur de charge.
Test de la restauration
Ce test simule la restauration en redémarrant le serveur Apache sur vm-a1
.
Connectez-vous à la VM
vm-a1
.gcloud compute ssh vm-a1 --zone us-west1-a
Démarrez le serveur Web Apache et attendez 10 secondes.
sudo apachectl start
Suivez la procédure de test client. Répétez la deuxième étape plusieurs fois. Le comportement attendu est que le trafic soit desservi par les deux VM principales,
vm-a1
etvm-a2
. Les VM principales étant opérationnelles, le rapport entre les VM principales et opérationnelles est de1.0
, supérieur au seuil de basculement de0.75
. Google Cloud a donc configuré le pool actif pour réutiliser les VM principales.
Ajouter d'autres VM de backend
Cette section élargit l'exemple de configuration en ajoutant des VM principales et des VM de secours à l'équilibreur de charge. Pour cela, deux autres groupes d'instances backend sont créés afin de démontrer que vous pouvez répartir les VM principales et les VM de secours entre plusieurs zones de la même région :
- Un troisième groupe d'instances,
ig-d
dansus-west1-c
, sert de backend principal avec deux VM :vm-d1
vm-d2
- Un quatrième groupe d'instances,
ig-b
dansus-west1-a
, sert de backend de basculement avec deux VM :vm-b1
vm-b2
L'architecture modifiée de cet exemple se présente comme suit :
Créer des VM et des groupes d'instances supplémentaires
Pour créer des VM principales et des VM de secours supplémentaires ainsi que des groupes d'instances non gérés correspondants, procédez comme suit.
Console
Créer des VM de backend
Dans Google Cloud Console, accédez à la page Instances de VM.
Répétez les étapes ci-dessous pour créer quatre VM, en utilisant les combinaisons de noms et de zones suivantes :
- Nom :
vm-b1
, zone :us-west1-a
- Nom :
vm-b2
, zone :us-west1-a
- Nom :
vm-d1
, zone :us-west1-c
- Nom :
vm-d2
, zone :us-west1-c
- Nom :
Cliquez sur Créer une instance.
Définissez le Nom comme indiqué à l'étape 2.
Dans le champ Région, choisissez
us-west1
, puis sélectionnez une zone comme indiqué à l'étape 2.Dans la section Disque de démarrage, assurez-vous que l'image sélectionnée est Debian GNU/Linux 9 Stretch. Si nécessaire, cliquez sur Sélectionner pour modifier l'image.
Cliquez sur Options avancées.
Cliquez sur Mise en réseau et configurez les champs suivants :
- Pour Tags réseau, saisissez
network-lb
.
- Pour Tags réseau, saisissez
Cliquez sur Gestion. Saisissez le script suivant dans le champ Script de démarrage. Le contenu du script est identique pour les quatre VM :
#! /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)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2
Cliquez sur Create (Créer).
Créer des groupes d'instances
Dans la console Google Cloud, accédez à la page Groupes d'instances.
Répétez les étapes ci-dessous pour créer deux groupes d'instances non gérés, comportant chacun deux VM, à l'aide des combinaisons suivantes.
- Groupe d'instances :
ig-b
, zone :us-west1-a
, VM :vm-b1
etvm-b2
- Groupe d'instances :
ig-d
, zone :us-west1-c
, VM :vm-d1
etvm-d2
- Groupe d'instances :
Cliquez sur Créer un groupe d'instances.
Cliquez sur Nouveau groupe d'instances non géré.
Définissez le Nom comme indiqué à l'étape 2.
Dans la section Emplacement, sélectionnez
us-west1
pour la région, puis choisissez une zone comme indiqué à l'étape 2.Pour Réseau, saisissez la valeur suivante :
default
.Dans la section Instances de VM, ajoutez les VM comme indiqué à l'étape 2.
Cliquez sur Create (Créer).
gcloud
Créez quatre VM en exécutant la commande suivante quatre fois, en utilisant ces quatre combinaisons pour
VM-NAME
etZONE
. Le contenu du script est identique pour les quatre VM.VM-NAME
:vm-b1
etZONE
:us-west1-a
VM-NAME
:vm-b2
etZONE
:us-west1-a
VM-NAME
:vm-d1
etZONE
:us-west1-c
VM-NAME
:vm-d2
etZONE
:us-west1-c
gcloud compute instances create VM-NAME \ --zone=ZONE \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=network-lb \ --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)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html systemctl restart apache2'
Créez les deux groupes d'instances non gérés dans chaque zone :
gcloud compute instance-groups unmanaged create ig-b \ --zone us-west1-a gcloud compute instance-groups unmanaged create ig-d \ --zone us-west1-c
Ajoutez les VM aux groupes d'instances appropriés :
gcloud compute instance-groups unmanaged add-instances ig-b \ --zone us-west1-a \ --instances vm-b1,vm-b2 gcloud compute instance-groups unmanaged add-instances ig-d \ --zone us-west1-c \ --instances vm-d1,vm-d2
Ajouter un backend principal
Vous pouvez utiliser cette procédure comme modèle pour ajouter un groupe d'instances non géré au service de backend d'un équilibreur de charge réseau passthrough externe en tant que backend principal. Pour l'exemple de configuration, cette procédure explique comment ajouter le groupe d'instances ig-d
en tant que backend principal à l'équilibreur de charge network-lb
.
Console
Modifiez la configuration de l'équilibreur de charge pour ajouter un backend principal.
Dans la console Google Cloud, accédez à la page Équilibrage de charge.
Cliquez sur l'équilibreur de charge que vous souhaitez modifier.
Cliquez sur Modifier.
Cliquez sur Configuration du backend et apportez les modifications suivantes :
- Sous Backends, cliquez sur Ajouter un backend.
- Dans la liste déroulante, sélectionnez le groupe d'instances à ajouter en tant que backend principal. Dans ce cas,
ig-d
. - Cliquez sur OK.
- Vérifiez qu'une coche bleue apparaît à côté de Configuration du backend avant de continuer.
Vérifier la configuration
- Cliquez sur le bouton Vérification et finalisation et vérifiez que le nouveau backend principal s'affiche sous Backend.
Si les paramètres sont corrects, cliquez sur Créer. La création de l'équilibreur de charge prend quelques minutes.
Sur l'écran Équilibrage de charge, sous la colonne Backend qui concerne votre nouvel équilibreur de charge, vous devriez voir une coche verte indiquant que ce dernier est sain.
gcloud
Utilisez la commande gcloud
suivante pour ajouter un backend principal au service de backend d'un équilibreur de charge réseau passthrough externe existant.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION
où :
BACKEND_SERVICE_NAME
est le nom du service de backend de l'équilibreur de charge. Pour l'exemple, utiliseznetwork-lb-backend-service
.INSTANCE_GROUP_NAME
est le nom du groupe d'instances à ajouter en tant que backend principal. Pour l'exemple, utilisezig-d
.INSTANCE_GROUP_ZONE
est la zone dans laquelle le groupe d'instances est défini. Pour l'exemple, utilisezus-west1-c
.REGION
est la région de l'équilibreur de charge. Pour l'exemple, utilisezus-west1
.
Ajouter un backend de basculement
Vous pouvez utiliser cette procédure comme modèle pour ajouter un groupe d'instances non géré au service de backend d'un équilibreur de charge réseau passthrough externe existant en tant que backend de basculement. Pour l'exemple de configuration, cette procédure explique comment ajouter le groupe d'instances ig-b
en tant que backend de basculement à l'équilibreur de charge network-lb
.
Console
Modifiez la configuration de l'équilibreur de charge pour ajouter un backend principal.
Dans la console Google Cloud, accédez à la page Équilibrage de charge.
Cliquez sur l'équilibreur de charge que vous souhaitez modifier.
Cliquez sur Modifier.
Cliquez sur Configuration du backend et apportez les modifications suivantes :
- Sous Backends, cliquez sur Ajouter un backend.
- Dans la liste déroulante, sélectionnez le groupe d'instances à ajouter en tant que backend de basculement. Dans ce cas,
ig-b
. - Cochez la case Utiliser ce groupe d'instances comme groupe de basculement pour la sauvegarde.
- Cliquez sur OK.
- Vérifiez qu'une coche bleue apparaît à côté de Configuration du backend avant de continuer.
Vérifier la configuration
- Cliquez sur le bouton Vérification et finalisation et vérifiez que le nouveau backend principal s'affiche sous Backend.
Si les paramètres sont corrects, cliquez sur Créer. La création de l'équilibreur de charge prend quelques minutes.
Sur l'écran Équilibrage de charge, sous la colonne Backend qui concerne votre nouvel équilibreur de charge, vous devriez voir une coche verte indiquant que ce dernier est sain.
gcloud
Utilisez la commande gcloud
suivante pour ajouter un backend de basculement au service de backend d'un équilibreur de charge réseau passthrough externe existant.
gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --failover
où :
BACKEND_SERVICE_NAME
est le nom du service de backend de l'équilibreur de charge. Pour l'exemple, utiliseznetwork-lb-backend-service
.INSTANCE_GROUP_NAME
est le nom du groupe d'instances à ajouter en tant que backend principal. Pour l'exemple, utilisezig-b
.INSTANCE_GROUP_ZONE
est la zone dans laquelle le groupe d'instances est défini. Pour l'exemple, utilisezus-west1-a
.REGION
est la région de l'équilibreur de charge. Pour l'exemple, utilisezus-west1
.
Convertir un backend principal ou un backend de basculement
Vous pouvez convertir un backend principal en backend de basculement, ou inversement, sans avoir à supprimer le groupe d'instances du service de backend de l'équilibreur de charge réseau passthrough externe.
gcloud
Utilisez la commande gcloud
suivante pour convertir un backend principal existant en backend de basculement :
gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --failover
Utilisez la commande gcloud
suivante pour convertir un backend de basculement existant en backend principal :
gcloud compute backend-services update-backend BACKEND_SERVICE_NAME \ --instance-group INSTANCE_GROUP_NAME \ --instance-group-zone INSTANCE_GROUP_ZONE \ --region REGION \ --no-failover
où :
BACKEND_SERVICE_NAME
est le nom du service de backend de l'équilibreur de charge.INSTANCE_GROUP_NAME
est le nom du groupe d'instances.INSTANCE_GROUP_ZONE
est la zone dans laquelle le groupe d'instances est défini.REGION
est la région de l'équilibreur de charge.
Configurer les règles de basculement
Cette section décrit comment gérer une règle de basculement pour le service de backend d'un équilibreur de charge réseau passthrough externe. Une règle de basculement comprend les éléments suivants :
- Taux de basculement
- Suppression du trafic lorsqu'aucune VM de backend n'est opérationnelle
- Drainage de connexion en basculement
Pour plus d'informations sur les paramètres d'une règle de basculement, consultez les pages suivantes :
- Définir un taux de basculement
- Supprimer le trafic lorsqu'aucune VM n'est opérationnelle
- Drainer des connexions en basculement et en restauration
Définir une règle de basculement
Les instructions suivantes décrivent comment définir la règle de basculement pour un équilibreur de charge réseau passthrough externe existant.
gcloud
Pour définir une stratégie de basculement à l'aide de gCloud CLI, mettez à jour le service de backend de l'équilibreur de charge :
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --region REGION \ --failover-ratio FAILOVER_RATIO \ --connection-drain-on-failover \ --connection-draining-timeout=CONNECTION_DRAINING_TIMEOUT \ --drop-traffic-if-unhealthy
où :
BACKEND_SERVICE_NAME
est le nom du service de backend de l'équilibreur de charge. Pour l'exemple, utiliseznetwork-lb
.REGION
est la région de l'équilibreur de charge. Pour l'exemple, utilisezus-west1
.FAILOVER_RATIO
est le taux de basculement. Les valeurs possibles sont comprises entre0.0
et1.0
, inclus. Pour l'exemple, utilisez0.75
.CONNECTION_DRAINING_TIMEOUT
permet aux connexions TCP de persister, même sur les VM qui ne se trouvent plus dans le pool actif, pendant toute la durée du délai avant expiration du drainage de connexion.
Afficher une règle de basculement
Les instructions suivantes décrivent comment afficher la règle de basculement pour un équilibreur de charge réseau passthrough externe
gcloud
Pour répertorier les paramètres de la stratégie de basculement à l'aide de gCloud CLI, exécutez la commande ci-dessous. Les paramètres non définis dans une règle de basculement utilisent les valeurs de règles de basculement par défaut.
gcloud compute backend-services describe BACKEND_SERVICE_NAME \ --region REGION \ --format="get(failoverPolicy)"
où :
BACKEND_SERVICE_NAME
est le nom du service de backend de l'équilibreur de charge. Pour l'exemple, utiliseznetwork-lb-backend-service
.REGION
est la région de l'équilibreur de charge. Pour l'exemple, utilisezus-west1
.
Étapes suivantes
- Pour connaître les principes de base importants, consultez la page Présentation de l'équilibreur de charge réseau passthrough externe.
- Pour obtenir des informations importantes sur le basculement, consultez la page Concepts de basculement pour les équilibreurs de charge réseau passthrough externes.
- Pour obtenir un exemple de configuration, consultez la page Configurer un équilibreur de charge réseau passthrough externe.