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 sans proxy. 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 sans que leur adresse IP soit modifiée.
    • Les connexions à équilibrage de charge sont interrompues par les VM de 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ée 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 préservé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 un équilibreur de charge réseau basé sur un pool cible.

  • Équilibreur de charge réseau basé sur un service de backend Vous pouvez créer des équilibreurs de charge réseau à l'aide d'un service de backend régional qui définit le comportement de l'équilibreur de charge et 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, telles que la compatibilité avec les vérifications d'état non héritées (TCP, SSL, HTTP, HTTPS ou HTTP/2), l'autoscaling avec instance gérée. groupes, drainage de connexion et stratégie de basculement configurable. le

    Cette option est disponible dans Aperçu.

  • Équilibreur de charge réseau basé sur un pool cible Auparavant, la seule option pour un équilibreur de charge réseau était l'équilibreur de charge réseau basé sur le pool cible. Un 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. Cette option est généralement compatible.

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 :