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 plie). 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.
Avantages
La conversion de vos équilibreurs de charge en double pile présente plusieurs avantages:
Le principal avantage de IPv6 est qu'un pool d'adresses IP beaucoup plus important peut être alloué.
De nombreux clients qui utilisent déjà des équilibreurs de charge exclusivement IPv4 peuvent convertir des ressources IPv4 uniquement en ressources IPv4 et IPv6 (double pile) en tirant parti des méthodes spécifiques au cloud.
Vous pouvez configurer l'équilibreur de charge pour qu'il mette fin au trafic IPv6 entrant et transfère ce trafic par proxy via une connexion IPv4 ou IPv6 à vos backends, en fonction de vos préférences. Pour en savoir plus, consultez la page IPv6.
Limites
Vous ne pouvez pas mettre à jour le type de pile d'adresses IP du sous-réseau de IPv4 et IPv6 (double pile) à IPv4 uniquement.
Lorsque vous configurez la règle de sélection d'adresses IP sur le service de backend en tant que backends IPv6 uniquement, vous pouvez toujours configurer des backends IPv4 uniquement. Cependant, une telle configuration entraîne des backends non opérationnels, les clients obtiennent le code de réponse
503
et le trafic ne circule pas en amont. Les journaux affichentfailed_to_pick_backend
dans les messages d'échec HTTP statusDetails.Vous pouvez configurer la règle de sélection d'adresse IP du service de backend sur IPv6 uniquement, mais le type de pile d'adresses IP des backends est toujours IPv4 et IPv6 (double pile).
Seuls les backends de groupes d'instances de VM et les groupes de points de terminaison du réseau (NEG) zonaux avec des points de terminaison
GCE_VM_IP_PORT
sont compatibles avec IPv4 et IPv6 (double pile).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 ne sont pas compatibles avec les règles de transfert avec IPv6. Le trafic IPv4 entrant est transmis par proxy via une connexion IPv4 ou IPv6 aux backends à double pile.
Les équilibreurs de charge d'application classiques ne sont pas compatibles avec les backends à deux piles. L'équilibreur de charge interrompt le trafic IPv6 entrant reçu des clients IPv6 et transfère par proxy ce trafic via une connexion IPv4 à vos backends IPv4.
Avant de commencer
Vous devez déjà avoir configuré un équilibreur de charge d'application avec une pile IPv4 uniquement avec un groupe d'instances ou des backends de NEG zonaux.
Pour plus d'informations sur la configuration des équilibreurs de charge d'application externes globaux, consultez la documentation suivante:
- Configurer un équilibreur de charge d'application externe global avec des backends de groupe d'instances de VM.
- Configurer un équilibreur de charge d'application externe mondial avec des NEG zonaux
Pour plus d'informations sur la configuration des équilibreurs de charge d'application externes régionaux, consultez la documentation suivante:
- Configurer un équilibreur de charge d'application externe régional avec des backends de groupes d'instances de VM
- Configurer un équilibreur de charge d'application externe régional avec des NEG zonaux
Pour plus d'informations sur la configuration des équilibreurs de charge d'application internes interrégionaux, consultez la documentation suivante:
- Configurer un équilibreur de charge d'application interne interrégional avec des backends de groupes d'instances de VM
- Configurer un équilibreur de charge d'application interne interrégional avec des NEG zonaux
Pour plus d'informations sur la configuration des équilibreurs de charge d'application internes régionaux, consultez la documentation suivante:
- Configurer un équilibreur de charge d'application interne régional avec des backends de groupes d'instances de VM
- Configurer un équilibreur de charge d'application interne régional avec des 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 beta compute backend-services list
:gcloud beta 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 beta compute url-maps list
:gcloud beta 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 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é.
Pour activer IPv6, consultez la section Définir le type de pile d'un sous-réseau sur double pile.
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 Google Cloud Console, accédez à la page Réseaux VPC.
Cliquez sur le nom d'un réseau pour afficher la page Détails du réseau VPC.
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). Le type d'accès IPv6 est défini 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 de vérification d'état IPv6
Assurez-vous de disposer d'une règle d'entrée applicable aux instances faisant l'objet d'un équilibrage de charge et qui autorise le trafic issu des systèmes de vérification d'état Google Cloud (2600:2d00:1:b029::/64
). Cet exemple utilise le tag cible allow-health-check-ipv6
pour identifier les instances de VM auxquelles la règle 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
Ajouter une règle de pare-feu de sous-réseau proxy réservé
Si vous utilisez un équilibreur de charge basé sur Envoy, vous devez mettre à jour la règle de pare-feu d'entrée fw-allow-lb-access-ipv6
pour autoriser le trafic provenant du sous-réseau proxy réservé vers les backends.
Pour obtenir la valeur internalIpv6Prefix
à partir 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 l'adresse IPv6 interne, qui sera désignée plus loin par IPv6_PROXY
.
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
- 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,2600:2d00:1:1::/64, IPv6_PROXY \
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.
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.
La règle de transfert avec IPv6 ne peut être créée que pour les équilibreurs de charge d'application externes globaux. 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.
Console
Dans la console Google Cloud, 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 beta 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
Pour l'équilibreur de charge d'application interne interrégional, utilisez la commande suivante:
gcloud beta 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 beta 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 beta 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 des NEG zonaux en tant que backend au service de backend.
global
Pour l'équilibreur de charge d'application externe global et l'équilibreur de charge d'application interne interrégional, utilisez la commande suivante:
gcloud beta compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --network-endpoint-group=ZONAL_NEG \ --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 beta compute backend-services add-backend BACKEND_SERVICE_IPV6 \ --network-endpoint-group=ZONAL_NEG \ --max-rate-per-endpoint=10 \ --region=REGION
Réservez une adresse IPv6 externe que vos clients utiliseront pour accéder à votre équilibreur de charge.
global
Pour l'équilibreur de charge d'application externe global, utilisez la commande suivante:
gcloud compute addresses create lb-ipv6-1 \ --ip-version=IPV6 \ --network-tier=PREMIUM \ --global
Créez une règle de transfert pour le service de backend. Lorsque vous créez la règle de transfert, spécifiez l'adresse IP externe dans le sous-réseau.
global
Pour l'équilibreur de charge d'application externe global, utilisez la commande suivante:
gcloud beta compute forwarding-rules create FORWARDING_RULE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --network-tier=PREMIUM \ --address=lb-ipv6-1 \ --global \ --target-https-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 et 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
Cette étape est facultative. 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 et que vous sélectionnez |
Console
Dans la console Google Cloud, 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 le service de backend :
global
Pour l'équilibreur de charge d'application externe global, utilisez la commande suivante:
gcloud beta compute backend-services update BACKEND_SERVICE_IPV6 \ --load-balancing-scheme=EXTERNAL_MANAGED \ --protocol=HTTP \ --ip-address-selection-policy=IP_ADDRESS_SELECTION_POLICY \ --global
Pour l'équilibreur de charge d'application interne interrégional, utilisez la commande suivante:
gcloud beta 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 beta 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 beta 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 l'adresse IP externe de l'équilibreur de charge
Console
Dans la console Google Cloud, 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 vos instances
Dans cet exemple, les requêtes de la commande curl
sont distribuées de manière aléatoire sur les backends.
Répétez les commandes suivantes plusieurs fois jusqu'à ce que toutes les VM de backend répondent :
curl http://IP_ADDRESS_IPV4
curl http://IP_ADDRESS_IPV6
Par exemple, si l'adresse IPv6 est
[fd20:1db0:b882:802:0:46:0:0]:80
, la commande se présente comme suit :curl http://[fd20:1db0:b882:802:0:46:0:0]
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.