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

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

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, GRE, ICMP et ICMPv6.

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 de backend avec les adresses IP source et de destination de paquet, le protocole et, si celui-ci est basé sur le port, les ports source et de destination inchangés.
    • 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 représente un équilibreur de charge réseau dont l'adresse IP est 120.1.1.1. L'équilibreur de charge réseau est configuré dans la région us-central1 et ses backends sont situés dans la même région.

Les équilibreurs de charge réseau sont régionaux par défaut et ne sont compatibles qu'avec les backends situés dans la même région que leurs interfaces configurées. Toutefois, les paquets vers les équilibreurs de charge réseau peuvent toujours être envoyés depuis n'importe où sur Internet, que l'adresse IP de l'équilibreur de charge soit de niveau Premium ou Standard. Si l'adresse IP de l'équilibreur de charge est de niveau Premium, le trafic traverse le réseau backbone mondial de haute qualité de Google dans le but que les paquets pénètrent et quittent un point d'appairage périphérique de Google aussi proche que possible du client. Si l'adresse IP de l'équilibreur de charge est de niveau Standard, le trafic pénètre et quitte le réseau Google au point d'appairage le plus proche de la région Google Cloud où l'équilibreur de charge est configuré.

Dans le diagramme suivant, le trafic est acheminé depuis un utilisateur de Singapour vers l'équilibreur de charge réseau dans us-central1 (adresse IP de la règle de transfert 120.1.1.1).

Un utilisateur situé à Singapour, à proximité de asia-southeast1, accède à un équilibreur de charge réseau dans la région us-central1.
Exemple d'équilibrage de charge réseau pour un utilisateur situé à Singapour (cliquez pour agrandir)

Dans le diagramme suivant, le trafic est acheminé d'un utilisateur de l'Iowa vers l'équilibreur de charge réseau de us-central1 (adresse IP de la règle de transfert 120.1.1.1).

Un utilisateur de l'Iowa près de us-central1 accède à un équilibreur de charge réseau dans la même région us-central1.
Exemple d'équilibrage de charge réseau pour un utilisateur dans l'Iowa (cliquez pour agrandir)

Niveau d'accès

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 du proxy SSL externe.
  • 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.
  • Vous avez besoin d'une protection DDoS avancée pour votre équilibreur de charge réseau. Pour en savoir plus, consultez la page Configurer la protection DDoS avancée du réseau à l'aide de Google Cloud Armor.

Équilibrage de charge pour les applications GKE

Si vous créez des applications dans GKE, nous vous recommandons d'utiliser le contrôleur de service GKE intégré, qui déploie des équilibreurs de charge Google Cloud pour le compte des utilisateurs de GKE. Il s'agit de la même architecture que l'architecture d'équilibrage de charge autonome, sauf que son cycle de vie est entièrement automatisé et contrôlé par GKE.

Documentation GKE associée :

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 acceptent le trafic IPv4 et IPv6. Ils peuvent équilibrer le trafic TCP, UDP, ESP, GRE, ICMP et ICMPv6. Vous pouvez également utiliser l'orientation du trafic basée sur l'adresse IP source pour diriger le trafic vers des backends spécifiques.

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. Les règles de transfert des équilibreurs de charge réseau basés sur un pool cible n'acceptent que les adresses IPv4 externes.

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 :