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. Cloud Load Balancing de Google est développé sur des technologies fiables et très performantes, telles que Maglev, Andromeda, Google Front End et Envoy, qui sont les mêmes que les technologies des produits Google.

Cloud Load Balancing propose un portefeuille complet d'équilibreurs de charge réseau et d'application. Utilisez nos équilibreurs de charge proxy mondiaux pour répartir des millions de requêtes par seconde entre les backends de plusieurs régions avec notre parc Google Front End, dans plus de 80 emplacements distincts à travers le monde, le tout avec une seule adresse IP Anycast. Mettez en œuvre un contrôle juridictionnel renforcé avec nos équilibreurs de charge proxy régionaux, en maintenant vos backends et vos proxys dans la région de votre choix sans vous soucier du déchargement TLS/SSL. Utilisez nos équilibreurs de charge à stratégie directe pour acheminer rapidement plusieurs protocoles vers des backends avec les hautes performances de DSR (retour serveur direct).

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

Cloud Load Balancing propose les fonctionnalités d'équilibreur 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.

  • 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 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 d'équilibrage de charge. Vous pouvez également oublier les problèmes de haute disponibilité, d'évolutivité et de gestion liés à l'équilibrage de charge basé sur les instances.

  • É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 tels que TCP, UDP, ESP, GRE, ICMP et ICMPv6. 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. Vous pouvez utiliser l'équilibrage de charge interne lorsque vos clients se trouvent dans Google Cloud.

  • Équilibrage de charge global et régional. Vous pouvez distribuer 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 propose des fonctionnalités telles que l'équilibrage de charge IPv6, l'orientation du trafic basée sur l'adresse IP source, l'équilibrage de charge pondéré, les WebSockets, les en-têtes de requêtes définis par l'utilisateur et le transfert de protocole pour les adresses IP virtuelles privées (VIP).

    Il comprend également les intégrations suivantes :

    • Intégration avec Cloud CDN pour la diffusion de contenu mis en cache. Cloud CDN est compatible avec l'équilibreur de charge d'application externe global et l'équilibreur de charge d'application classique.
    • 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. La protection DDoS permanente est disponible pour l'équilibreur de charge d'application externe global, l'équilibreur de charge d'application classique, l'équilibreur de charge réseau proxy externe et l'équilibreur de charge réseau externe à stratégie directe. De plus, Google Cloud Armor n'est compatible avec la protection avancée contre les attaques DDoS que pour les équilibreurs de charge réseau externes à stratégie directe. Pour en savoir plus, consultez la page Configurer la protection DDoS avancée du réseau.

Types d'équilibreurs de charge

Cloud Load Balancing propose deux types d'équilibreurs de charge : les équilibreurs de charge d'application et les équilibreurs de charge réseau. Vous devez choisir un équilibreur de charge d'application lorsque vous avez besoin d'un équilibreur de charge de couche 7 pour vos applications avec du trafic HTTP(S). Vous devez choisir un équilibreur de charge réseau lorsque vous avez besoin d'un équilibreur de charge de couche 4 compatible avec le déchargement TLS (avec un équilibreur de charge proxy) ou lorsque vous avez besoin de protocoles IP tels que UDP, ESP et ICMP. (avec un équilibreur de charge à stratégie directe).

Équilibreurs de charge d'application

Les équilibreurs de charge d'application sont des équilibreurs de charge basés sur un proxy de couche 7 qui vous permettent d'exécuter et de faire évoluer vos services derrière une adresse IP anycast. L'équilibreur de charge d'application répartit le trafic HTTP et HTTPS entre les backends hébergés sur diverses plates-formes Google Cloud, telles que Compute Engine et Google Kubernetes Engine (GKE), ainsi que les backends en dehors de Google Cloud

Les équilibreurs de charge d'application peuvent être déployés en externe ou en interne, selon que votre application est Web ou interne :

  • Les équilibreurs de charge d'application externes sont mises en œuvre en tant que services gérés sur Google Front End (GFE) ou Proxys Envoy. Les clients peuvent se connecter à ces équilibreurs de charge depuis n'importe où sur Internet. Veuillez noter les points suivants :

    • Ces équilibreurs de charge peuvent être déployés dans les modes suivants : global, régional ou classique.
      • Les équilibreurs de charge d'application externes globaux sont compatibles avec les backends dans plusieurs régions.
      • Les équilibreurs de charge d'application externes régionaux n'acceptent que les backends d'une seule région.
      • Les équilibreurs de charge d'application classiques sont globaux au niveau Premium, mais peuvent être configurés pour être régionaux dans les faits au niveau Standard.
    • Les équilibreurs de charge d'application utilisent le proxy Envoy Open Source pour activer les fonctionnalités avancées de gestion du trafic.
  • Les équilibreurs de charge d'application internes sont basés sur la pile de virtualisation de réseau Andromeda et le proxy Envoy Open Source. Cet équilibreur de charge fournit un équilibrage de charge par proxy interne des données d'application de couche 7. L'équilibreur de charge utilise une adresse IP interne accessible uniquement aux clients situés dans le même réseau VPC ou aux clients connectés à votre réseau VPC. Veuillez noter les points suivants :

    • Ces équilibreurs de charge peuvent être déployés dans les modes suivants : régional ou interrégional.
    • Les équilibreurs de charge d'application internes régionaux n'acceptent les backends que d'une seule région.
    • Les équilibreurs de charge d'application internes interrégionaux sont compatibles avec les backends de plusieurs régions et sont toujours accessibles dans le monde entier. Les clients de n'importe quelle région Google Cloud peuvent envoyer du trafic vers l'équilibreur de charge.

Le schéma suivant montre un exemple d'architecture de l'équilibreur de charge d'application.

Architecture de l'équilibreur de charge d'application.
Architecture de l'équilibreur de charge d'application (cliquez pour agrandir).

Équilibreurs de charge réseau

Les équilibreurs de charge réseau sont des équilibreurs de charge de couche 4 capables de gérer le trafic TCP, UDP ou autre protocole IP. Ces équilibreurs de charge sont disponibles en tant qu'équilibreurs de charge proxy ou directs. Vous pouvez choisir un équilibreur de charge en fonction des besoins de votre application et du type de trafic qu'il doit gérer. Choisissez un équilibreur de charge réseau proxy si vous souhaitez configurer un équilibreur de charge proxy inverse compatible avec les contrôles de trafic avancés et les backends sur site et dans d'autres environnements cloud. Choisissez un équilibreur de charge réseau à stratégie directe si vous souhaitez conserver l'adresse IP source des paquets client, vous préférez le retour direct du serveur pour les réponses ou vous souhaitez gérer divers protocoles IP tels que TCP, UDP, ESP, GRE, ICMP et ICMPv6.

Équilibreurs de charge réseau proxy

Les équilibreurs de charge réseau proxy sont des équilibreurs de charge proxy inverse de couche 4 qui distribuent le trafic TCP aux instances de machines virtuelles (VM) de votre réseau VPC Google Cloud. Le trafic est interrompu au niveau de la couche d'équilibrage de charge, puis transmis au backend disponible le plus proche à l'aide du protocole TCP. Ces équilibreurs de charge sont mis en œuvre en tant que services gérés sur les GFE.

Les équilibreurs de charge réseau proxy peuvent être déployés en externe ou en interne, selon que votre application est Web ou interne :

  • Les équilibreurs de charge réseau proxy externes sont des équilibreurs de charge de couche 4 qui distribuent le trafic provenant d'Internet aux backends de votre réseau VPC Google Cloud, sur site ou dans d'autres environnements cloud.

    Ces équilibreurs de charge peuvent être déployés dans les modes suivants : global, régional ou classique.

    • Les équilibreurs de charge réseau proxy externes globaux sont compatibles avec les backends de plusieurs régions.
    • Les équilibreurs de charge réseau proxy externes régionaux sont compatibles avec les backends d'une seule région.
    • Les équilibreurs de charge réseau proxy classiques sont globaux au niveau Premium, mais peuvent être configurés pour être régionaux dans les faits au niveau Standard.
  • Les équilibreurs de charge réseau internes proxy sont des équilibreurs de charge régionaux de couche 4 basés sur un proxy Envoy qui vous permettent d'exécuter et d'effectuer le scaling de votre trafic de service TCP derrière une adresse IP interne accessible uniquement aux clients du même réseau VPC ou aux clients connectés à votre réseau VPC.

    Ces équilibreurs de charge peuvent être déployés dans l'un des modes suivants : régional ou interrégional.

    • Les équilibreurs de charge réseau proxy internes régionaux n'acceptent les backends que d'une seule région.
    • Les équilibreurs de charge réseau proxy internes interrégionaux sont compatibles avec les backends de plusieurs régions et sont toujours accessibles dans le monde entier. Les clients de n'importe quelle région Google Cloud peuvent envoyer du trafic vers l'équilibreur de charge.

Le schéma suivant montre un exemple d'architecture d'équilibreur de charge réseau proxy.

Architecture de l'équilibreur de charge réseau proxy
Architecture de l'équilibreur de charge réseau proxy (cliquez pour agrandir)

Équilibreurs de charge réseau à stratégie directe

Les équilibreurs de charge réseau à stratégie directe sont des équilibreurs de charge à stratégie directe régionaux de couche 4. Ces équilibreurs de charge répartissent le trafic entre les backends de la même région que l'équilibreur de charge. Ils sont mis en œuvre à l'aide de la mise en réseau virtuelle Andromeda et de Google Maglev.

Comme leur nom l'indique, ces équilibreurs de charge 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 au niveau des backends. 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.

Ces équilibreurs de charge sont déployés dans deux modes, selon qu'ils sont Web ou internes :

  • Les équilibreurs de charge réseau externes à stratégie directe sont basés sur Maglev. Les clients peuvent se connecter à ces équilibreurs de charge depuis n'importe où sur Internet, quels que soient leurs niveaux de service réseau. L'équilibreur de charge peut également recevoir du trafic provenant de VM Google Cloud avec des adresses IP externes ou de VM Google Cloud ayant accès à Internet via Cloud NAT ou une NAT basée sur une instance.

    Les backends des équilibreurs de charge réseau passthrough externes peuvent être déployés à l'aide d'un service de backend ou d'un pool cible. Pour les nouveaux déploiements, nous vous recommandons d'utiliser des services de backend.

  • Les équilibreurs de charge réseau internes à stratégie directe sont basés sur la pile de virtualisation de réseau Andromeda. Un équilibreur de charge réseau interne à stratégie directe vous permet d'équilibrer la charge du trafic TCP/UDP derrière une adresse IP d'équilibrage de charge interne accessible uniquement aux systèmes du même réseau VPC ou des systèmes connectés à votre réseau VPC. Cet équilibreur de charge ne peut être configuré qu'avec le niveau Premium.

Le schéma suivant montre un exemple d'architecture directe d'équilibreur de charge réseau à stratégie directe.

Architecture de l'équilibreur de charge réseau à stratégie directe
Architecture de l'équilibreur de charge réseau passthrough (cliquez pour agrandir)

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. En règle générale, il est préférable de choisir un équilibreur de charge d'application lorsque vous avez besoin d'un ensemble de fonctionnalités flexible pour vos applications avec du trafic HTTP(S). De plus, vous devez choisir un équilibreur de charge réseau lorsque vous avez besoin du déchargement TLS à grande échelle ou qu'il est compatible avec UDP, ou si vous devez exposer des adresses IP clientes à vos applications.

Vous pouvez affiner vos choix en fonction des exigences de votre application : équilibreur de charge externe (Web) ou interne, si les backends doivent être déployés à l'échelle mondiale ou régionale et si vous avez besoin du niveau de service réseau Premium ou Standard.

Le schéma suivant illustre tous les modes de déploiement disponibles pour Cloud Load Balancing. Pour en savoir plus, consultez la page Choisir un équilibreur de charge.

Choisir un équilibreur de charge
Choisir un équilibreur de charge (cliquez pour agrandir).

1 Les équilibreurs de charge d'applications externes globaux sont compatibles avec deux modes de fonctionnement: global et classique.

2 Les équilibreurs de charge réseau proxy externes globaux acceptent deux modes de fonctionnement : global et classique.

3 Les équilibreurs de charge réseau passthrough conservent les adresses IP sources du client. Les équilibreurs de charge réseau à stratégie directe acceptent également des protocoles supplémentaires tels que UDP, ESP et ICMP.

Récapitulatif des types d'équilibreurs de charge Google Cloud

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

Équilibreur de charge Mode de déploiement Type de trafic Niveau de service réseau Schéma d'équilibrage de charge
Équilibreurs de charge d'application Externe global HTTP ou HTTPS Niveau Premium EXTERNAL_MANAGED
Externe régional HTTP ou HTTPS Niveau Premium ou Standard EXTERNAL_MANAGED
Classique HTTP ou HTTPS

Global au niveau Premium

Régional au niveau Standard

EXTERNAL
Régional interne HTTP ou HTTPS Niveau Premium INTERNAL_MANAGED
Interne interrégional HTTP ou HTTPS Niveau Premium INTERNAL_MANAGED
Équilibreurs de charge réseau proxy Externe global TCP avec déchargement SSL facultatif Niveau Premium EXTERNAL_MANAGED
Externe régional TCP Niveau Premium ou Standard EXTERNAL_MANAGED
Classique TCP avec déchargement SSL facultatif

Global au niveau Premium

Régional au niveau Standard

EXTERNAL
Régional interne TCP sans déchargement SSL Niveau Premium INTERNAL_MANAGED
Interne interrégional TCP sans déchargement SSL Niveau Premium INTERNAL_MANAGED
Équilibreurs de charge réseau à stratégie directe

Externe

Toujours régional

TCP, UDP, ESP, GRE, ICMP et ICMPv6 Niveau Premium ou Standard EXTERNAL

Interne

Toujours régional

TCP, UDP, ICMP, ICMPv6, SCTP, ESP, AH et GRE Niveau Premium INTERNAL

Le schéma d'équilibrage de charge est un attribut de la règle de transfert et du service de backend d'un équilibreur de charge qui indique si l'équilibreur de charge peut être utilisé pour le trafic interne ou externe.

Le terme *_MANAGED dans le schéma d'équilibrage de charge indique que l'équilibreur de charge est mis en œuvre en tant que service géré sur des Google Front Ends (GFE) ou sur Proxy Envoy open source. Dans un schéma d'équilibrage de charge *_MANAGED, les requêtes sont acheminées vers GFE ou vers le proxy Envoy.

Interfaces

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

  • Google Cloud CLI : outil de ligne de commande inclus dans Google Cloud CLI. La documentation appelle fréquemment cet outil pour effectuer des tâches. Pour une présentation complète de l'outil, consultez le guide de gcloud CLI. 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
    
    
  • La console Google Cloud : les tâches d'équilibrage de charge peuvent être effectuées via la console Google Cloud.

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

  • Terraform : vous pouvez provisionner, mettre à jour et supprimer l'infrastructure d'équilibrage de charge Google Cloud à l'aide d'un outil d'infrastructure sous forme de code Open Source tel que Terraform.

Étapes suivantes