Ce document explique comment déployer un équilibreur de charge réseau passthrough externe avec des backends de groupes de points de terminaison du réseau (NEG) zonaux. Les NEG zonaux avec des points de terminaison GCE_VM_IP
vous permettent d'effectuer les opérations suivantes :
- Transférez des paquets vers les interfaces réseau non-
nic0
des instances de machine virtuelle (VM) en représentant l'interface réseau d'une instance de VM en tant que point de terminaison du backend. - Créez un ensemble flexible de points de terminaison de backend où un point de terminaison peut être associé à plusieurs NEG, et chaque NEG peut avoir un ensemble de points de terminaison différent, mais qui peuvent se chevaucher.
Avant de suivre ce document, familiarisez-vous avec les points suivants :
- Présentation de l'équilibreur de charge réseau passthrough externe basé sur un service de backend
- Présentation des groupes de points de terminaison du réseau zonaux
Autorisations
Pour effectuer ces étapes, 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 réseaux, des sous-réseaux et des composants de 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 pages suivantes :
Vue d'ensemble de la configuration
Ce document explique comment configurer et tester un équilibreur de charge réseau passthrough externe qui utilise des backends de NEG zonaux GCE_VM_IP
. Les étapes de cette section décrivent comment configurer les éléments suivants :
- Un exemple de réseau VPC appelé
lb-network
avec un sous-réseau personnalisé. - Des règles de pare-feu autorisant les connexions entrantes aux VM de backend.
- Quatre VM :
- VM
vm-a1
etvm-a2
dans la zoneus-west1-a
- VM
vm-c1
etvm-c2
dans la zoneus-west1-c
- VM
- Deux NEG zonaux de backend,
neg-a
dans la zoneus-west1-a
etneg-c
dans la zoneus-west1-c
. Chaque NEG possède les points de terminaison suivants :neg-a
contient les deux points de terminaison suivants :nic1
de la VMvm-a1
identifiée par son adresse IP interne principalenic1
de la VMvm-a2
identifiée par son adresse IP interne principale
neg-c
contient les deux points de terminaison suivants :nic1
de la VMvm-c1
identifiée par son adresse IP interne principalenic1
de la VMvm-c2
identifiée par son adresse IP interne principale
- VM cliente (
vm-client
) dansus-west1-a
pour tester les connexions - Les composants de l'équilibreur de charge suivants :
- Un service de backend externe dans la région
us-west1
pour gérer la distribution des connexions vers les deux NEG zonaux - Règle de transfert externe et adresse IP pour l'interface de l'équilibreur de charge
- Un service de backend externe dans la région
L'équilibreur de charge réseau passthrough externe est un équilibreur de charge régional. Tous les composants de l'équilibreur de charge (VM de backend, service de backend et règle de transfert) doivent se trouver dans la même région.
L'architecture de cet exemple se présente comme suit :
Avant de commencer
Installez Google Cloud CLI. Pour une présentation complète de l'outil, consultez la présentation de gcloud CLI. Vous trouverez des commandes liées à l'équilibrage de charge dans la documentation de référence sur l'API et sur gcloud.
Si vous n'avez pas encore utilisé gcloud CLI, exécutez d'abord la commande gcloud init
pour vous authentifier.
Sur cette page, nous partons du principe que vous maîtrisez bash.
Configurer le réseau et les sous-réseaux
L'exemple de cette page utilise un réseau VPC en mode personnalisé nommé lb-network
. Vous pouvez utiliser un réseau VPC en mode automatique si vous souhaitez uniquement gérer le trafic IPv4.
Cependant, le trafic IPv6 requiert un sous-réseau en mode personnalisé.
Le trafic IPv6 nécessite également un sous-réseau à double pile (stack-type
défini sur IPv4_IPv6
). Lorsque vous créez un sous-réseau à double pile sur un réseau VPC en mode personnalisé, choisissez un type d'accès IPv6 pour le sous-réseau. Pour cet exemple, nous définissons le paramètre ipv6-access-type
du sous-réseau sur EXTERNAL
. Cela signifie que les nouvelles VM de ce sous-réseau peuvent se voir attribuer des adresses IPv4 externes et des adresses IPv6 externes.
Les backends et les composants de l'équilibreur de charge utilisés pour cet exemple sont situés dans cette région et ce sous-réseau :
- Région :
us-central1
- Sous-réseau:
lb-subnet
, avec plage d'adresses IPv4 principale10.1.2.0/24
. Bien que vous choisissiez la plage d'adresses IPv4 configurée sur le sous-réseau, la plage d'adresses IPv6 est attribuée automatiquement. Google fournit un bloc CIDR IPv6 de taille fixe (/64).
Pour créer les exemples de réseau et de sous-réseaux, procédez comme suit :
Console
Pour assurer la compatibilité avec le trafic IPv4 et IPv6, procédez comme suit:
Dans la console Google Cloud, accédez à la page Réseaux VPC.
Cliquez sur Créer un réseau VPC.
Saisissez le nom
lb-network
.Dans la section Sous-réseaux :
- Définissez Mode de création du sous-réseau sur Personnalisé.
- Dans la section Nouveau sous-réseau, configurez les champs suivants, puis cliquez sur OK :
- Nom :
lb-subnet
- Région :
us-central1
- Type de pile d'adresses IP: IPv4 et IPv6 (double pile)
- Plage IPv4:
10.1.2.0/24
Bien que vous puissiez configurer une plage d'adresses IPv4 pour le sous-réseau, vous ne pouvez pas choisir la plage d'adresses IPv6 pour Le sous-réseau. Google fournit un bloc CIDR IPv6 de taille fixe (/64). - Type d'accès IPv6: Externe
- Nom :
Cliquez sur Créer.
Pour assurer la compatibilité avec le trafic IPv4 uniquement, procédez comme suit :
Dans la console Google Cloud, accédez à la page Réseaux VPC.
Cliquez sur Créer un réseau VPC.
Saisissez le nom
lb-network
.Dans la section Sous-réseaux :
- Définissez Mode de création du sous-réseau sur Personnalisé.
- Dans la section Nouveau sous-réseau, configurez les champs suivants, puis cliquez sur OK :
- Nom :
lb-subnet
- Région :
us-central1
- Type de pile IP: IPv4 (pile unique)
- Plage IPv4 :
10.1.2.0/24
- Nom :
Cliquez sur Créer.
gcloud
Créez le réseau VPC en mode personnalisé:
gcloud compute networks create lb-network \ --subnet-mode=custom
Au sein du réseau
lb-network
, créez un sous-réseau pour les backends dans la régionus-central1
.Pour le trafic IPv4 et IPv6, utilisez la commande suivante pour créer un sous-réseau à double pile :
gcloud compute networks subnets create lb-subnet \ --stack-type=IPV4_IPv6 \ --ipv6-access-type=EXTERNAL \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1
Pour le trafic IPv4 uniquement, utilisez la commande suivante:
gcloud compute networks subnets create lb-subnet \ --network=lb-network \ --range=10.1.2.0/24 \ --region=us-central1
Créer des VM et des groupes de points de terminaison du réseau
Pour démontrer la nature régionale des équilibreurs de charge réseau passthrough externes, cet exemple utilise deux backends NEG zonaux dans deux zones différentes. Le trafic est équilibré à la fois par les NEG et par les points de terminaison de chaque NEG.
Créer des VM
Dans ce scénario d'équilibrage de charge, vous allez créer quatre VM et installer un serveur Web Apache sur chaque instance. Le serveur Web écoute 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 passthrough externes transmettent les paquets en conservant l'adresse IP de destination.
Pour plus de simplicité, ces VM de backend exécutent Debian GNU Linux 10.
Pour gérer le trafic IPv4 et IPv6, configurez les VM backend en une pile double. Définissez le paramètre stack-type
de la VM sur IPv4_IPv6
. Les VM héritent également du paramètre ipv6-access-type
(dans cet exemple, EXTERNAL
) du sous-réseau. Pour en savoir plus sur les exigences IPv6, consultez la page Présentation de l'équilibreur de charge réseau passthrough externe : règles de transfert.
Pour utiliser des VM existantes comme backends, mettez-les à jour en pile double à l'aide de la commande gcloud compute instances network-interfaces update
.
Les instances qui participent en tant que VM backend pour les équilibreurs de charge réseau passthrough externes doivent exécuter l'environnement invité Linux, l'environnement invité Windows ou d'autres processus appropriés présentant des fonctionnalités équivalentes.
Chaque VM est créée avec deux interfaces réseau, nic0
et nic1
. Ce tutoriel utilise nic1
, qui est associé au réseau VPC lb-network
et au sous-réseau lb-subnet
. Utilisez ce réseau lb-network
et le sous-réseau lb-subnet
pour créer les NEG zonaux ultérieurement dans cette procédure.
Console
Créer des VM
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-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é précédemment.
Dans le champ Région, choisissez
us-west1
, puis sélectionnez une zone comme indiqué précédemment.Dans la section Disque de démarrage, assurez-vous que les options sélectionnées sont Debian pour le système d'exploitation et 10 (Buster) pour la version. Si nécessaire, cliquez sur Sélectionner pour modifier l'image.
Cliquez sur Options avancées et apportez les modifications suivantes :
- Cliquez sur Mise en réseau et ajoutez les tags réseau suivants :
lb-tag
Dans le champ Interfaces réseau, cliquez sur Ajouter une interface réseau et effectuez les modifications suivantes :
Pour les backends IPv4 et IPv6 :
- Réseau :
lb-network
- Sous-réseau :
lb-subnet
- Type de pile IP :
IPv4 and IPv6 (dual-stack)
- Adresse IP interne principale : éphémère (automatique)
- Adresse IPv4 externe : éphémère (automatique)
- Adresse IPv6 externe : allocation automatique
Pour les backends IPv4 uniquement :
- Réseau :
lb-network
- Sous-réseau :
lb-subnet
- Type de pile IP :
IPv4 (single-stack)
- Adresse IP interne principale : éphémère (automatique)
- Adresse IP externe : Éphémère
Cliquez ensuite sur OK.
- Réseau :
Cliquez sur Gestion. Dans le champ Script de démarrage, copiez et collez le contenu de script suivant. 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 Mise en réseau et ajoutez les tags réseau suivants :
Cliquez sur Créer.
gcloud
Créez quatre VM en exécutant la commande suivante quatre fois, en utilisant ces quatre combinaisons pour [VM-NAME]
et [ZONE]
. Le contenu du script est identique pour les quatre VM.
- VM_NAME :
vm-a1
et ZONE :us-west1-a
- VM_NAME :
vm-a2
et ZONE :us-west1-a
- VM_NAME :
vm-c1
et ZONE :us-west1-c
- VM_NAME :
vm-c2
et ZONE :us-west1-c
Pour gérer le trafic IPv4 et IPv6, utilisez la commande suivante.
gcloud compute instances create VM_NAME \ --zone=ZONE \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=lb-tag \ --network-interface=network=default,subnet=default,stack_type=IPv4_IPv6,--ipv6-network-tier=PREMIUM \ --network-interface=network=lb-network,subnet=lb-subnet,stack_type=IPv4_IPv6,--ipv6-network-tier=PREMIUM \ --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'
Pour gérer le trafic IPv4 uniquement, utilisez la commande suivante :
gcloud compute instances create VM_NAME \ --zone=ZONE \ --image-family=debian-10 \ --image-project=debian-cloud \ --tags=lb-tag \ --network-interface=network=default,subnet=default,stack_type=IPv4_ONLY \ --network-interface=network=lb-network,subnet=lb-subnet,stack_type=IPv4_ONLY \ --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éer des NEG zonaux avec des points de terminaison GCE_VM_IP
Les NEG doivent être créés dans les mêmes zones que les VM créées à l'étape précédente. Cet exemple crée également le NEG dans le réseau VPC lb-network
et le sous-réseau lb-subnet
associés à la carte d'interface réseau nic1
des VM créées à l'étape précédente. Par conséquent, les points de terminaison du NEG se situent sur la carte d'interface réseau nic1
des VM.
Console
Pour créer un groupe de points de terminaison de réseau zonal :
- Accédez à la page "Groupes de points de terminaison du réseau" dans la console Google Cloud.
Accéder à la page Groupes de points de terminaison du réseau - Cliquez sur Créer un groupe de points de terminaison du réseau.
- Saisissez un nom pour le NEG zonal :
neg-a
. - Sélectionnez le type de groupe de points de terminaison du réseau : Groupe de points de terminaison du réseau (zonal).
- Sélectionnez le réseau : lb-network.
- Sélectionnez le sous-réseau : lb-subnet.
- Sélectionnez la zone : us-west1-a.
- Cliquez sur Créer.
- Répétez ces étapes pour créer un deuxième NEG zonal nommé
neg-c
dans la zone us-west1-c.
Ajoutez des points de terminaison au NEG zonal :
- Accédez à la page "Groupes de points de terminaison du réseau" dans Google Cloud Console.
Accéder à la page Groupes de points de terminaison du réseau - Cliquez sur le nom du premier groupe de points de terminaison du réseau créé à l'étape précédente (neg-a). La page Détails du groupe de points de terminaison du réseau s'affiche.
Dans la section Points de terminaison du réseau de ce groupe, cliquez sur Ajouter un point de terminaison du réseau. La page Ajouter un point de terminaison du réseau s'affiche.
- Cliquez sur Instance de VM, puis sélectionnez vm-a1 pour ajouter ses adresses IP internes en tant que points de terminaison du réseau.
- Cliquez sur Créer.
- Cliquez à nouveau sur Ajouter un point de terminaison du réseau, puis sélectionnez vm-a2 sous Instance de VM.
- Cliquez sur Créer.
Cliquez sur le nom du deuxième groupe de points de terminaison du réseau créé à l'étape précédente (neg-c). La page Détails du groupe de points de terminaison du réseau s'affiche.
Dans la section Points de terminaison du réseau de ce groupe, cliquez sur Ajouter un point de terminaison du réseau. La page Ajouter un point de terminaison du réseau s'affiche.
- Cliquez sur Instance de VM, puis sélectionnez vm-c1 pour ajouter ses adresses IP internes en tant que points de terminaison du réseau.
- Cliquez sur Créer.
- Cliquez à nouveau sur Ajouter un point de terminaison du réseau, puis sélectionnez vm-c2 sous Instance de VM.
- Cliquez sur Créer.
gcloud
Créez un NEG zonal
GCE_VM_IP
appeléneg-a
dansus-west1-a
à l'aide de la commandegcloud compute network-endpoint-groups create
:gcloud compute network-endpoint-groups create neg-a \ --network-endpoint-type=gce-vm-ip \ --zone=us-west1-a \ --network=lb-network \ --subnet=lb-subnet
Ajoutez des points de terminaison à
neg-a
:gcloud compute network-endpoint-groups update neg-a \ --zone=us-west1-a \ --add-endpoint='instance=vm-a1' \ --add-endpoint='instance=vm-a2'
Créez un NEG zonal
GCE_VM_IP
appeléneg-c
dansus-west1-c
à l'aide de la commandegcloud compute network-endpoint-groups create
:gcloud compute network-endpoint-groups create neg-c \ --network-endpoint-type=gce-vm-ip \ --zone=us-west1-c \ --network=lb-network \ --subnet=lb-subnet
Ajoutez des points de terminaison à
neg-c
:gcloud compute network-endpoint-groups update neg-c \ --zone=us-west1-c \ --add-endpoint='instance=vm-c1' \ --add-endpoint='instance=vm-c2'
Configurer les règles de pare-feu
Créez des règles de pare-feu permettant au trafic externe (qui inclut les tests de vérification d'état) d'atteindre les instances backend.
Cet exemple crée une règle de pare-feu permettant au trafic TCP de toutes les plages sources d'atteindre vos instances backend sur le port 80. Si vous souhaitez créer des règles de pare-feu distinctes qui sont spécifiques aux vérifications d'état, utilisez les plages d'adresses IP sources décrites dans la section Présentation des vérifications d'état: plages d'adresses IP de vérification et règles de pare-feu.
Console
Dans Google Cloud Console, accédez à la page Pare-feu.
Pour autoriser le trafic IPv4, procédez comme suit :
- Cliquez sur Créer une règle de pare-feu.
- Saisissez un Nom :
allow-network-lb-ipv4
. - Pour le Réseau, sélectionnez lb-network.
- Pour Cibles, sélectionnez Specified target tags (Tags cibles spécifiés).
- Dans le champ Tags cibles, saisissez
lb-tag
. - Dans la section Filtre source, sélectionnez Plages IPv4.
- Définissez le paramètre Plages IPv4 sources sur
0.0.0.0/0
. Cela autorise le trafic IPv4 depuis n'importe quelle source. Cela permet également aux vérifications d'état de Google d'atteindre les instances backend. - Dans le champ Protocoles et ports spécifiés, sélectionnez TCP et saisissez
80
. - Cliquez sur Créer.
Pour autoriser le trafic IPv6, procédez comme suit :
- Cliquez à nouveau sur Créer une règle de pare-feu.
- Saisissez un Nom :
allow-network-lb-ipv6
. - Pour le Réseau, sélectionnez lb-network.
- Pour Cibles, sélectionnez Specified target tags (Tags cibles spécifiés).
- Dans le champ Tags cibles, saisissez
lb-tag
. - Dans la section Filtre source, sélectionnez Plages IPv6.
- Définissez le paramètre Plages IPv6 sources sur
::/0
. Cela autorise le trafic IPv6 depuis n'importe quelle source. Cela permet également aux vérifications d'état de Google d'atteindre les instances backend. - Dans le champ Protocoles et ports spécifiés, sélectionnez TCP et saisissez
80
. - Cliquez sur Créer.
gcloud
Pour autoriser le trafic IPv4, exécutez la commande suivante:
gcloud compute firewall-rules create allow-network-lb-ipv4 \ --network=lb-network \ --target-tags=lb-tag \ --allow=tcp:80 \ --source-ranges=0.0.0.0/0
Pour autoriser le trafic IPv6, exécutez la commande suivante:
gcloud compute firewall-rules create allow-network-lb-ipv6 \ --network=lb-network \ --target-tags=lb-tag \ --allow=tcp:80 \ --source-ranges=::/0
Configurer l'équilibreur de charge
Configurez ensuite l'équilibreur de charge.
Lorsque vous configurez l'équilibreur de charge, vos VM reçoivent des paquets destinés à l'adresse IP externe statique configurée. Si vous utilisez une image fournie par Compute Engine, vos instances de VM sont automatiquement configurées pour gérer cette adresse IP. Si vous utilisez une autre image, vous devez configurer cette adresse en tant qu'alias sur eth1
ou en tant qu'adresse de rebouclage sur chaque instance.
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 le nom
network-lb-zonal-neg
du nouvel équilibreur de charge. - Pour Région, sélectionnez
us-west1
. - Pour le type de backend, sélectionnez Groupe de points de terminaison du réseau zonal.
- 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.
- Sur l'écran Configuration du backend, apportez les modifications suivantes :
- Dans la liste Groupe de points de terminaison du réseau, sélectionnez
neg-a
, puis cliquez sur OK. - Cliquez sur Ajouter un backend et répétez l'étape précédente pour ajouter
neg-c
. - Pour Vérification d'état, sélectionnez Créer une vérification d'état ou Créer une autre vérification d'état, puis saisissez les informations suivantes :
- Nom :
tcp-health-check
- Protocole :
TCP
- Port :
80
- Nom :
- Cliquez sur Enregistrer.
- Dans la liste Groupe de points de terminaison du réseau, sélectionnez
- Vérifiez qu'une coche bleue apparaît à côté de Configuration du backend avant de continuer.
Configuration de l'interface
- Cliquez sur Configuration de l'interface.
- Dans le champ Nom, saisissez
netlb-forwarding-rule
. - Pour gérer le trafic IPv4, procédez comme suit :
- Pour Version IP, sélectionnez IPv4.
- Pour Adresse IP, cliquez sur le menu déroulant et sélectionnez Créer une adresse IP.
- Sur la page Réserver une nouvelle adresse IP statique, saisissez
netlb-ipv4-address
dans le champ Nom. - Cliquez sur Réserver.
- Sur la page Réserver une nouvelle adresse IP statique, saisissez
- Dans le champ Ports, sélectionnez Unique. Pour Numéro de port, saisissez
80
. - Cliquez sur OK.
Pour gérer le trafic IPv6, procédez comme suit :
- Pour Version IP, sélectionnez IPv6.
- Pour le Sous-réseau, sélectionnez lb-subnet.
- Pour Plage IPv6, cliquez sur le menu déroulant et sélectionnez Créer une adresse IP.
- Sur la page Réserver une nouvelle adresse IP statique, saisissez
netlb-ipv6-address
dans le champ Nom. - Cliquez sur Réserver.
- Sur la page Réserver une nouvelle adresse IP statique, saisissez
- Dans le champ Ports, sélectionnez Unique. Pour Numéro de port, saisissez
80
. - Cliquez sur 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 Vérifier et finaliser.
- Vérifiez les paramètres de configuration de votre équilibreur de charge.
- Facultatif : cliquez sur Code équivalent pour afficher la requête API REST qui sera utilisée pour créer l'équilibreur de charge.
Cliquez sur Créer.
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 celui-ci est opérationnel.
gcloud
Réservez une adresse IP externe statique.
Pour le trafic IPv4 : créez une adresse IPv4 externe statique pour votre équilibreur de charge.
gcloud compute addresses create netlb-ipv4-address \ --region=us-west1
Pour le trafic IPv6 : créez une plage d'adresses IPv6 externe statique pour votre équilibreur de charge. Le sous-réseau utilisé doit être un sous-réseau à double pile avec une plage IPv6 externe.
gcloud compute addresses create netlb-ipv6-address \ --region=us-west1 \ --subnet=lb-subnet \ --ip-version=IPV6 \ --endpoint-type=NETLB
Créer une vérification d'état TCP
gcloud compute health-checks create tcp tcp-health-check \ --region=us-west1 \ --port=80
Créez un service de backend.
gcloud compute backend-services create networklb-backend-service \ --protocol=TCP \ --health-checks=tcp-health-check \ --health-checks-region=us-west1 \ --region=us-west1
Ajoutez les deux NEG zonaux,
neg-a
etneg-c
, au service de backend :gcloud compute backend-services add-backend networklb-backend-service \ --region=us-west1 \ --network-endpoint-group=neg-a \ --network-endpoint-group-zone=us-west1-a
gcloud compute backend-services add-backend networklb-backend-service \ --region=us-west1 \ --network-endpoint-group=neg-c \ --network-endpoint-group-zone=us-west1-c
Créez les règles de transfert selon que vous souhaitez gérer le trafic IPv4 ou IPv6. Créez les deux règles de transfert pour gérer ces deux types de trafic.
Pour le trafic IPv4 : créez une règle de transfert pour acheminer le trafic TCP entrant vers le service de backend. Utilisez l'adresse IPv4 réservée à l'étape 1 comme adresse IP externe statique de l'équilibreur de charge.
gcloud compute forwarding-rules create forwarding-rule-ipv4 \ --load-balancing-scheme=EXTERNAL \ --region=us-west1 \ --ports=80 \ --address=netlb-ipv4-address \ --backend-service=networklb-backend-service
Pour le trafic IPv6 : créez une règle de transfert pour gérer le trafic IPv6. Utilisez la plage d'adresses IPv6 réservée à l'étape 1 comme adresse IP externe statique de l'équilibreur de charge. Le sous-réseau utilisé doit être un sous-réseau à double pile avec une plage de sous-réseau IPv6 externe.
gcloud compute forwarding-rules create forwarding-rule-ipv6 \ --load-balancing-scheme=EXTERNAL \ --region=us-west1 \ --network-tier=PREMIUM \ --ip-version=IPV6 \ --subnet=lb-subnet \ --address=netlb-ipv6-address \ --ports=80 \ --backend-service=networklb-backend-service
Tester l'équilibreur de charge
Maintenant que le service d'équilibrage de charge est configuré, vous pouvez commencer à envoyer le trafic vers l'adresse IP externe de l'équilibreur de charge et surveiller le trafic qui est distribué aux instances backend.
Rechercher l'adresse IP externe de l'équilibreur de charge
Console
Sur la page Équilibrage de charge avancé, accédez à l'onglet Règles de transfert.
Localisez la règle de transfert utilisée par l'équilibreur de charge.
Notez l'adresse IP externe indiquée dans la colonne Adresse.
gcloud: IPv4
Saisissez la commande suivante pour afficher l'adresse IPv4 externe de la règle de transfert network-lb-forwarding-rule
utilisée par l'équilibreur de charge.
gcloud compute forwarding-rules describe forwarding-rule-ipv4 \ --region=us-west1
gcloud: IPv6
Saisissez la commande suivante pour afficher l'adresse IPv6 externe de la règle de transfert network-lb-forwarding-rule
utilisée par l'équilibreur de charge.
gcloud compute forwarding-rules describe forwarding-rule-ipv6 \ --region=us-west1
Envoyer du trafic vers l'équilibreur de charge
Envoyez des requêtes Web à l'équilibreur de charge à l'aide de curl
pour contacter son adresse IP.
À partir de clients disposant d'une connectivité IPv4, exécutez la commande suivante:
$ while true; do curl -m1 IPV4_ADDRESS; done
À partir de clients disposant d'une connectivité IPv6, exécutez la commande suivante:
$ while true; do curl -m1 http://IPV6_ADDRESS; done
Par exemple, si l'adresse IPv6 attribuée est
[2001:db8:1:1:1:1:1:1/96]:80
, la commande doit se présenter comme suit:$ while true; do curl -m1 http://[2001:db8:1:1:1:1:1:1]:80; done
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_NAME
.
La réponse de la commande curl
est alternée de manière aléatoire entre les instances de backend. En cas d'échec au début de la phase de réponse, il vous faudra probablement patienter environ 30 secondes pour que la configuration soit entièrement chargée et que vos instances soient identifiées comme saines avant de réessayer :
Options de configuration supplémentaires
Pour personnaliser davantage votre équilibreur de charge réseau passthrough externe, vous pouvez configurer l'affinité de session, l'orientation du trafic et définir une règle de basculement ou de suivi des connexions. Ces tâches sont facultatives et peuvent être effectuées dans n'importe quel ordre. Pour obtenir des instructions, consultez la section Options de configuration supplémentaires.
Étapes suivantes
- Pour apprendre à migrer un équilibreur de charge réseau passthrough externe depuis un backend de pool cible vers un service de backend régional, consultez la page Migrer des équilibreurs de charge réseau passthrough externes depuis des pools cibles vers des services de backend.
- Pour configurer un équilibreur de charge réseau passthrough externe pour plusieurs protocoles IP (compatible avec le trafic IPv4 et IPv6), consultez la page Configurer un équilibreur de charge réseau passthrough externe pour plusieurs protocoles IP.
- Pour configurer la protection DDoS avancée du réseau pour un équilibreur de charge réseau passthrough externe à l'aide de Google Cloud Armor, consultez la section Configurer la protection DDoS avancée du réseau.
- Pour supprimer des ressources, consultez la page Nettoyer la configuration de l'équilibreur de charge.