Présentation de Cloud Load Balancing

Un équilibreur de charge répartit le trafic des utilisateurs entre plusieurs instances de vos applications. En répartissant la charge, l'équilibrage de charge réduit le risque que vos applications rencontrent des problèmes de performances.

Présentation simple de l'équilibrage de charge (cliquez pour agrandir)
Présentation simple de l'équilibrage de charge (cliquez pour agrandir)

À propos de Cloud Load Balancing

Cloud Load Balancing est un service géré, défini par logiciel et entièrement distribué. Comme il n'est pas basé sur le matériel, vous n'avez pas besoin de gérer une infrastructure physique d'équilibrage de charge.

Cloud Load Balancing est développé sur l'infrastructure de diffusion en frontend qu'utilise Google pour ses propres services. Cette infrastructure traite plus d'un million de requêtes par seconde, offrant constamment un niveau de performance élevé et une faible latence. Le trafic accède à Cloud Load Balancing via plus de 80 sites d'équilibrage de charge répartis dans le monde entier, afin d'optimiser la distance parcourue sur le réseau backbone privé et ultrarapide de Google. Avec Cloud Load Balancing, vous pouvez diffuser du contenu aussi près que possible de vos utilisateurs.

Cloud Load Balancing est un service géré, défini par logiciel et entièrement distribué. Comme il n'est pas basé sur le matériel, vous n'avez pas besoin de gérer une infrastructure physique d'équilibrage de charge.

Google Cloud propose les fonctionnalités d'équilibrage de charge suivantes :

  • Adresse IP Anycast unique. Avec Cloud Load Balancing, une seule adresse IP anycast est l'interface de toutes vos instances backend dans différentes régions du monde. Résultat : vous bénéficiez d'un équilibrage de charge interrégional avec un basculement automatique multirégional qui transfère le trafic vers les backends de basculement si vos backends principaux ne sont plus opérationnels. Cloud Load Balancing réagit instantanément aux changements liés aux utilisateurs, au trafic, au réseau, à l'état du backend et à d'autres conditions de ce type.

  • Équilibrage de charge défini par logiciel. Cloud Load Balancing est un service défini par logiciel, qui est entièrement géré et distribué pour tout votre trafic. Il ne s'agit pas d'une solution basée sur les instances ou les appareils. Par conséquent, vous n'êtes pas prisonnier d'une infrastructure physique. Vous pouvez également oublier les problèmes de disponibilité, d'évolutivité et de gestion liés à l'équilibrage de charge basé sur les instances.

  • Autoscaling fluide. Cloud Load Balancing assure l'évolutivité de vos applications à mesure que le nombre d'utilisateurs et le volume du trafic augmentent. Par exemple, il peut gérer facilement d'importants pics instantanés et imprévus en redirigeant le trafic vers d'autres régions du monde moins sollicitées. L'autoscaling ne nécessite aucun préchauffage. Vous pouvez ainsi faire évoluer votre trafic de manière fulgurante en quelques secondes.

  • Équilibrage de charge de couche 4 et de couche 7. Utilisez l'équilibrage de charge basé sur la couche 4 pour diriger le trafic en fonction des données des protocoles de couche réseau et de transport telles que TCP, UDP, ESP ou ICMP. Utilisez l'équilibrage de charge basé sur la couche 7 pour ajouter des décisions de routage des requêtes basées sur des attributs, tels que l'en-tête HTTP et l'identifiant de ressource uniforme.

  • Équilibrage de charge externe et interne. Vous pouvez utiliser l'équilibrage de charge externe lorsque vos utilisateurs accèdent à vos applications depuis Internet, et l'équilibrage de charge interne lorsque vos clients se trouvent dans Google Cloud.

  • Équilibrage de charge global et régional. Répartissez vos ressources à équilibrage de charge dans une seule ou plusieurs régions pour mettre fin aux connexions proches de vos utilisateurs et répondre à vos exigences de haute disponibilité.

  • Fonctionnalités avancées. Cloud Load Balancing est compatible avec des fonctionnalités telles que l'équilibrage de charge global IPv6, WebSockets, les en-têtes de requêtes personnalisés et le transfert de protocoles pour les VIP privés.

    Il comprend également les intégrations suivantes pour l'équilibrage de charge HTTP(S) externe :

    • Intégration avec Cloud CDN pour la diffusion de contenu mis en cache
    • Intégration avec Google Cloud Armor pour protéger votre infrastructure contre les attaques par déni de service distribué (DDoS) et d'autres attaques d'applications ciblées

Récapitulatif des équilibreurs de charge Google Cloud

Le schéma suivant récapitule les produits Cloud Load Balancing disponibles.

Présentation de Cloud Load Balancing (cliquez pour agrandir)
Présentation de Cloud Load Balancing (cliquez pour agrandir)

Le tableau suivant fournit des informations plus spécifiques sur chaque équilibreur de charge.

Type d'équilibreur de charge Type de trafic Global ou régional Niveau de service réseau Schéma d'équilibrage de charge Ports d'interface de l'équilibreur de charge Proxy ou direct
Équilibreur de charge HTTP(S) externe HTTP ou HTTPS Mondial au niveau Premium. Régional au niveau Standard. Premium ou Standard EXTERNAL HTTP sur 80 ou 8080 ; HTTPS sur 443 Proxy
Équilibreur de charge HTTP(S) externe régional (bêta) HTTP ou HTTPS Régional Standard uniquement EXTERNAL_MANAGED HTTP sur 80 ou 8080 ; HTTPS sur 443 Proxy
Équilibreur de charge HTTP(S) interne HTTP ou HTTPS Régional Premium uniquement INTERNAL_MANAGED HTTP sur 80 ou 8080 ; HTTPS sur 443 Proxy
Équilibreur de charge proxy SSL TCP avec déchargement SSL Mondial au niveau Premium. Régional au niveau Standard. Premium ou Standard EXTERNAL 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 3389, 5222, 5432, 5671, 5672, 5900, 5901, 6379, 8085, 8099, 9092, 9200 et 9300 Proxy
Équilibreur de charge proxy TCP TCP sans déchargement SSL Mondial au niveau Premium. Régional au niveau Standard. Premium ou Standard EXTERNAL 25, 43, 110, 143, 195, 443, 465, 587, 700, 993, 995, 1883, 3389, 5222, 5432, 5671, 5672, 5900, 5901, 6379, 8085, 8099, 9092, 9200 et 9300 Proxy
Équilibreur de charge réseau TCP/UDP externe TCP, UDP, ESP ou ICMP (version bêta) Régional Premium ou Standard EXTERNAL Tout Direct
Équilibreur de charge TCP/UDP interne TCP ou UDP Backends régionaux, interfaces régionales (accès mondial compatible) Premium uniquement INTERNAL Tout Direct

Choisir un équilibreur de charge

Pour déterminer le produit Cloud Load Balancing à utiliser, vous devez d'abord déterminer le type de trafic que vos équilibreurs de charge doivent gérer, et si vous avez besoin d'un équilibrage de charge global ou régional, d'un équilibrage de charge externe ou interne, et d'un équilibrage de charge proxy ou direct. Pour en savoir plus sur chacune de ces décisions, consultez la section Choisir un équilibreur de charge.

Utilisez ensuite cet arbre de décision afin de déterminer les équilibreurs de charge disponibles pour votre client, votre protocole et votre configuration réseau.

Arbre de décision pour le choix d'un équilibreur de charge (cliquez pour agrandir)
Arbre de décision pour le choix d'un équilibreur de charge (cliquez pour agrandir)

Technologie sous-jacente des équilibreurs de charge Google Cloud

Cette section fournit des informations supplémentaires sur chaque type d'équilibreur de charge Google Cloud, ainsi que des liens vers la documentation de présentation pour une meilleure compréhension.

  • Les Google Front Ends (GFE) sont des systèmes distribués définis par logiciel qui sont situés dans les points de présence Google (POP) et assurent un équilibrage de charge global conjointement avec d'autres systèmes et plans de contrôle.
  • Andromeda est la pile de virtualisation de réseau définie par logiciel de Google Cloud.
  • Maglev est un système distribué pour l'équilibrage de charge réseau.
  • Le proxy Envoy est un edge en open source et un proxy de service conçu pour les applications cloud natives.
Équilibreur de charge Technologie sous-jacente
Équilibreur de charge HTTP(S) externe GFE
Équilibreur de charge HTTP(S) externe régional Envoy, Maglev
Équilibreur de charge HTTP(S) interne Andromeda, Envoy
Équilibreur de charge réseau TCP/UDP externe Maglev
Équilibreur de charge TCP/UDP interne Andromeda
Équilibreur de charge proxy TCP GFE
Équilibreur de charge proxy SSL GFE

Équilibrage de charge HTTP(S) interne

L'équilibrage de charge HTTP(S) interne est basé sur la pile de virtualisation de réseau Andromeda et est un service géré basé sur le proxy Envoy en Open Source. Cet équilibreur de charge fournit un équilibrage de charge par proxy interne des données d'application de couche 7. Vous indiquez comment le trafic est acheminé avec les mappages d'URL. L'équilibreur de charge utilise une adresse IP interne qui sert d'interface à vos backends.

Équilibrage de charge HTTP(S) externe

L'équilibrage de charge HTTP(S) est mis en œuvre sur les GFE. Les GFE sont distribués dans le monde entier et fonctionnent conjointement grâce au réseau mondial et au plan de contrôle de Google. Au niveau Premium, les GFE offrent un équilibrage de charge multirégional, en dirigeant le trafic vers le backend opérationnel le plus proche à la capacité suffisante, et terminent le trafic HTTP(S) le plus près possible de vos utilisateurs.

L'équilibreur de charge HTTP(S) externe régional est un service géré basé sur le proxy Envoy Open Source, qui offre des fonctionnalités avancées de gestion du trafic. Il s'agit d'un équilibreur de charge HTTP(S) régional qui n'est compatible qu'avec le niveau Standard.

Équilibrage de charge TCP/UDP interne

L'équilibrage de charge TCP/UDP interne est basé sur la pile de virtualisation de réseau Andromeda. L'équilibrage de charge TCP/UDP interne vous permet d'équilibrer la charge du trafic TCP/UDP derrière une adresse IP d'équilibrage de charge interne accessible uniquement à vos instances de machine virtuelle (VM) internes. En utilisant l'équilibrage de charge TCP/UDP interne, une adresse IP d'équilibrage de charge interne est configurée pour servir d'interface à vos instances backend internes. Vous n'utilisez que des adresses IP internes pour votre service à équilibrage de charge. Dans l'ensemble, votre configuration est simplifiée.

L'équilibrage de charge TCP/UDP interne accepte les groupes d'instances gérés régionaux, ce qui vous permet d'effectuer un autoscaling sur une région afin de protéger votre service des défaillances zonales.

Équilibrage de charge réseau TCP/UDP externe

L'équilibrage de charge réseau est basé sur Maglev. Cet équilibreur de charge vous permet d'équilibrer la charge du trafic sur vos systèmes en fonction des données du protocole IP entrant, telles que l'adresse, le protocole et le port (facultatif). Il s'agit d'un système régional d'équilibrage de charge sans proxy. Autrement dit, un équilibreur de charge réseau est un équilibreur de charge à stratégie directe qui ne fournit pas de connexions proxy à partir des clients.

Les équilibreurs de charge réseau basés sur un service de backend sont compatibles avec le trafic TCP, UDP, ESP et ICMP.

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

Équilibrage de charge proxy SSL

L'équilibrage de charge proxy SSL est mis en œuvre sur les GFE distribués dans le monde entier. Si vous choisissez le niveau Premium des niveaux de service réseau, l'équilibreur de charge proxy SSL est mondial. Au niveau Premium, vous pouvez déployer des backends dans plusieurs régions, et l'équilibreur de charge dirige automatiquement le trafic utilisateur vers la région la plus proche à la capacité suffisante. Si vous choisissez le niveau Standard, un équilibreur de charge proxy SSL ne peut diriger le trafic qu'entre les backends d'une seule région.

Équilibrage de charge proxy TCP

L'équilibrage de charge proxy TCP est mis en œuvre sur les GFE distribués dans le monde entier. Si vous choisissez le niveau Premium des niveaux de service réseau, l'équilibreur de charge proxy TCP est mondial. Au niveau Premium, vous pouvez déployer des backends dans plusieurs régions, et l'équilibreur de charge dirige automatiquement le trafic utilisateur vers la région la plus proche à la capacité suffisante. Si vous choisissez le niveau Standard, un équilibreur de charge proxy TCP ne peut diriger le trafic qu'entre les backends d'une seule région.

Interfaces

Vous pouvez configurer et mettre à jour vos équilibreurs de charge via les interfaces suivantes :

  • L'outil de ligne de commande gcloud : outil de ligne de commande inclus dans le SDK Cloud. Dans la documentation sur l'équilibrage de charge HTTP(S), l'exécution de nombreuses tâches fait appel à cet outil. Pour une présentation complète de l'outil, consultez le guide de l'outil gcloud. Vous trouverez des commandes associées à l'équilibrage de charge dans la section dédiée au groupe de commandes gcloud compute.

    Vous pouvez également obtenir une assistance approfondie pour n'importe quelle commande gcloud à l'aide de l'option --help :

    gcloud compute http-health-checks create --help
    
  • Cloud Console : les tâches d'équilibrage de charge peuvent être effectuées via Cloud Console.

  • L'API REST : toutes les tâches d'équilibrage de charge peuvent être réalisées à l'aide de l'API Cloud Load Balancing. La documentation de référence de l'API décrit les ressources et les méthodes mises à votre disposition.

Étape suivante