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 TCP ou UDP entre les instances de machines virtuelles (VM) de la même région.

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)

Protocoles, schéma et champ d'application

Chaque équilibreur de charge réseau gère le trafic TCP ou UDP.

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 de nouvelles 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.

    Actuellement, GKE n'est compatible qu'avec les équilibreurs de charge réseau basés sur un pool cible. Pour tous les autres cas d'utilisation non liés à GKE, nous vous recommandons d'utiliser des équilibreurs de charge réseau basés sur le service de backend, plutôt que l'ancien équilibreur de charge réseau basé sur un pool cible.

  • É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.

    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 :