Terminaison IPv6 pour les équilibreurs de charge réseau HTTP(S) externes, proxy SSL et proxy externe :

Google Cloud accepte les clients IPv6 avec équilibreurs de charge proxy, tels que les équilibreurs de charge d'application externes globaux et les équilibreurs de charge réseau proxy externes. L'équilibreur de charge accepte les connexions IPv6 des utilisateurs et joue le rôle de proxy pour les transmettre aux backends.

Vous pouvez configurer des adresses IP externes IPv4 et IPv6 pour les équilibreurs de charge suivants :

  • équilibreur de charge d'application externe global
  • Équilibreur de charge d'application classique
  • Équilibreur de charge réseau proxy externe
Équilibrage de charge global pour les clients IPv6
Équilibrage de charge global pour les clients IPv6 (cliquez pour agrandir).

La terminaison IPv6 vous permet de gérer les requêtes IPv6 des utilisateurs en jouant le rôle de proxy pour les transmettre via IPv4 aux backends. Vous pouvez ainsi effectuer les opérations suivantes :

  • Déploiement multirégional à l'aide d'une seule adresse IPv6 Anycast. Vous n'avez besoin que d'une seule adresse IPv6 d'équilibrage de charge pour les instances d'applications exécutées dans plusieurs régions. Votre serveur DNS dispose ainsi d'un seul enregistrement AAAA. Il n'est donc pas nécessaire d'équilibrer la charge entre plusieurs adresses IPv6. La mise en cache des enregistrements AAAA par les clients n'est pas un problème, car il n'existe qu'une seule adresse à mettre en cache. Les requêtes des utilisateurs envoyées à l'adresse IPv6 sont automatiquement équilibrées en charge en fonction de la capacité disponible du backend opérationnel le plus proche.

  • Équilibrage de charge du trafic client IPv6 via HTTP, HTTPS, HTTP/2, TCP et SSL/TLS.

  • Dépassement de capacité entre régions à l'aide d'une seule adresse IPv6 d'équilibrage de charge. Si les backends d'une région manquent de ressources ou ne sont pas opérationnels, l'équilibreur de charge global redirige automatiquement les requêtes des utilisateurs vers la région la plus proche disposant de ressources disponibles. Dès que la région la plus proche dispose à nouveau de ressources disponibles, l'équilibrage de charge global rétablit la diffusion via cette région. L'équilibrage de charge global nécessite d'utiliser le niveau Premium des niveaux de service réseau.

  • Exécution de la double pile. Pour desservir les clients IPv6 et IPv4, créez deux ressources IP d'équilibrage de charge, l'une pour IPv6 et l'autre pour IPv4, puis associez-les aux mêmes instances d'applications IPv4. Les clients IPv4 et IPv6 se connectent respectivement aux adresses IPv4 et IPv6. Ces clients sont ensuite automatiquement équilibrés en charge en fonction de la capacité disponible des backends opérationnels les plus proches. Nous fournissons gratuitement des règles de transfert IPv6. Seules les règles IPv4 vous sont facturées.

    Diriger le trafic IPv4 et IPv6 vers les mêmes backends.
    Diriger le trafic IPv4 et IPv6 vers les mêmes backends (cliquez pour agrandir).

Terminaison IPv6 et proxy

La configuration de la terminaison IPv6 des équilibreurs de charge vous permet d'afficher les backends en tant qu'applications IPv6 auprès de vos clients IPv6, comme le montre la figure suivante.

Terminaison IPv6 pour l'équilibrage de charge
Terminaison IPv6 pour l'équilibrage de charge (cliquez pour agrandir).

Voici comment se déroule le processus de connexion d'un utilisateur à l'équilibreur de charge via IPv6 :

  1. L'équilibreur de charge, avec son adresse IPv6 et sa règle de transfert, attend que les utilisateurs se connectent.
  2. Un client IPv6 se connecte à l'équilibreur de charge via IPv6.
  3. L'équilibreur de charge agit comme un proxy inverse et met fin à la connexion du client IPv6. Il place la requête dans une connexion IPv4 qu'il transmet à un backend.
  4. Dans le sens inverse, l'équilibreur de charge reçoit la réponse IPv4 du backend, puis la place dans la connexion IPv6 qu'il transmet au client d'origine.

Allocation d'adresses IPv6 pour les règles de transfert de l'équilibreur de charge

Lorsque vous configurez un équilibreur de charge externe, vous lui fournissez une ou plusieurs règles de transfert globales, chacune disposant d'une adresse IP externe publique IPv4 ou IPv6 (ou les deux). Vous pouvez vous servir de cette adresse IP dans les enregistrements DNS de votre site.

Lorsque vous créez une règle de transfert, vous pouvez soit réserver une adresse IP statique pour votre projet, soit acquérir automatiquement une adresse IP éphémère lors de la création de la règle. Une adresse IP statique est réservée pour votre projet. Vous pouvez la conserver jusqu'à ce que vous la libériez volontairement. L'adresse éphémère est associée à la règle de transfert jusqu'à ce que vous supprimiez cette dernière. Si vous supprimez la règle de transfert, l'adresse éphémère est libérée et réintègre le pool Google Cloud.

Si vous avez besoin d'adresses IPv4 et IPv6 pour votre équilibreur de charge, vous pouvez créer deux règles de transfert, l'une associée à l'adresse IPv4 et l'autre à l'adresse IPv6. Vous pouvez ensuite associer les deux règles au même équilibreur de charge.

Format d'adresse IPv6

Google Cloud alloue une plage d'adresses IPv6 /64 aux règles de transfert IPv6. Google Cloud CLI répertorie les adresses IPv6 avec les 64 bits les moins significatifs définis sur 0. Cependant, l'équilibreur de charge accepte le trafic sur toute la plage. D'autres adresses IPv6 de l'équilibreur de charge peuvent donc s'afficher dans la plage allouée des en-têtes X-Forwarded-For en fonction de l'adresse IP de serveur IPv6 à laquelle le client est connecté.

Lors du formatage des adresses IPv6, Google Cloud suit les recommandations de la section 4 de la norme RFC 5952.

En-tête de l'adresse IP du client avec la terminaison IPv6 pour les équilibreurs de charge d'application externes

Lorsque l'équilibreur de charge joue le rôle de proxy pour "convertir" la connexion IPv6 du client en une connexion IPv4 vers votre backend, l'adresse IP source d'origine est remplacée par l'adresse IP de l'équilibreur de charge. Néanmoins, les backends doivent souvent connaître l'adresse IP source d'origine pour la journalisation, la prise de décision ou à d'autres fins. Google Cloud fournit un en-tête HTTP qui est propagé aux backends et qui inclut l'adresse IP du client IPv6 d'origine.

Les en-têtes HTTP pour IPv6 sont semblables à ceux pour IPv4. Les requêtes sont au format suivant :

  • X-Forwarded-For: CLIENT_IP_ADDRESS, GLOBAL_FORWARDING_RULE_EXTERNAL_IP_ADDRESSES

Le dernier élément correspond à l'adresse IP de l'équilibreur de charge. L'avant-dernier élément indique l'adresse IP du client telle qu'elle est perçue par l'équilibreur de charge. Vous pouvez inclure d'autres éléments dans l'en-tête X-Forwarded-For lorsque le client ou les proxys intermédiaires ajoutent d'autres en-têtes X-Forwarded-For avant d'envoyer la requête à l'équilibreur de charge.

Voici un exemple d'en-tête X-Forwarded-For :

X-Forwarded-For: 2001:db8:abcd:1::1234, 2607:f8b0:4005:801::200e

2001:db8:abcd:1::1234 correspond à l'adresse IPv6 du client. 2607:f8b0:4005:801::200e correspond à l'adresse IPv6 de l'équilibreur de charge d'application externe.

Tarifs

Les règles de transfert de la terminaison IPv6 sont fournies gratuitement. Les adresses IPv6 éphémères ne vous sont pas facturées. Les adresses IPv6 réservées sont facturées aux tarifs existants, qu'elles soient utilisées ou non. Les autres éléments de tarification pour l'équilibrage de charge IPv6 sont identiques à ceux de l'équilibrage de charge IPv4. Pour en savoir plus sur la tarification de l'équilibrage de charge, consultez la page Tarifs du réseau.

Limites

  • Le trafic IPv6 n'est pas compatible avec les équilibreurs de charge d'application externes régionaux, les équilibreurs de charge d'application internes interrégionaux, les équilibreurs de charge d'application internes régionaux, les équilibreurs de charge réseau proxy internes régionaux, les équilibreurs de charge réseau proxy internes interrégionaux, les équilibreurs de charge réseau proxy externes régionaux et les équilibreurs de charge réseau passthrough internes.

Étapes suivantes