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

Avec Cloud Load Balancing, vous pouvez diffuser du contenu aussi près que possible de vos utilisateurs, sur un système capable de répondre à plus d'un million de requêtes par seconde.

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 unique servant d'interface
  • Autoscaling intelligent automatique de vos backends
  • Équilibrage de charge externe lorsque vos utilisateurs accèdent à vos applications depuis Internet
  • Équilibrage de charge interne lorsque vos clients se trouvent dans Google Cloud
  • Équilibrage de charge régional pour quand vos applications sont disponibles dans une seule région
  • Équilibrage de charge global pour quand vos applications sont disponibles dans le monde entier
  • Équilibrage de charge direct (voir aussi retour direct du serveur (DSR) ou routage direct)
  • Équilibrage de charge basé sur un proxy (au lieu de la stratégie directe)
  • É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
  • Équilibrage de charge basé sur la couche 7 pour ajouter des décisions de routage basées sur le contenu se fondant sur des attributs tels que l'en-tête HTTP et l'identifiant de ressource uniforme
  • Intégration avec Cloud CDN pour la diffusion de contenu mis en cache

Pour obtenir une liste plus complète des fonctionnalités, consultez la section Fonctionnalités de l'équilibreur de charges.

Types d'équilibrage de charge Cloud Load Balancing

Le tableau suivant récapitule les caractéristiques de chaque équilibreur de charge Google Cloud, y compris si l'équilibreur de charge utilise une adresse IP interne ou externe, si l'équilibreur de charge est régional ou mondial, les niveaux de service réseau compatibles et les types de trafic.

Interne ou externe Régional ou mondial Niveaux de réseau compatibles Proxy ou direct Type de trafic Type d'équilibreur de charge
Interne Régional Premium uniquement Direct TCP ou UDP TCP/UDP interne
Disques Premium uniquement Proxy HTTP ou HTTPS HTTP(S) interne
Externe Régional Premium ou Standard Direct TCP, UDP, ESP ou ICMP (version bêta) Réseau TCP/UDP externe
Mondial au niveau Premium

Régional dans les faits1 au niveau Standard
Premium ou Standard Proxy TCP Proxy TCP
Premium ou Standard Proxy SSL Proxy SSL
Premium ou Standard Proxy HTTP ou HTTPS HTTP(S) externe
1Régional dans les faits signifie que, même si le service de backend est mondial, si vous choisissez le niveau Standard, la règle de transfert externe et l'adresse IP externe doivent être régionales, et les groupes d'instances backend ou groupes de points de terminaison du réseau (NEG) attachés au service de backend global doivent se trouver dans la même région que la règle de transfert et l'adresse IP. Pour en savoir plus, consultez la section Configurer le niveau Standard pour l'équilibrage de charge HTTP(S) et TCP/SSL via proxy

Équilibrage de charge global ou régional

Utilisez l'équilibrage de charge mondial lorsque vos backends sont répartis sur plusieurs régions, que les utilisateurs doivent accéder aux mêmes applications et contenus, et que vous souhaitez fournir l'accès en utilisant une seule adresse IP Anycast. L'équilibrage de charge mondial peut également fournir une terminaison IPv6.

Utilisez l'équilibrage de charge régional lorsque vos backends se trouvent dans une seule région et que vous n'avez besoin que d'une terminaison IPv4.

Équilibrage de charge externe ou interne

Les équilibreurs de charge de Google Cloud peuvent être divisés en équilibreurs de charge externes et internes :

  • Les équilibreurs de charge externes distribuent le trafic provenant d'Internet sur votre réseau cloud privé virtuel (VPC) Google Cloud. L'équilibrage de charge global nécessite d'utiliser le niveau Premium des niveaux de service réseau. Pour l'équilibrage de charge régional, vous pouvez utiliser le niveau Standard.

  • Les équilibreurs de charge internes distribuent le trafic vers les instances de Google Cloud.

Types d'équilibrage de charge externe et interne (cliquez pour agrandir)
Types d'équilibrage de charge externe et interne (cliquez pour agrandir)

Le schéma suivant illustre un cas d'utilisation courant : comment utiliser conjointement l'équilibrage de charge externe et interne. Dans l'illustration, le trafic est distribué comme suit :

  1. Le trafic des utilisateurs de San Francisco, de l'Iowa et de Singapour est dirigé vers un équilibreur de charge externe (1.1.1.1).
  2. L'équilibreur de charge externe répartit ce trafic dans différentes régions d'un réseau Google Cloud.
  3. Une fois que le trafic se trouve dans Google Cloud, deux équilibreurs de charge internes (10.10.10.10) et (10.20.1.1) répartissent le trafic dans leur région respective: us-central1 et asia-east1.
  4. Dans la région us-central1, l'équilibreur de charge interne (10.10.10.10) répartit le trafic entre deux zones : us-central1-a et us-central1-b.
  5. Dans la région asia-east1, l'équilibreur de charge interne (10.20.1.1) répartit le trafic au sein d'une seule zone: asia-east1-a.
Fonctionnement conjoint de l'équilibrage de charge externe et interne (cliquez pour agrandir)
Fonctionnement conjoint de l'équilibrage de charge externe et interne (cliquez pour agrandir)

Type de trafic

Le type de trafic que votre équilibreur de charge doit gérer est un autre facteur qui détermine l'équilibreur de charge à utiliser :

  • Pour le trafic HTTP et HTTPS, vous pouvez utiliser :
    • Équilibrage de charge HTTP(S) externe
    • Équilibrage de charge HTTP(S) interne
  • Pour le trafic TCP, vous pouvez utiliser :
    • Équilibrage de charge proxy TCP
    • L'équilibrage de charge au niveau du réseau
    • Équilibrage de charge TCP/UDP interne
  • Pour le trafic UDP, vous pouvez utiliser :
    • Équilibrage de charge au niveau du réseau
    • Équilibrage de charge TCP/UDP interne
  • Pour le trafic ESP ou ICMP, vous pouvez utiliser :

Région et réseau du backend

Le tableau suivant récapitule les backends acceptés, résidant dans différents réseaux VPC. Le tableau fournit également des informations sur la compatibilité de l'équilibrage de charge sur plusieurs cartes d'interface réseau.

Type d'équilibreur de charge Région et réseau du backend Remarques sur les cartes d'interface réseau multiples
Équilibrage de charge TCP/UDP interne Tous les backends doivent se trouver sur le même réseau VPC et dans la même région que le service de backend. Le service de backend doit également se trouver dans la même région et sur le même réseau VPC que la règle de transfert. En utilisant plusieurs équilibreurs de charge, il peut équilibrer la charge sur plusieurs cartes d'interface réseau sur le même backend.
Équilibrage de charge HTTP(S) interne Tous les backends doivent se trouver sur le même réseau VPC et dans la même région que le service de backend. Le service de backend doit également se trouver dans la même région et sur le même réseau VPC que la règle de transfert. La VM de backend nic0 doit se trouver dans le même réseau et la même région que la règle de transfert.
Équilibrage de charge HTTP(S), équilibrage de charge proxy SSL, équilibrage de charge proxy TCP Dans le niveau Premium : les backends peuvent se trouver dans n'importe quelle région et n'importe quel réseau VPC.

Dans le niveau standard : les backends doivent se trouver dans la même région que la règle de transfert, mais peuvent se trouver dans n'importe quel réseau VPC.
L'équilibreur de charge envoie uniquement le trafic à la première interface réseau nic0, quel que soit le réseau VPC dans lequel se trouve nic0.

Règles de pare-feu

Le tableau suivant récapitule les règles de pare-feu minimales requises pour l'accès à l'équilibreur de charge.

Type d'équilibreur de charge Règles de pare-feu autorisant les entrées minimales requises Aperçu Exemple
Équilibrage de charge HTTP(S) externe
  • Plages de vérification d'état
Présentation Exemple
Équilibrage de charge HTTP(S) interne
  • Plages de vérification d'état
  • Sous-réseau proxy réservé
Présentation Exemple
Équilibrage de charge TCP/UDP interne
  • Plages de vérification d'état
  • Adresses IP sources internes des clients
Présentation Exemple
Équilibrage de charge proxy SSL
  • Plages de vérification d'état
Présentation Exemple
Équilibrage de charge proxy TCP
  • Plages de vérification d'état
Présentation Exemple
Équilibrage de charge au niveau du réseau
  • Plages de vérification d'état
  • Adresses IP sources externes des clients sur Internet
    (par exemple, 0.0.0.0/0 ou un ensemble spécifique de plages)
Présentation Exemple

Protections contre les attaques DDoS pour les équilibreurs de charge externes

Google Cloud fournit différentes protections DDos en fonction du type d'équilibreur de charge.

Équilibreurs de charge externes basés sur un proxy

Tous les équilibreurs de charge Google Cloud externes basés sur un proxy héritent automatiquement de la protection contre les attaques DDoS fournie par les Google Front Ends (GFE), qui font partie de l'infrastructure de production de Google.

En plus de la protection automatique contre les attaques DDoS fournie par les GFE, vous pouvez configurer Google Cloud Armor pour les équilibreurs de charge HTTP(S) externes.

Équilibreurs de charge externes directs

Le seul équilibreur de charge externe direct est l'équilibreur de charge réseau. Ces équilibreurs de charge sont mis en œuvre à l'aide de l'infrastructure de routage de Google utilisée dans le cadre des adresses IP externes pour les VM Compute Engine. Pour le trafic entrant vers un équilibreur de charge réseau, Google Cloud restreint les paquets entrants par VM.

Pour en savoir plus, consultez la section Entrée vers une adresse IP externe de destination.

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.

Types d'équilibrage de charge externe et interne, et technologie sous-jacente (cliquez pour agrandir)
Types d'équilibrage de charge externe et interne, et technologie sous-jacente (cliquez pour agrandir)
  • 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.

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

É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