Ce document vous explique comment configurer et tester un équilibreur de charge réseau passthrough interne compatible avec le trafic interne IPv6 uniquement. Dans cet exemple de configuration, vous installez un serveur Web Apache sur les instances de machines virtuelles (VM) de backend internes IPv6 uniquement pour diffuser du contenu en réponse au trafic reçu via l'adresse IP virtuelle (VIP) de l'équilibreur de charge.
Comme le montre le schéma d'architecture suivant, les VM de backend de l'équilibreur de charge sont configurées avec des adresses IPv6 internes uniquement. Pour cet exemple de configuration, ces VM de backend doivent télécharger Apache pour installer un serveur Web, ce qui nécessite un accès à l'Internet public. Toutefois, comme ces VM de backend ne disposent pas d'adresses IP externes, elles ne peuvent pas accéder directement à Internet.
Pour activer l'accès à Internet, cet exemple utilise une instance de VM distincte, configurée avec une adresse IPv6 externe, qui sert de passerelle NAT. Cette VM effectue la translation d'adresse au niveau du noyau Linux. Plus précisément, la chaîne POSTROUTING
du tableau NAT est utilisée pour masquer l'adresse source des paquets sortants, en remplaçant l'adresse IPv6 interne de chaque VM de backend par l'adresse IPv6 externe de la VM de passerelle NAT sur l'interface réseau spécifiée.
Les informations suivantes vous guident dans la configuration des différents composants utilisés pour configurer un équilibreur de charge réseau passthrough interne avec des backends internes IPv6 uniquement.
Autorisations
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 réseaux, des sous-réseaux et des composants de l'équilibreur de charge | Administrateur de réseaux Compute ( roles/compute.networkAdmin ) |
Ajouter et supprimer des règles de pare-feu | Administrateur de sécurité de Compute ( roles/compute.securityAdmin )
|
Créer des instances | Administrateur d'instances Compute ( roles/compute.instanceAdmin ) |
Pour en savoir plus, consultez les guides suivants :
- Access control (Contrôle des accès)
- Conditions IAM
Configurer un réseau et un sous-réseau IPv6 uniquement avec des adresses IPv6 internes
L'exemple d'équilibreur de charge réseau passthrough interne décrit sur cette page est créé dans un réseau VPC en mode personnalisé nommé lb-network-ipv6-only
.
Pour configurer des sous-réseaux avec des plages IPv6 internes, activez une plage IPv6 interne ULA du réseau VPC. Les plages de sous-réseaux IPv6 internes sont allouées à partir de cette plage.
Console
Dans la console Trusted Cloud , accédez à la page Réseaux VPC.
Cliquez sur Créer un réseau VPC.
Dans le champ Nom, saisissez
lb-network-ipv6-only
.Si vous souhaitez configurer des plages d'adresses IPv6 internes sur les sous-réseaux de ce réseau, procédez comme suit :
- Dans Paramètres d'adresses IPv6 privée, sélectionnez Configurer une plage d'adresses IPv6 interne ULA pour ce réseau VPC.
- Dans le champ Allouer une plage IPv6 interne, sélectionnez Automatiquement ou Manuellement.
Si vous sélectionnez Manuellement, saisissez une plage
/48
comprise dans la plagefd20::/20
. Si la plage est déjà utilisée, vous êtes invité à en fournir une autre.
Dans le champ Mode de création de sous-réseau, sélectionnez Personnalisé.
Dans la section Nouveau sous-réseau, spécifiez les paramètres de configuration de sous-réseau suivants :
- Nom :
lb-subnet-ipv6-only
- Région :
us-west1
- Type de pile IP : IPv6 (pile unique)
- Type d'accès IPv6 : Interne.
- Nom :
Cliquez sur OK.
Cliquez sur Créer.
gcloud
Pour créer un réseau VPC en mode personnalisé, exécutez la commande
gcloud compute networks create
.Pour configurer des plages IPv6 internes sur n'importe quel sous-réseau de ce réseau, utilisez l'option
--enable-ula-internal-ipv6
.gcloud compute networks create lb-network-ipv6-only \ --subnet-mode=custom \ --enable-ula-internal-ipv6 \ --bgp-routing-mode=regional
Configurez un sous-réseau avec le paramètre
ipv6-access-type
défini surINTERNAL
. Cela indique que les VM de ce sous-réseau ne peuvent avoir que des adresses IPv6 internes. Dans cet exemple, le sous-réseau est nommélb-subnet-ipv6-only-internal
.Pour créer le sous-réseau, exécutez la commande
gcloud compute networks subnets create
.gcloud compute networks subnets create lb-subnet-ipv6-only-internal \ --network=lb-network-ipv6-only \ --region=us-west1 \ --stack-type=IPV6_ONLY \ --ipv6-access-type=INTERNAL
Configurer un sous-réseau IPv6 uniquement avec des adresses IPv6 externes
Un sous-réseau IPv6 uniquement avec des adresses IPv6 externes est utilisé pour créer une instance de VM qui sert de passerelle NAT.
Console
Dans la console Trusted Cloud , accédez à la page Réseaux VPC.
Pour afficher la page Détails du réseau VPC, cliquez sur le nom du réseau VPC que vous avez créé.
Dans l'onglet Sous-réseaux, cliquez sur
Ajouter un sous-réseau. Dans le panneau qui s'affiche, spécifiez les paramètres de configuration de sous-réseau suivants :- Nom :
lb-subnet-ipv6-only-external
- Région :
us-west1
- Type de pile IP : IPv6 (pile unique)
- Type d'accès IPv6: Externe
- Nom :
Cliquez sur Ajouter.
gcloud
Configurez un sous-réseau avec le paramètre ipv6-access-type
défini sur EXTERNAL
.
Cela indique que les VM de ce sous-réseau peuvent avoir des adresses IPv6 externes. Dans cet exemple, le sous-réseau est nommé lb-subnet-ipv6-only-external
.
Pour créer le sous-réseau, exécutez la commande gcloud compute networks subnets create
.
gcloud compute networks subnets create lb-subnet-ipv6-only-external \ --network=lb-network-ipv6-only \ --region=us-west1 \ --stack-type=IPV6_ONLY \ --ipv6-access-type=EXTERNAL
Configurer des règles de pare-feu dans le réseau VPC
Cet exemple utilise les règles de pare-feu suivantes :
fw-allow-lb-access-ipv6-only
: règle d'entrée, applicable à toutes les cibles du réseau VPC, autorisant le trafic provenant de toutes les sources IPv6.fw-allow-ssh
: règle d'entrée qui autorise la connectivité SSH entrante sur le port TCP22
à partir de n'importe quelle adresse. Vous pouvez choisir une plage d'adresses IP sources plus restrictive pour cette règle. Par exemple, vous pouvez spécifier uniquement les plages d'adresses IP du système à partir duquel vous souhaitez lancer des sessions SSH. Cet exemple utilise le tag cibleallow-ssh
pour identifier les VM auxquelles la règle doit s'appliquer.fw-allow-health-check-ipv6-only
: règle d'entrée, applicable aux instances faisant l'objet d'un équilibrage de charge, qui autorise le trafic issu des systèmes de vérification d'état Trusted Cloud (2600:2d00:1:b029::/64
). Cet exemple utilise le tag cibleallow-health-check-ipv6
pour identifier les instances auxquelles la règle doit s'appliquer.
Sans ces règles de pare-feu, la règle d'entrée interdite par défaut bloque le trafic entrant vers les instances backend.
Console
Dans la console Trusted Cloud , accédez à la page Règles de pare-feu.
Pour autoriser le trafic de sous-réseau IPv6, cliquez à nouveau sur Créer une règle de pare-feu, puis saisissez les informations suivantes :
- Nom :
fw-allow-lb-access-ipv6-only
- Réseau :
lb-network-ipv6-only
- Priorité :
1000
- Sens du trafic : entrée
- Action en cas de correspondance : autoriser
- Cibles : All instances in the network
- Filtre source : Plages IPv6
- Plages IPv6 sources :
::/0
- Protocoles et ports : tout autoriser
- Nom :
Cliquez sur Créer.
Pour autoriser les connexions SSH entrantes, cliquez à nouveau sur Créer une règle de pare-feu et saisissez les informations suivantes :
- Nom :
fw-allow-ssh
- Réseau :
lb-network-ipv6-only
- Priorité :
1000
- Sens du trafic : entrée
- Action en cas de correspondance : autoriser
- Cibles : Tags cibles spécifiés
- Tags cibles :
allow-ssh
- Filtre source : Plages IPv6
- Plages IPv6 sources :
::/0
- Protocoles et ports : sélectionnez Protocoles et ports spécifiés, cochez la case TCP, puis saisissez
22
dans Ports.
- Nom :
Cliquez sur Créer.
Pour autoriser les vérifications d'état IPv6 Trusted Cloud , cliquez à nouveau sur Créer une règle de pare-feu, puis saisissez les informations suivantes :
- Nom :
fw-allow-health-check-ipv6-only
- Réseau :
lb-network-ipv6-only
- Priorité :
1000
- Sens du trafic : entrée
- Action en cas de correspondance : autoriser
- Cibles : Tags cibles spécifiés
- Tags cibles :
allow-health-check-ipv6
- Filtre source : Plages IPv6
- Plages IPv6 sources :
2600:2d00:1:b029::/64
- Protocoles et ports : tout autoriser
- Nom :
Cliquez sur Créer.
gcloud
Créez la règle de pare-feu
fw-allow-lb-access-ipv6-only
pour autoriser tout le trafic IPv6 entrant vers toutes les instances de VM du réseau VPC :gcloud compute firewall-rules create fw-allow-lb-access-ipv6-only \ --network=lb-network-ipv6-only \ --action=allow \ --direction=ingress \ --source-ranges=::/0 \ --rules=all
Créez la règle de pare-feu
fw-allow-ssh
pour autoriser la connectivité SSH aux VM avec le tag réseauallow-ssh
. Lorsque vous omettezsource-ranges
,Trusted Cloud interprète la règle comme désignant n'importe quelle source.gcloud compute firewall-rules create fw-allow-ssh \ --network=lb-network-ipv6-only \ --action=allow \ --direction=ingress \ --target-tags=allow-ssh \ --source-ranges=::/0 \ --rules=tcp:22
Créez la règle
fw-allow-health-check-ipv6
pour autoriser les vérifications d'étatTrusted Cloud IPv6.gcloud compute firewall-rules create fw-allow-health-check-ipv6-only \ --network=lb-network-ipv6-only \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64 \ --rules=tcp,udp
Créer une instance de VM qui sert de passerelle NAT
Dans cet exemple, un script Bash est utilisé pour créer une passerelle NAT qui permet de modifier les paquets IPv6 au niveau du noyau Linux.
Le script Bash modifie l'adresse source de tous les paquets IPv6 sortants de la chaîne POSTROUTING
, en la remplaçant par l'adresse IPv6 externe de l'interface de la VM.
Le script Bash modifie la chaîne POSTROUTING
dans iptables
pour masquer l'adresse IPv6 source de tous les paquets sortants, en la remplaçant par l'adresse IPv6 externe de l'interface réseau de la VM.
Vous devez également activer le transfert IP pour cette instance.
Pour créer une instance de VM qui servira de passerelle NAT, procédez comme suit :
Console
Dans la console Trusted Cloud , accédez à la page Instances de VM.
Cliquez sur Créer une instance.
Dans le champ Nom, saisissez
nat-gateway-instance
.Pour Région, sélectionnez
us-west1
, et pour Zone, sélectionnezus-west1-a
.Dans la section Disque de démarrage, assurez-vous que Debian GNU/Linux 12 (bookworm) est sélectionné pour les options du disque de démarrage. Si nécessaire, cliquez sur Modifier pour modifier l'image.
Cliquez sur Mise en réseau et configurez les champs suivants :
- Pour Tags réseau, saisissez
allow-ssh
. - Pour Transfert IP, cochez la case Activer.
- Pour Interfaces réseau, sélectionnez l'option suivante :
- Réseau :
lb-network-ipv6-only
- Sous-réseau :
lb-subnet-ipv6-only-external
- Type de pile IP : IPv6 (pile unique)
- Adresse IPv6 externe : Allocation automatique
- Réseau :
- Pour Tags réseau, saisissez
Cliquez sur Avancé, puis dans le champ Script de démarrage, saisissez le script suivant :
#!/bin/bash set -e echo "Starting GCE startup script..." # --- IPv6 NAT table configuration --- echo "Modifying the source IPv6 address using the NAT table" # Enable IPv6 forwarding sysctl -w net.ipv6.conf.all.forwarding=1 # Determine the primary network interface (assuming it's the last one listed) IFACE=$(ip -brief link | tail -1 | awk '{print $1}') echo "Using interface: $IFACE for IPv6 NAT" # Flush existing IPv6 NAT rules ip6tables -F -t nat ip6tables -X -t nat # Masquerade all outgoing IPv6 traffic on the determined interface ip6tables -t nat -A POSTROUTING -o "$IFACE" -j MASQUERADE echo "IPv6 masquerading configured successfully." echo "GCE startup script finished."
Cliquez sur Créer.
gcloud
Créez un script de démarrage.
nano startup.sh
Ajoutez le script suivant et enregistrez le fichier.
#!/bin/bash set -e echo "Starting GCE startup script..." # --- IPv6 NAT table configuration --- echo "Modifying the source IPv6 address using the NAT table" # Enable IPv6 forwarding sysctl -w net.ipv6.conf.all.forwarding=1 # Determine the primary network interface (assuming it's the last one listed) IFACE=$(ip -brief link | tail -1 | awk '{print $1}') echo "Using interface: $IFACE for IPv6 NAT" # Flush existing IPv6 NAT rules ip6tables -F -t nat ip6tables -X -t nat # Masquerade all outgoing IPv6 traffic on the determined interface ip6tables -t nat -A POSTROUTING -o "$IFACE" -j MASQUERADE echo "IPv6 masquerading configured successfully." echo "GCE startup script finished."
Créez une instance de VM et ajoutez-y le fichier de métadonnées. Pour utiliser cette VM comme saut suivant d'une route, utilisez l'indicateur
--can-ip-forward
pour activer le transfert IP pour cette instance.gcloud compute instances create nat-gateway-instance \ --zone=us-west1-a \ --tags=allow-ssh \ --image-family=debian-12 \ --image-project=debian-cloud \ --subnet=lb-subnet-ipv6-only-external \ --stack-type=IPV6_ONLY \ --can-ip-forward \ --metadata-from-file=startup-script=startup.sh
Créer une route statique dans le réseau VPC
Dans cet exemple, une route personnalisée est créée pour rediriger tout le trafic IPv6 destiné à Internet (::/0
) des VM taguées nat-gw-tag
vers l'instance de VM nat-gateway-instance
, qui sert de passerelle NAT.
Pour créer un itinéraire, procédez comme suit :
Console
Dans la console Trusted Cloud , accédez à la page Routes.
Cliquez sur l'onglet Gestion des routes.
Cliquez sur Créer une route.
Spécifiez un nom et une description pour la route.
Dans la liste Réseau, sélectionnez le réseau VPC
lb-network-ipv6-only
.Dans la liste Version IP, sélectionnez IPv6.
Spécifiez une plage d'adresses IPv6 de destination. La destination la plus large possible est
::/0
pour IPv6.Pour rendre la route applicable uniquement à la sélection d'instances associées aux tags réseau correspondants, spécifiez ces tags dans le champ Tags des instances. Laissez le champ vide pour rendre la route applicable à toutes les instances du réseau. Pour cet exemple, saisissez
nat-gw-tag
.Pour le saut suivant, sélectionnez Spécifier une instance.
Sélectionnez le nom de l'instance que vous avez créée pour servir de passerelle NAT. Pour cet exemple, sélectionnez
nat-gateway-instance
.Cliquez sur Créer.
gcloud
Utilisez la commande gcloud compute routes create
pour créer un itinéraire.
Le paquet est transféré à l'instance de VM nat-gateway-instance
, comme spécifié par --next-hop-instance
de la route.
gcloud compute routes create route-1 \ --network=lb-network-ipv6-only \ --priority=1000 \ --tags=nat-gw-tag \ --destination-range=::/0 \ --next-hop-instance=nat-gateway-instance \ --next-hop-instance-zone=us-west1-a
Créer des VM de backend et des groupes d'instances
Cet exemple utilise deux groupes d'instances non gérés, chacun comportant deux VM de backend. Pour démontrer la nature régionale des équilibreurs de charge réseau passthrough internes, les deux groupes d'instances sont placés dans des zones distinctes, us-west1-a
et us-west1-c
.
- Le groupe d'instances
ig-a
contient les deux VM suivantes :vm-a1
vm-a2
- Le groupe d'instances
ig-c
contient les deux VM suivantes :vm-c1
vm-c2
Le trafic vers les quatre VM de backend est équilibré.
Dans cet exemple, la route statique créée à une étape précédente est limitée à des instances de VM spécifiques à l'aide du tag réseau nat-gw-tag
.
Console
Créer des VM de backend
Dans la console Trusted Cloud , accédez à la page Instances de VM.
Répétez ces étapes pour chaque 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, sélectionnez
us-west1
, puis choisissez une zone comme indiqué à l'étape 2.Dans la section Disque de démarrage, assurez-vous que Debian GNU/Linux 12 (bookworm) est sélectionné pour les options du disque de démarrage. Si nécessaire, cliquez sur Modifier 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
allow-ssh
,allow-health-check-ipv6
etnat-gw-tag
. - Pour Interfaces réseau, sélectionnez l'option suivante :
- Réseau :
lb-network-ipv6-only
- Sous-réseau :
lb-subnet-ipv6-only-internal
- Type de pile IP : IPv6 (pile unique)
- Adresse IPv6 interne principale : Éphémère (automatique)
- Réseau :
- Pour Tags réseau, saisissez
Cliquez sur Avancé, puis dans le champ Script de démarrage, saisissez le 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 Créer.
Créer des groupes d'instances
Dans la console Trusted 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 :
- Nom du groupe d'instances :
ig-a
, zone :us-west1-a
, VM :vm-a1
etvm-a2
- Nom du groupe d'instances :
ig-c
, zone :us-west1-c
, VM :vm-c1
etvm-c2
- Nom du 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, sélectionnez
lb-network-ipv6-only
.Pour Sous-réseau, sélectionnez
lb-subnet-ipv6-only-internal
.Dans la section Instances de VM, ajoutez les VM comme indiqué à l'étape 2.
Cliquez sur Créer.
gcloud
Pour créer les quatre VM, exécutez la commande
gcloud compute instances create
quatre fois, en utilisant les quatre combinaisons suivantes pour[VM-NAME]
et[ZONE]
.VM-NAME
:vm-a1
,ZONE
:us-west1-a
VM-NAME
:vm-a2
,ZONE
:us-west1-a
VM-NAME
:vm-c1
,ZONE
:us-west1-c
VM-NAME
:vm-c2
,ZONE
:us-west1-c
gcloud compute instances create VM-NAME \ --zone=ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-ssh,allow-health-check-ipv6,nat-gw-tag \ --subnet=lb-subnet-ipv6-only-internal \ --stack-type=IPV6_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é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 composants de l'équilibreur de charge
Les étapes suivantes permettent de configurer les différents composants d'un équilibreur de charge réseau passthrough interne, en commençant par la vérification de l'état d'état et le service de backend, puis en passant à l'interface.
Console
Démarrer la configuration
Dans la console Trusted Cloud , 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.
- Cliquez sur Configurer.
Configuration de base
Sur la page Créer un équilibreur de charge réseau passthrough interne, saisissez les informations suivantes :
- Nom de l'équilibreur de charge :
ilb-ipv6-only
- Région :
us-west1
- Réseau :
lb-network-ipv6-only
Configuration du backend
- Cliquez sur Configuration du backend.
- Dans la section Nouveau backend de Backends, sélectionnez IPv6 (pile unique) sous type de pile IP.
- Dans Groupe d'instances, sélectionnez le groupe d'instances
ig-a
, puis cliquez sur OK. - Cliquez sur Ajouter un backend et répétez cette étape pour ajouter
ig-c
. - Dans la liste Vérification d'état, sélectionnez Créer une vérification d'état, saisissez les informations suivantes, puis cliquez sur Enregistrer :
- Nom :
hc-http-80
. - Champ d'application : Régional.
- Protocole :
HTTP
- Port :
80
. - Proxy protocol :
NONE
. - Chemin de requête :
/
.
- Nom :
- Vérifiez qu'une coche bleue apparaît à côté de Configuration du backend.
Configuration de l'interface
- Cliquez sur Configuration de l'interface. Dans la section Nouveaux IP et port frontend, procédez comme suit :
- Dans le champ Nom, saisissez
fr-ilb-ipv6-only
. - Pour gérer le trafic IPv6, procédez comme suit :
- Pour Version IP, sélectionnez IPv6. Le serveur TCP IPv6 que vous allez créer dans la section suivante est associé à l'adresse IP virtuelle de la règle de transfert.
- Pour Sous-réseau, sélectionnez
lb-subnet-ipv6-only-internal
. La plage d'adresses IPv6 de la règle de transfert est toujours éphémère. - Pour Ports, sélectionnez Plusieurs, puis dans le champ Numéro de port, saisissez
80
. - Cliquez sur OK.
- Vérifiez qu'une coche bleue apparaît à côté de Configuration du frontend avant de continuer.
- Dans le champ Nom, saisissez
Vérifier la configuration
- Cliquez sur Vérifier et finaliser. Vérifiez tous vos paramètres.
- Si les paramètres sont corrects, cliquez sur Créer. La création de l'équilibreur de charge réseau passthrough interne prend quelques minutes.
gcloud
Créez une vérification d'état HTTP régionale pour tester la connectivité HTTP 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 :
gcloud compute backend-services create ilb-ipv6-only \ --load-balancing-scheme=INTERNAL \ --protocol=tcp \ --region=us-west1 \ --health-checks=hc-http-80 \ --health-checks-region=us-west1
Ajoutez les deux groupes d'instances au service de backend :
gcloud compute backend-services add-backend ilb-ipv6-only \ --region=us-west1 \ --instance-group=ig-a \ --instance-group-zone=us-west1-a
gcloud compute backend-services add-backend ilb-ipv6-only \ --region=us-west1 \ --instance-group=ig-c \ --instance-group-zone=us-west1-c
Créez la règle de transfert IPv6 avec une adresse IPv6 éphémère.
gcloud compute forwarding-rules create fr-ilb-ipv6-only \ --region=us-west1 \ --load-balancing-scheme=INTERNAL \ --subnet=lb-subnet-ipv6-only-internal \ --ip-protocol=TCP \ --ports=80 \ --backend-service=ilb-ipv6-only \ --backend-service-region=us-west1 \ --ip-version=IPV6
Tester votre équilibreur de charge
Pour tester l'équilibreur de charge, créez une VM cliente dans la même région que l'équilibreur de charge, puis envoyez le trafic du client vers l'équilibreur de charge.
Créer une VM cliente
Cet exemple crée une VM cliente (vm-client
) dans la même région que les VM de backend (serveur).
Console
Dans la console Trusted Cloud , accédez à la page Instances de VM.
Cliquez sur Créer une instance.
Dans le champ Nom, saisissez
vm-client
.Pour Région, sélectionnez
us-west1
.Pour Zone, sélectionnez
us-west1-a
.Cliquez sur Options avancées.
Cliquez sur Mise en réseau et configurez les champs suivants :
- Pour Tags réseau, saisissez
allow-ssh
. - Pour Interfaces réseau, sélectionnez l'option suivante :
- Réseau :
lb-network-ipv6-only
- Sous-réseau :
lb-subnet-ipv6-only-internal
- Type de pile IP : IPv6 (pile unique)
- Réseau :
- Cliquez sur OK.
- Pour Tags réseau, saisissez
Cliquez sur Créer.
gcloud
La VM cliente peut se trouver dans n'importe quelle zone de la même région que l'équilibreur de charge. Dans cet exemple, le client se situe dans la zone us-west1-a
et utilise le même sous-réseau que les VM de backend.
gcloud compute instances create vm-client \ --zone=us-west1-a \ --image-family=debian-12 \ --image-project=debian-cloud \ --stack-type=IPV6_ONLY \ --tags=allow-ssh \ --subnet=lb-subnet-ipv6-only-internal
Tester la connexion
Ce test contacte l'équilibreur de charge à partir d'une VM cliente distincte (autre qu'une VM de backend de l'équilibreur de charge). Le comportement attendu est une répartition du trafic entre les quatre VM de backend.
Connectez-vous à l'instance de VM cliente à l'aide de SSH.
gcloud compute ssh vm-client --zone=us-west1-a
Décrivez la règle de transfert IPv6
fr-ilb-ipv6-only
. Notez l'élémentIPV6_ADDRESS
dans la description.gcloud compute forwarding-rules describe fr-ilb-ipv6-only \ --region=us-west1
À partir de clients disposant d'une connectivité IPv6, exécutez la commande suivante:
curl http://IPV6_ADDRESS:80
Par exemple, si l'adresse IPv6 attribuée est
[fd20:307:120c:2000:0:1:0:0/96]:80
, la commande doit se présenter comme suit :curl http://[fd20:307:120c:2000:0:1:0:0]:80
La réponse peut être la suivante :
Page returned from: vm-a2
Étapes suivantes
- Consultez la configuration pour configurer un équilibreur de charge réseau passthrough interne avec un sous-réseau et un backend internes IPv6 uniquement à l'aide d'un serveur TCP IPv6 installé sur les VM de backend.