Ce document explique comment convertir des ressources et des backends de l'équilibreur de charge d'application de IPv4 uniquement (pile unique) vers IPv4 et IPv6 (double pile). Le principal avantage de l'utilisation d'IPv6 est qu'un pool d'adresses IP beaucoup plus important peut être alloué. Vous pouvez configurer l'équilibreur de charge pour qu'il mette fin au trafic IPv6 entrant et transfère ce trafic via une connexion IPv4 ou IPv6 à vos backends, en fonction de vos préférences. Pour en savoir plus, consultez IPv6 pour les équilibreurs de charge d'application et les équilibreurs de charge réseau proxy.
Dans ce document, "IPv4 uniquement" (pile unique) fait référence aux ressources qui n'utilisent que des adresses IPv4, et IPv4 et IPv6 (double pile) fait référence aux ressources qui utilisent à la fois des adresses IPv4 et IPv6.
Avant de commencer
Tenez compte des conditions suivantes avant de commencer le processus de conversion:
Vous devez utiliser l'un des types d'équilibreurs de charge d'application suivants:
- Équilibreur de charge d'application externe mondial
- Équilibreur de charge d'application externe régional
- Équilibreur de charge d'application interne interrégional
- Équilibreur de charge d'application interne régional
Les équilibreurs de charge d'application classiques ne sont pas compatibles avec les backends ou les sous-réseaux à double pile. Pour en savoir plus sur la compatibilité IPv6, consultez la section IPv6 pour les équilibreurs de charge d'application et les équilibreurs de charge réseau proxy.
Votre équilibreur de charge doit comporter des backends de groupe d'instances de VM ou des backends de groupe de points de terminaison du réseau (NEG) zonaux avec des points de terminaison
GCE_VM_IP_PORT
. Les autres types de backends ne sont pas compatibles avec la double pile.
De plus, le processus de conversion diffère selon le type d'équilibreur de charge.
Pour les équilibreurs de charge d'application externes globaux, vous convertissez les backends en double pile et vous créez une règle de transfert IPv6 pouvant gérer le trafic IPv6 entrant.
Pour les équilibreurs de charge d'application internes interrégionaux, les équilibreurs de charge d'application externes régionaux et les équilibreurs de charge d'application internes régionaux, vous ne convertissez que les backends en double pile. Les règles de transfert IPv6 ne sont pas compatibles avec ces équilibreurs de charge.
Pour savoir comment configurer des équilibreurs de charge d'application, consultez la documentation suivante:
- Configurer un équilibreur de charge d'application externe global: backends de groupe d'instances de VM, backends de NEG zonaux
- Configurer un équilibreur de charge d'application externe régional: backends de groupes d'instances de VM, backends de NEG zonaux
- Configurer un équilibreur de charge d'application interne interrégional: backends de groupes d'instances de VM, backends de NEG zonaux
- Configurer un équilibreur de charge d'application interne régional: backends de groupes d'instances de VM, backends de NEG zonaux
Identifier les ressources à convertir
Notez les noms des ressources auxquelles votre équilibreur de charge est associé. Vous devrez fournir ces noms ultérieurement.
Pour répertorier tous les sous-réseaux, exécutez la commande
gcloud compute networks subnets list
:gcloud compute networks subnets list
Notez le nom du sous-réseau avec des adresses IPv4 uniquement à convertir en double pile. Ce nom sera désigné plus loin par
SUBNET
. Le réseau VPC sera désigné plus loin parNETWORK
.Pour répertorier tous les services de backend, exécutez la commande
gcloud compute backend-services list
:gcloud compute backend-services list
Notez le nom du service de backend à convertir en double pile. Ce nom sera désigné plus loin par
BACKEND_SERVICE
.Pour répertorier tous les mappages d'URL, exécutez la commande
gcloud compute url-maps list
:gcloud compute url-maps list
Notez le nom du mappage d'URL associé à votre équilibreur de charge. Ce nom sera désigné plus loin par
URL_MAP
.Si vous disposez déjà d'un équilibreur de charge, pour afficher le type de pile IP de vos backends, exécutez la commande
gcloud compute instances list
:gcloud compute instances list \ --format= \ "table( name, zone.basename(), networkInterfaces[].stackType.notnull().list(), networkInterfaces[].ipv6AccessConfigs[0].externalIpv6.notnull().list():label=EXTERNAL_IPV6, networkInterfaces[].ipv6Address.notnull().list():label=INTERNAL_IPV6)"
Pour répertorier toutes les instances de VM et tous les modèles d'instance, utilisez la commande
gcloud compute instances list
et la commandegcloud compute instance-templates list
:gcloud compute instances list
gcloud compute instance-templates list
Notez les noms des instances et des modèles d'instance à convertir en double pile. Ce nom sera désigné plus loin par
VM_INSTANCE
etINSTANCE_TEMPLATES
.Pour répertorier tous les groupes d'instances, utilisez la commande
gcloud compute instance-groups list
:gcloud compute instance-groups list
Notez le nom des groupes de points de terminaison du réseau à convertir en double pile. Ce nom sera désigné plus loin par
INSTANCE_GROUP
.Pour répertorier tous les groupes de points de terminaison du réseau (NEG) zonaux, exécutez la commande
gcloud compute network-endpoint-groups list
:gcloud compute network-endpoint-groups list
Notez les noms des backends de NEG zonaux à convertir en double pile. Ce nom sera désigné plus loin par
ZONAL_NEG
.Pour répertorier tous les proxys cibles, utilisez la commande
gcloud compute target-http-proxies list
:gcloud compute target-http-proxies list
Notez le nom du proxy cible associé à votre équilibreur de charge. Ce nom sera désigné plus loin par
TARGET_PROXY
.
Convertir des backends à pile unique en backends à double pile
Cette section explique comment convertir les ressources et les backends de votre équilibreur de charge à l'aide d'adresses IPv4 uniquement (pile unique) en adresses IPv4 et IPv6 (double pile).
Mettre à jour le sous-réseau
Les sous-réseaux à double pile ne sont compatibles qu'avec les réseaux VPC en mode personnalisé. Les sous-réseaux à double pile ne sont pas compatibles avec les réseaux VPC en mode automatique ou les anciens réseaux. Même si les VPC en mode automatique peuvent être utiles pour une exploration préliminaire, ceux en mode personnalisé sont davantage adaptés à la plupart des environnements de production. Nous vous recommandons d'utiliser des VPC en mode personnalisé.
Pour mettre à jour le VPC vers le paramètre de double pile, procédez comme suit :
Si vous utilisez un réseau VPC en mode automatique, vous devez d'abord convertir le réseau VPC en mode automatique vers le mode personnalisé.
Si vous utilisez le réseau
default
, vous devez le convertir en réseau VPC en mode personnalisé.Pour activer IPv6, consultez la section Définir le type de pile d'un sous-réseau sur double pile.
Assurez-vous que le type d'accès IPv6 du sous-réseau est défini sur
External
.Facultatif : Si vous souhaitez configurer des plages d'adresses IPv6 internes sur les sous-réseaux de ce réseau, procédez comme suit :
- Dans le champ Plage IPv6 interne ULA du réseau VPC, sélectionnez Activée.
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 utilisée, vous êtes invité à en fournir une autre.
Mettre à jour le sous-réseau proxy réservé
Si vous utilisez un équilibreur de charge basé sur Envoy, nous vous recommandons de remplacer le type de pile de sous-réseau proxy réservé par une double pile. Pour en savoir plus sur les équilibreurs de charge compatibles avec les sous-réseaux proxy réservés, consultez la page Équilibreurs de charge compatibles.
Pour définir le type de pile du sous-réseau proxy réservé sur double pile, procédez comme suit:
Console
Dans la console Google Cloud, accédez à la page Réseaux VPC.
Pour afficher la page Détails du réseau VPC, cliquez sur le nom d'un réseau.
Cliquez sur l'onglet Sous-réseaux.
Dans la section Sous-réseaux proxy réservés pour l'équilibrage de charge, cliquez sur le nom du sous-réseau proxy réservé que vous souhaitez modifier.
Sur la page Détails du sous-réseau, cliquez sur Modifier.
Dans le champ Type de pile d'adresses IP, sélectionnez IPv4 et IPv6 (double pile). Définissez le type d'accès IPv6 sur Interne.
Cliquez sur Enregistrer.
gcloud
Utilisez la commande subnets update
.
gcloud compute networks subnets update PROXY_ONLY_SUBNET \ --stack-type=IPV4_IPV6 \ --ipv6-access-type=INTERNAL \ --region=REGION
Remplacez les éléments suivants :
PROXY_ONLY_SUBNET
: nom du sous-réseau proxy réservé.REGION
: région du sous-réseau.IPv6_ACCESS_TYPE
: le type d'accès IPv6 du sous-réseau estINTERNAL
.
Mettre à jour l'instance ou les modèles de VM
Vous pouvez configurer des adresses IPv6 sur une instance de VM si une plage IPv6 est configurée pour le sous-réseau auquel la VM est connectée. Seuls les backends suivants sont compatibles avec les adresses IPv6:
- Backends de groupe d'instances : un ou plusieurs backends de groupes d'instances gérés ou non, ou une combinaison de backends de groupes d'instances gérés et non gérés
- NEG zonaux : un ou plusieurs NEG zonaux de type
GCE_VM_IP_PORT
Mettre à jour les instances de VM
Vous ne pouvez pas modifier les instances de VM faisant partie d'un groupe d'instances géré ou non géré. Pour mettre à jour les instances de VM vers la double pile, procédez comme suit :
- Supprimez des instances spécifiques d'un groupe.
- Créer une VM à double pile
- Créer des instances avec des noms spécifiques dans les MIG
Mettre à jour des modèles d'instances de VM
Vous ne pouvez pas mettre à jour un modèle d'instance existant. Si vous devez y apporter des modifications, vous pouvez créer un autre modèle avec des propriétés similaires. Pour mettre à jour les modèles d'instances de VM vers la double pile, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Modèles d'instances.
Accéder à la page Modèles d'instances
- Cliquez sur le modèle d'instance que vous souhaitez copier et mettre à jour.
- Cliquez sur Créer une instance similaire.
- Développez la section Options avancées.
- Pour Tags réseau, saisissez
allow-health-check-ipv6
. - Dans la section Interfaces réseau, cliquez sur Ajouter une interface réseau.
- Dans la liste Réseau, sélectionnez le réseau VPC en mode personnalisé.
- Dans la liste Sous-réseau, sélectionnez
SUBNET
. - Dans le champ Type de pile d'adresses IP, sélectionnez IPv4 et IPv6 (double pile).
- Cliquez sur Créer.
Lancement d'une mise à jour progressive de base sur le groupe d'instances géré
MIG
associé à l'équilibreur de charge.
Mettre à jour le NEG zonal
Les points de terminaison de NEG zonaux ne peuvent pas être modifiés. Vous devez supprimer les points de terminaison IPv4 et créer un point de terminaison double pile avec des adresses IPv4 et IPv6.
Pour configurer un NEG zonal (avec des points de terminaison de type GCE_VM_IP_PORT
) dans la région REGION_A
, commencez par créer les VM dans la zone GCP_NEG_ZONE
. Ajoutez ensuite les points de terminaison du réseau de VM au NEG zonal.
Créer des VM
Console
Dans la console Google Cloud, accédez à la page Instances de VM.
Cliquez sur Créer une instance.
Définissez le paramètre Nom sur
vm-a1
.Dans le champ Région, choisissez
REGION_A
, puis sélectionnez une valeur pour le champ Zone. Cette zone est désignée parGCP_NEG_ZONE
dans cette procédure.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 Sélectionner pour modifier l'image.
Développez la section Options avancées et apportez les modifications suivantes :
- Développez la section Mise en réseau.
- Dans le champ Tags réseau, saisissez
allow-health-check
. - Dans la section Interfaces réseau, apportez les modifications suivantes :
- Réseau :
NETWORK
- Sous-réseau :
SUBNET
- Type de pile d'adresses IP: IPv4 et IPv6 (double pile)
- Réseau :
- Cliquez sur OK.
Cliquez sur Gestion. Dans le champ Script de démarrage, copiez et collez le contenu de script suivant.
#! /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.
Répétez les étapes ci-dessous pour créer une deuxième VM en utilisant la combinaison de nom et de zone suivante :
- Nom :
vm-a2
, zone :GCP_NEG_ZONE
- Nom :
gcloud
Créez les VM en exécutant la commande suivante deux fois, en utilisant ces combinaisons pour le nom de la VM et sa zone. Le contenu du script est identique pour les deux VM.
VM_NAME
devm-a1
et la zoneGCP_NEG_ZONE
de votre choix.VM_NAME
devm-a2
et la même zoneGCP_NEG_ZONE
.gcloud compute instances create VM_NAME \ --zone=GCP_NEG_ZONE \ --stack-type=IPV4_IPV6 \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-health-check \ --subnet=SUBNET \ --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'
Ajouter des points de terminaison au NEG zonal
Console
Pour ajouter des points de terminaison au NEG zonal :
Dans la console Google Cloud, accédez à la page Groupes de points de terminaison du réseau.
Accéder à la page Groupes de points de terminaison du réseau
Dans la liste Nom, cliquez sur le nom du groupe de points de terminaison du réseau (
ZONAL_NEG
). 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, sélectionnez le point de terminaison NEG créé précédemment. Cliquez sur Supprimer le point de terminaison.
Dans la section Points de terminaison du réseau de ce groupe, cliquez sur Ajouter un point de terminaison du réseau.
Sélectionnez l'instance de VM.
Dans la section Interface réseau, le nom, la zone et le sous-réseau de la VM s'affichent.
Dans le champ Adresse IPv4, saisissez l'adresse IPv4 du nouveau point de terminaison du réseau.
Dans le champ Adresse IPv6, saisissez l'adresse IPv6 du nouveau point de terminaison du réseau.
Sélectionnez le type de port.
- Si vous sélectionnez Par défaut, le point de terminaison utilise le port par défaut
80
pour tous les points de terminaison du groupe de points de terminaison du réseau. Cela est suffisant pour notre exemple, car le serveur Apache diffuse les requêtes au port80
. - Si vous sélectionnez Personnalisé, saisissez le numéro de port du point de terminaison à utiliser.
- Si vous sélectionnez Par défaut, le point de terminaison utilise le port par défaut
Pour ajouter d'autres points de terminaison, cliquez sur Ajouter un point de terminaison du réseau, puis répétez les étapes précédentes.
Après avoir ajouté tous les points de terminaison, cliquez sur Créer.
gcloud
Ajoutez des points de terminaison (points de terminaison
GCE_VM_IP_PORT
) àZONAL_NEG
.gcloud compute network-endpoint-groups update ZONAL_NEG \ --zone=GCP_NEG_ZONE \ --add-endpoint='instance=vm-a1,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,port=80' \ --add-endpoint='instance=vm-a2,ip=IPv4_ADDRESS, \ ipv6=IPv6_ADDRESS,port=80'
Remplacez les éléments suivants :
IPv4_ADDRESS
: adresse IPv4 du point de terminaison du réseau. L'adresse IPv4 doit appartenir à une VM dans Compute Engine (en tant qu'adresse IP principale ou dans le cadre d'une plage d'adresses IP avec alias).
Si l'adresse IP n'est pas spécifiée, l'adresse IP principale de l'instance de VM du réseau à laquelle appartient le groupe de points de terminaison du réseau est utilisée.
IPv6_ADDRESS
: adresse IPv6 du point de terminaison du réseau. L'adresse IPv6 doit appartenir à une instance de VM du réseau auquel appartient le groupe de points de terminaison du réseau (adresse IPv6 externe).
Créer une règle de pare-feu pour les sondes de vérification de l'état'état IPv6
Vous devez créer une règle de pare-feu pour autoriser les vérifications d'état à partir des plages d'adresses IP des systèmes de vérification Google Cloud. Pour en savoir plus, consultez la section Plages d'adresses IP de vérification.
Assurez-vous que la règle d'entrée s'applique aux instances faisant l'objet d'un équilibrage de charge et qu'elle autorise le trafic provenant des systèmes de vérification d'état Google Cloud.
Cet exemple utilise le tag cible allow-health-check-ipv6
pour identifier les instances de VM auxquelles il s'applique.
Sans cette règle de pare-feu, la règle d'entrée interdite par défaut bloque les entrées au trafic vers les instances backend.
Console
Dans la console Google Cloud, accédez à la page Règles d'administration.
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
- Réseau :
NETWORK
- Priorité :
1000
- Sens du trafic : entrée
- Cibles : Tags cibles spécifiés
- Tags cibles :
allow-health-check-ipv6
- Filtre source : Plages IPv6
Plages IPv6 sources
Pour l'équilibreur de charge d'application externe global et l'équilibreur de charge réseau proxy externe global, saisissez
2600:2d00:1:b029::/64
,2600:2d00:1:1::/64
Pour l'équilibreur de charge d'application interne interrégional, l'équilibreur de charge d'application externe régional, l'équilibreur de charge d'application interne régional, l'équilibreur de charge réseau proxy interne interrégional, l'équilibreur de charge réseau proxy externe régional et l'équilibreur de charge réseau proxy interne régional , saisissez
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
pour autoriser la communication avec le sous-réseau.Pour l'équilibreur de charge d'application externe global et l'équilibreur de charge réseau proxy externe global, utilisez la commande suivante:
gcloud compute firewall-rules create fw-allow-lb-access-ipv6 \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64,2600:2d00:1:1::/64 \ --rules=all
Pour l'équilibreur de charge d'application interne interrégional, l'équilibreur de charge d'application externe régional, l'équilibreur de charge d'application interne régional, l'équilibreur de charge réseau proxy interne interrégional, l'équilibreur de charge réseau proxy externe régional et l'équilibreur de charge réseau proxy interne régional , exécutez la commande suivante:
gcloud compute firewall-rules create fw-allow-lb-access-ipv6 \ --network=NETWORK \ --action=allow \ --direction=ingress \ --target-tags=allow-health-check-ipv6 \ --source-ranges=2600:2d00:1:b029::/64 \ --rules=all
Créer une règle de pare-feu pour le sous-réseau proxy réservé
Si vous utilisez un équilibreur de charge d'application externe régional ou un équilibreur de charge d'application interne, vous devez mettre à jour la règle de pare-feu d'entréefw-allow-lb-access-ipv6
pour autoriser le trafic provenant du sous-réseau proxy réservé vers les backends.
Pour obtenir la plage d'adresses IPv6 du sous-réseau proxy réservé, exécutez la commande suivante:
gcloud compute networks subnets describe PROXY_ONLY_SUBNET \ --region=REGION \ --format="value(internalIpv6Prefix)"
Notez la plage d'adresses IPv6 internes, qui sera désignée plus loin par IPV6_PROXY_ONLY_SUBNET_RANGE
.
Pour mettre à jour la règle de pare-feu fw-allow-lb-access-ipv6
pour le sous-réseau proxy réservé, procédez comme suit:
Console
Dans la console Google Cloud, accédez à la page Règles d'administration.
Dans le panneau Règles de pare-feu VPC, cliquez sur
fw-allow-lb-access-ipv6
.- Plages IPv4 sources :
2600:2d00:1:b029::/64
, IPV6_PROXY_ONLY_SUBNET_RANGE
- Plages IPv4 sources :
Cliquez sur Enregistrer.
gcloud
Mettez à jour la règle de pare-feu
fw-allow-lb-access-ipv6
pour autoriser la communication avec le sous-réseau proxy réservé:gcloud compute firewall-rules update fw-allow-lb-access-ipv6 \ --source-ranges=2600:2d00:1:b029::/64,IPV6_PROXY_ONLY_SUBNET_RANGE
Créer un service de backend et une règle de transfert pour IPv6
Cette section décrit la procédure à suivre pour créer un service de backend et une règle de transfert pour IPv6. Notez que la règle de transfert IPv6 ne peut être créée que pour les équilibreurs de charge d'application externes globaux. Les règles de transfert IPv6 ne sont pas compatibles avec les équilibreurs de charge d'application internes interrégionaux, les équilibreurs de charge d'application externes régionaux et les équilibreurs de charge d'application internes régionaux.
À ce stade du processus, BACKEND_SERVICE
et BACKEND_SERVICE_IPV6
sont tous deux capables de diffuser le trafic. Pour éviter toute interruption du trafic, créez un service de backend avec la règle de sélection d'adresse IP définie sur Prefer IPv6
. Après avoir créé le service de backend, vous pouvez acheminer le trafic vers le nouveau service de backend IPv6.
Console
Dans Google Cloud Console, accédez à la page Équilibrage de charge.
Cliquez sur le nom de l'équilibreur de charge.
Cliquez sur Modifier.
Configurez le service de backend :
- Cliquez sur Configuration du backend.
- Dans le champ Service de backend, sélectionnez Créer un service de backend.
- Définissez le paramètre Nom sur BACKEND_SERVICE_IPV6.
- Pour le type de backend, sélectionnez Groupe de points de terminaison du réseau zonal.
- Dans la liste Règle de sélection des adresses IP, sélectionnez Préférer IPv6.
- Dans le champ Protocole, sélectionnez HTTP.
- Dans le panneau Nouveau backend, procédez comme suit :
- Dans la liste Groupe de points de terminaison du réseau, sélectionnez ZONAL_NEG.
- Dans le champ Nombre maximal de RPS, saisissez
10
.
- Dans la liste Vérification de l'état, sélectionnez une vérification d'état HTTP.
- Cliquez sur OK.
Configurez l'interface IPv6 :
La règle de transfert avec IPv6 n'est pas compatible avec les équilibreurs de charge d'application internes interrégionaux, les équilibreurs de charge d'application externes régionaux et les équilibreurs de charge d'application internes régionaux.
- Cliquez sur Configuration de l'interface.
- Cliquez sur Ajouter une adresse IP et un port frontend.
- Dans le champ Nom, saisissez un nom pour la règle de transfert.
- Dans le champ Protocole, sélectionnez
HTTP
. - Définissez Version IP sur
IPv6
. - Cliquez sur OK.
- Cliquez sur Mettre à jour.
Configurer des règles de routage
- Cliquez sur Règles de routage.
- Cliquez sur Règle d'hôte et de chemin d'accès avancée.
- Cliquez sur Mettre à jour.
gcloud
Créez une vérification d'état :
gcloud compute health-checks create http HEALTH_CHECK \ --port 80
Créez le service de backend pour le trafic HTTP :
global
Pour l'équilibreur de charge d'application externe global, utilisez la commande suivante:
gcloud compute backend-services create BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=PREFER_IPV6 \ --health-checks=HEALTH_CHECK \ --global
interrégional
Pour l'équilibreur de charge d'application interne interrégional, utilisez la commande suivante:
gcloud compute backend-services create BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=PREFER_IPV6 \ --health-checks=HEALTH_CHECK \ --global
régional
Pour l'équilibreur de charge d'application externe régional, utilisez la commande suivante:
gcloud compute backend-services create BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=PREFER_IPV6 \ --health-checks=HEALTH_CHECK \ --region=REGION
Pour l'équilibreur de charge d'application interne régional, utilisez la commande suivante:
gcloud compute backend-services create BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=PREFER_IPV6 \ --health-checks=HEALTH_CHECK \ --region=REGION
Ajoutez les NEG zonaux à double pile en tant que backend au service de backend.
global
Pour l'équilibreur de charge d'application externe global, utilisez la commande suivante:
gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --network-endpoint-group=ZONAL_NEG \ --network-endpoint-group-zone=ZONE \ --max-rate-per-endpoint=10 \ --global
interrégional
Pour l'équilibreur de charge d'application interne interrégional, utilisez la commande suivante:
gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --network-endpoint-group=ZONAL_NEG \ --network-endpoint-group-zone=ZONE \ --max-rate-per-endpoint=10 \ --global
régional
Pour l'équilibreur de charge d'application externe régional et l'équilibreur de charge d'application interne régional, utilisez la commande suivante:
gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --network-endpoint-group=ZONAL_NEG \ --network-endpoint-group-zone=ZONE \ --max-rate-per-endpoint=10 \ --region=REGION
Ajoutez les groupes d'instances dual-stack en tant que backend au service de backend.
global
Pour l'équilibreur de charge d'application externe global, utilisez la commande suivante:
gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --instance-group=INSTANCE_GROUP \ --global
interrégional
Pour l'équilibreur de charge d'application interne interrégional, utilisez la commande suivante:
gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --instance-group=INSTANCE_GROUP \ --global
régional
Pour l'équilibreur de charge d'application externe régional et l'équilibreur de charge d'application interne régional, utilisez la commande suivante:
gcloud compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --instance-group=INSTANCE_GROUP \ --region=REGION
Pour les équilibreurs de charge d'application externes globaux uniquement Créez la règle de transfert IPv6 pour l'équilibreur de charge d'application externe global. Utilisez la commande :
gcloud compute forwarding-rules create FORWARDING_RULE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --global \ --target-http-proxy=TARGET_PROXY \ --ports=443
Acheminer le trafic vers le nouveau service de backend IPv6
Mettez à jour le mappage d'URL pour diriger une partie du trafic client vers le nouveau service de backend IPv6 BACKEND_SERVICE_IPV6
.
Utilisez la commande suivante pour modifier les mappages d'URL :
global
Pour l'équilibreur de charge d'application externe global, utilisez la commande suivante:
gcloud compute url-maps edit URL_MAP \ --global
interrégional
Pour l'équilibreur de charge d'application interne interrégional, utilisez la commande suivante:
gcloud compute url-maps edit URL_MAP \ --global
régional
Pour l'équilibreur de charge d'application externe régional et l'équilibreur de charge d'application interne régional, utilisez la commande suivante:
gcloud compute url-maps edit URL_MAP \ --region=REGION
Dans l'éditeur de texte qui s'affiche, ajoutez un
routeRule
avec une actionweightedBackendServices
qui dirige un pourcentage du trafic IPv6 versBACKEND_SERVICE_IPV6
.defaultService: global/backendServices/BACKEND_SERVICE hostRules: - hosts: - '*' pathMatcher: matcher1 name: URL_MAP pathMatchers: - defaultService: global/backendServices/BACKEND_SERVICE name: matcher1 routeRules: - matchRules: - prefixMatch: '' priority: 1 routeAction: weightedBackendServices: - backendService: global/backendServices/BACKEND_SERVICE weight: 95 - backendService: global/backendServices/BACKEND_SERVICE_IPV6 weight: 5
Pour mettre en œuvre la migration progressive vers IPv6, augmentez le pourcentage de pondération du nouveau service de backend BACKEND_SERVICE_IPV6
de manière incrémentielle à 100% en modifiant le mappage d'URL plusieurs fois.
Configurer la règle de sélection des adresses IP
Après avoir converti vos ressources et vos backends en double pile, vous pouvez utiliser la règle de sélection d'adresse IP pour spécifier le type de trafic envoyé du service de backend à vos backends.
Remplacez IP_ADDRESS_SELECTION_POLICY
par l'une des valeurs suivantes :
Règle de sélection des adresses IP | Description |
---|---|
IPv4 uniquement | N'envoyez le trafic IPv4 qu'aux backends du service de backend, quel que soit le trafic entre le client et le GFE. Seules les vérifications de l'état IPv4 sont utilisées pour vérifier l'état des backends. |
Préférer IPv6 | Privilégiez la connexion IPv6 du backend à la connexion IPv4 (à condition qu'il existe un backend opérationnel avec des adresses IPv6). Les vérifications d'état surveillent régulièrement les connexions IPv6 et IPv4 des backends. Le GFE tente d'abord de se connecter à IPv6. Si la connexion IPv6 est interrompue ou lente, le GFE utilise des visiteurs heureux pour se connecter à IPv4. Même si l'une des connexions IPv6 ou IPv4 n'est pas opérationnelle, le backend est toujours considéré comme opérationnel et le GFE peut tester les deux connexions, après quoi les visiteurs heureux choisissent celle à utiliser. |
IPv6 uniquement | N'envoyez le trafic IPv6 qu'aux backends du service de backend, quel que soit le trafic entre le client et le proxy. Seules les vérifications de l'état IPv6 sont utilisées pour vérifier l'état des backends. Il n'y a aucune validation pour vérifier si le type de trafic de backend correspond à la règle de sélection d'adresse IP. Par exemple, si vous avez des backends IPv4 uniquement et que vous sélectionnez |
Console
Dans Google Cloud Console, accédez à la page Équilibrage de charge.
Cliquez sur le nom de l'équilibreur de charge.
Cliquez sur Modifier.
Cliquez sur Configuration du backend.
Dans le champ Service de backend, sélectionnez BACKEND_SERVICE_IPV6.
Le type de backend doit être un groupe de points de terminaison du réseau zonal ou un groupe d'instances.
Dans la liste Règle de sélection d'adresse IP, sélectionnez IP_ADDRESS_SELECTION_POLICY.
Cliquez sur OK.
gcloud
Mettez à jour la règle de sélection des adresses IP pour le service de backend:
global
Pour l'équilibreur de charge d'application externe global, utilisez la commande suivante:
gcloud compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --global
interrégional
Pour l'équilibreur de charge d'application interne interrégional, utilisez la commande suivante:
gcloud compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --global
régional
Pour l'équilibreur de charge d'application externe régional, utilisez la commande suivante:
gcloud compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --region=REGION
Pour l'équilibreur de charge d'application interne régional, utilisez la commande suivante:
gcloud compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=INTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --region=REGION
Tester votre équilibreur de charge
Vous devez vérifier que toutes les ressources requises sont mises à jour vers la double pile. Après avoir mis à jour toutes les ressources, le trafic doit être automatiquement acheminé vers les backends. Vous pouvez vérifier les journaux et vérifier que la conversion est terminée.
Testez l'équilibreur de charge pour vérifier que la migration a réussi et que le trafic entrant atteint les backends comme prévu.
Rechercher les adresses IP de l'équilibreur de charge
Console
Dans Google Cloud Console, accédez à la page Équilibrage de charge.
Cliquez sur le nom de l'équilibreur de charge.
Dans la section Interface, deux adresses IP d'équilibreur de charge s'affichent. Dans cette procédure, l'adresse IPv4 est appelée IP_ADDRESS_IPV4 et l'adresse IPv6 est appelée IP_ADDRESS_IPV6.
Dans la section Backends, lorsque la règle de sélection d'adresse IP est définie sur
Prefer IPv6
, deux états de vérification d'état s'affichent pour les backends.
Envoyer du trafic vers l'équilibreur de charge
Dans cet exemple, les requêtes de la commande curl
sont distribuées de manière aléatoire sur les backends.
Pour les équilibreurs de charge externes
Répétez les commandes suivantes plusieurs fois jusqu'à ce que toutes les VM de backend répondent :
curl -m1 IP_ADDRESS_IPV4:PORT
curl -m1 IP_ADDRESS_IPV6:PORT
Par exemple, si l'adresse IPv6 est
[fd20:1db0:b882:802:0:46:0:0]:80
, la commande se présente comme suit :curl -m1 [fd20:1db0:b882:802:0:46:0:0]:80
Pour les équilibreurs de charge internes
Créez une VM cliente de test dans le même réseau VPC et dans la même région que l'équilibreur de charge. Elle ne doit pas nécessairement se trouver dans le même sous-réseau ou la même zone.
gcloud compute instances create client-vm \ --zone=ZONE \ --image-family=debian-12 \ --image-project=debian-cloud \ --tags=allow-ssh \ --subnet=SUBNET
Utilisez SSH pour vous connecter à l'instance cliente.
gcloud compute ssh client-vm \ --zone=ZONE
Répétez les commandes suivantes plusieurs fois jusqu'à ce que toutes les VM de backend répondent :
curl -m1 IP_ADDRESS_IPV4:PORT
curl -m1 IP_ADDRESS_IPV6:PORT
Par exemple, si l'adresse IPv6 est
[fd20:1db0:b882:802:0:46:0:0]:80
, la commande se présente comme suit :curl -m1 [fd20:1db0:b882:802:0:46:0:0]:80
Vérifier les journaux
Chaque entrée de journal capture les adresses IPv4 et IPv6 de destination du backend. Étant donné que nous prenons en charge la double pile, il est important d'observer l'adresse IP utilisée par le backend.
Vous pouvez vérifier que le trafic est bien dirigé vers IPv6 ou rebasculé vers IPv4 en affichant les journaux.
HttpRequest contient l'adresse backend_ip
associée au backend. En examinant les journaux et en comparant les adresses IPv4 et IPv6 de destination de backend_ip
, vous pouvez vérifier quelle adresse IP est utilisée.