Présentation de l'équilibrage de charge réseau TCP/UDP externe

L'équilibrage de charge réseau TCP/UDP externe de Google Cloud (nommé "équilibrage de charge réseau" ci-après) est un équilibreur de charge régional à stratégie directe. Un équilibreur de charge réseau distribue le trafic externe entre les instances de machines virtuelles (VM) de la même région.

Vous pouvez configurer un équilibreur de charge réseau pour le trafic TCP, UDP, ESP et ICMP. La compatibilité avec ESP et ICMP est disponible en version bêta.

Un équilibreur de charge réseau peut recevoir du trafic provenant des éléments suivants :

  • N'importe quel client sur Internet
  • VM Google Cloud avec adresses IP externes
  • VM Google Cloud ayant accès à Internet via Cloud NAT ou une NAT basée sur une instance

L'équilibrage de charge réseau présente les caractéristiques suivantes :

  • L'équilibrage de charge réseau est un service géré.
  • L'équilibrage de charge réseau est mis en œuvre à l'aide du réseau virtuel Andromeda et de Google Maglev.
  • Les équilibreurs de charge réseau ne sont pas des proxys.
    • Les paquets à équilibrage de charge sont reçus par les VM backend avec leur adresse IP source inchangée.
    • Les connexions à équilibrage de charge sont interrompues par les VM backend.
    • Les réponses provenant des VM backend vont directement aux clients. Elles ne passent pas par l'équilibreur de charge. Le terme utilisé dans le secteur est retour direct du serveur.

Le schéma suivant illustre des utilisateurs en Californie, à New York et à Singapour. Ils se connectent tous à leurs ressources backend, à savoir Myapp, Test et Travel. Lorsqu'un utilisateur situé à Singapour se connecte au backend des États-Unis, le trafic est routé vers Singapour, la région la plus proche, car la diffusion utilise la méthode anycast. De là, le trafic est acheminé vers le backend régional.

Trois backends régionaux et trois règles de transfert (cliquez pour agrandir)
Exemple d'équilibrage de charge réseau (cliquez pour agrandir)

Champ d'application

Un équilibreur de charge réseau équilibre le trafic en provenance d'Internet.

Le champ d'application d'un équilibreur de charge réseau est régional et non global. Cela signifie que l'équilibreur ne peut pas s'étendre sur plusieurs régions. Dans une même région, l'équilibreur de charge dessert toutes les zones.

Cas d'utilisation

Utilisez l'équilibrage de la charge réseau dans les cas suivants :

  • Vous devez équilibrer la charge du trafic non TCP ou la charge d'un port TCP qui n'est pas géré par les autres équilibreurs de charge.
  • Il est possible que le trafic SSL soit déchiffré par vos backends plutôt que par l'équilibreur de charge. L'équilibreur de charge réseau ne peut pas effectuer cette tâche. Lorsque les backends déchiffrent le trafic SSL, la charge processeur augmente sur les VM.
  • Vous acceptez les certificats SSL autogérés de la VM de backend. Les certificats SSL gérés par Google ne sont disponibles que pour l'équilibrage de charge HTTP(S) et l'équilibrage de charge proxy SSL.
  • Vous devez transférer les paquets d'origine sans proxy. Par exemple, si vous souhaitez que l'adresse IP source du client soit conservée.
  • Vous disposez d'une configuration existante qui utilise un équilibreur de charge pass-through et vous souhaitez la transférer sans modification.

Architecture

L'architecture d'un équilibreur de charge réseau varie selon que vous utilisez un équilibreur de charge réseau basé sur un service de backend ou basé sur un pool cible.

Équilibreur de charge réseau basé sur un service de backend

Les équilibreurs de charge réseau peuvent être créés avec un service de backend régional qui définit le comportement de l'équilibreur de charge et la façon dont il répartit le trafic vers ses groupes d'instances backend. Les services de backend permettent d'activer des fonctionnalités qui ne sont pas compatibles avec les anciens pools cibles, comme la compatibilité avec les vérifications d'état non héritées (TCP, SSL, HTTP, HTTPS ou HTTP/2), l'autoscaling avec des groupes d'instances gérés, le drainage de connexion et une règle de basculement configurable.

Les équilibreurs de charge réseau basés sur un service de backend peuvent permettre d'équilibrer la charge du trafic TCP, UDP, ESP et ICMP.

Pour plus d'informations sur l'architecture, consultez la section Équilibreur de charge réseau avec un service de backend régional.

Vous pouvez également transformer un équilibreur de charge réseau basé sur un pool cible existant pour qu'il utilise un service de backend. Pour obtenir des instructions, consultez la section Transition des équilibreurs de charge réseau des pools cibles vers les services de backend.

Équilibreur de charge réseau basé sur un pool cible

Le pool cible est l'ancien backend compatible avec les équilibreurs de charge réseau de Google Cloud. Un pool cible définit un groupe d'instances qui doivent recevoir le trafic entrant de l'équilibreur de charge.

Les équilibreurs de charge réseau basés sur un pool cible acceptent le trafic TCP ou UDP.

Pour en savoir plus, consultez la section Équilibreur de charge réseau avec un backend de pool cible.

Comparer l'équilibrage de charge réseau à d'autres équilibreurs de charge Google Cloud

Pour en savoir plus sur les différences entre les équilibreurs de charge Google Cloud, consultez les documents suivants :