Partager via


Options d’équilibrage de charge

Gestion des API Azure
Équilibrage de charge Azure
Azure Front Door
Application Gateway Azure
Azure Traffic Manager

Le terme équilibrage de charge fait référence à la distribution du traitement sur plusieurs ressources informatiques. Vous équilibrez la charge pour optimiser l’utilisation des ressources, optimiser le débit, réduire le temps de réponse et éviter de surcharger une seule ressource. L’équilibrage de charge peut également améliorer la disponibilité en partageant une charge de travail entre les ressources informatiques redondantes.

Azure propose plusieurs services d’équilibrage de charge dont vous pouvez vous servir pour répartir vos charges de travail entre plusieurs ressources informatiques. Ces services incluent gestion des API Azure, Azure Application Gateway, Azure Front Door, Azure Load Balancer et Azure Traffic Manager.

Cet article décrit les considérations à prendre en compte pour vous aider à déterminer une solution d’équilibrage de charge appropriée pour les besoins de votre charge de travail.

Catégorisations de service

Les services d’équilibrage de charge Azure peuvent être classés selon deux catégories : le global par rapport au régional, et le HTTP(S) par rapport au non-HTTP(S).

Global ou régional

  • Global: Ces services d’équilibrage de charge distribuent le trafic entre les back-ends régionaux, les clouds ou les services locaux hybrides. Ces services fournissent un plan de contrôle unique qui route le trafic de l’utilisateur final vers les back-ends disponibles globalement. Ils réagissent aux modifications apportées à la fiabilité ou aux performances du service pour optimiser la disponibilité et les performances. Vous pouvez les considérer comme des systèmes qui équilibrent la charge entre les tampons d’application, les points de terminaison ou les unités d’échelle hébergées dans différentes régions ou zones géographiques.
  • Régional: Ces services d’équilibrage de charge distribuent le trafic au sein de réseaux virtuels entre les machines virtuelles ou les points de terminaison de service zonaux et redondants interzones au sein d’une région. Vous pouvez les considérer comme des systèmes qui équilibrent la charge entre les machines virtuelles, les conteneurs ou les clusters dans une région d’un réseau virtuel.

HTTP(S) ou non-HTTP(S)

  • HTTP(S) : Ces services d’équilibrage de charge sont des équilibreurs de charge de couche 7 qui acceptent uniquement le trafic HTTP(S). Ils sont conçus pour les applications web ou d’autres points de terminaison HTTP(S). Elles incluent des fonctionnalités telles que le déchargement SSL, le pare-feu d’applications web, l’équilibrage de charge basé sur les chemins et l’affinité de session.
  • Non-HTTP(S) : Ces services d’équilibrage de charge sont des services TCP ou UDP de couche 4 ou d’équilibrage de charge DNS.

Le tableau suivant récapitule les services d’équilibrage de charge Azure.

Service Global/régional Trafic recommandé
Gestion des API Azure Régional ou global API HTTP(S)
Azure Application Gateway Zones géographiques HTTP(S)
Azure Front Door - Service de passerelle réseau de Microsoft Mondial HTTP(S)
Azure Load Balancer (répartiteur de charge Azure) Régional ou global Non-HTTP(S)
Azure Traffic Manager Mondial Non-HTTP(S)

Remarque

Azure Traffic Manager et Azure Load Balancer peuvent distribuer n’importe quel type de trafic, y compris HTTP(S). Toutefois, ces services ne fournissent pas de fonctionnalités de couche 7. Contrairement à Azure Load Balancer, Azure Traffic Manager ne gère pas directement le trafic. Traffic Manager utilise DNS pour diriger les clients vers les points de terminaison appropriés.

Services d’équilibrage de charge Azure

Voici les principaux services d’équilibrage de charge actuellement disponibles dans Azure :

  • Gestion des API est un service managé qui vous permet de publier, sécuriser, transformer, gérer et surveiller les API HTTP(S). Il fournit une passerelle pour vos API et peut équilibrer la charge du trafic entre les nœuds dans un pool principal à charge désigné. Vous pouvez choisir parmi trois méthodes d’équilibrage de charge différentes : tourniquet, pondération et priorité.

  • Application Gateway fournit un contrôleur de distribution d’applications en tant que service, offrant diverses capacités d’équilibrage de charge de niveau 7 et des fonctionnalités de pare-feu d’applications web. Utilisez Application Gateway pour passer du trafic de l’espace réseau public à vos serveurs web hébergés dans un espace réseau privé dans une région.

  • Front Door est un réseau de distribution d’applications qui fournit l’équilibrage de charge global et l’accélération de site pour les applications web. Il offre des fonctionnalités de couche 7 pour votre application, telles que le déchargement SSL, le routage basé sur le chemin, le basculement rapide et la mise en cache pour améliorer les performances et la haute disponibilité.

  • Load Balancer est un service d’équilibrage de charge de couche 4 à ultra faible latence et hautes performances (en entrée et en sortie) pour tous les protocoles UDP et TCP. Il est conçu pour gérer des millions de demandes par seconde, tout en garantissant la haute disponibilité de votre solution. Load Balancer est redondant interzone, ce qui garantit une haute disponibilité dans les zones de disponibilité. Il prend en charge une topologie de déploiement régional et une topologie interrégion.

  • Traffic Manager est un équilibreur de charge du trafic DNS qui vous permet de distribuer le trafic de manière optimale aux services dans toutes les régions Azure globales, tout en offrant réactivité et haute disponibilité. Comme Traffic Manager est un service d’équilibrage de charge basé sur le DNS, il équilibre la charge uniquement au niveau du domaine. Pour cette raison, il ne peut pas basculer aussi rapidement qu’Azure Front Door, en raison de problèmes courants liés à la mise en cache DNS et aux systèmes qui ne respectent pas les valeurs de durée de vie (TTL) DNS.

Remarque

La technologie de clustering, telle qu’Azure Container Apps ou Azure Kubernetes Service, contient des constructions d’équilibrage de charge qui fonctionnent principalement dans l’étendue de leur propre limite de cluster. Ces fonctionnalités acheminent le trafic vers les instances d’application disponibles en fonction de la préparation et des sondes d’intégrité. Cet article ne couvre pas ces options d’équilibrage de charge.

Arbre de décision pour l’équilibrage de charge dans Azure

Tenez compte de facteurs tels que ceux-ci lorsque vous sélectionnez une solution d’équilibrage de charge :

  • Type de trafic : Est-ce une application HTTP(S) web ? S’agit-il d’une application publique ou privée ?
  • Global et régional : Avez-vous besoin d’équilibrer la charge des machines virtuelles ou des conteneurs au sein d’un seul réseau virtuel, ou d’équilibrer la charge des unités/déploiements d’échelle entre les régions, ou les deux ?
  • Disponibilité: Qu’est-ce que le contrat de niveau de service ?
  • Coût: Pour plus d’informations, consultez la tarification Azure. En plus du coût du service lui-même, tenez compte du coût opérationnel de la gestion d’une solution basée sur ce service.
  • Fonctionnalités et limites : Quelles sont les fonctionnalités prises en charge par chaque service et quelles sont les limites de service de chaque service ?

L’organigramme suivant vous aide à choisir une solution d’équilibrage de charge pour votre application. Il vous guide au travers d’un ensemble de critères de décisions clé pour trouver une recommandation.

Pourboire

Vous pouvez utiliser Azure Copilot dans le portail Azure pour vous guider tout au long de cette décision similaire à l’organigramme. Dans Azure Copilot, entrez Aidez-moi à choisir un équilibreur de charge. En répondant aux questions de Copilot, vous pouvez affiner vos options d’équilibrage de charge.

Chaque application a des exigences uniques qui ne sont pas capturées dans des arbres de décision simples. Traitez ce diagramme de flux ou la recommandation d’Azure Copilot comme point de départ. Effectuez ensuite une évaluation plus détaillée.

Diagramme montrant un arbre de décision pour l’équilibrage de charge dans Azure.

Lorsque votre charge de travail implique plusieurs services qui nécessitent un équilibrage de charge, évaluez chaque service individuellement. Une configuration efficace utilise souvent plusieurs types de solution d’équilibrage de charge. Vous pouvez incorporer ces solutions à différents endroits dans l’architecture de votre charge de travail, chacune servant une fonction ou un rôle unique.

Définitions

  • Application web (HTTP/HTTPS) : Cette désignation fait référence à la nécessité de prendre une décision de routage pour les données de couche 7 telles que le chemin d’URL, de prendre en charge l’inspection de la charge utile de communication (par exemple, un corps de requête HTTP) ou de gérer les fonctionnalités TLS.

  • Application accessible sur Internet : Applications accessibles publiquement depuis Internet. En guise de meilleure pratique, les propriétaires d’applications appliquent des stratégies d’accès restrictives ou protègent l’application en configurant des offres telles que le pare-feu d’applications web et la protection DDoS.

  • Global ou déployé dans plusieurs régions : Si cet équilibreur de charge doit avoir un plan de contrôle unique et hautement disponible qui achemine le trafic vers des points de terminaison publics sur votre application distribuée mondialement. Cela peut prendre en charge des topologies actives ou actives passives entre les régions.

    Remarque

    Vous pouvez utiliser un service régional, tel que Application Gateway ou Gestion des API, pour équilibrer la charge entre les back-ends couvrant plusieurs régions et le routage du contrôle via un plan de contrôle unique. Cette architecture est possible à l’aide d’une liaison privée inter-régions, d’un peering de réseaux virtuels globaux ou même d’adresses IP publiques de services dans d’autres régions.

    Ce scénario n’est pas le point principal de cette décision.

    L’utilisation d’une ressource régionale en tant que routeur pour les back-ends distribués à l’échelle mondiale introduit un point de défaillance unique régional et entraîne une latence supplémentaire, car le trafic est forcé via une région avant de passer à une autre, puis de revenir à nouveau.

  • Platform as a service (PaaS) fournit un environnement d’hébergement managé, où vous pouvez déployer votre application sans avoir à gérer les machines virtuelles ou les ressources réseau. Dans ce cas, PaaS fait référence à des services qui assurent l’équilibrage de charge intégré dans une région. Pour plus d’informations, consultez Choisir un service de calcul – Scalabilité.

  • Azure Kubernetes Service (AKS) vous permet de déployer et de gérer des applications conteneurisées. AKS fournit Kubernetes serverless, expérience d’intégration continue et de livraison continue (CI/CD), ainsi qu’une sécurité et une gouvernance de classe entreprise. Pour plus d’informations sur les ressources architecturales AKS, consultez Conception de l’architecture d’Azure Kubernetes Service.

  • Infrastructure as a service (IaaS) est une option informatique où vous approvisionnez les machines virtuelles dont vous avez besoin, ainsi que les composants réseau et de stockage associés. Les applications IaaS nécessitent un équilibrage de charge interne au sein d’un réseau virtuel avec Load Balancer.

  • Le traitement de couche application fait référence à un routage spécial au sein d’un réseau virtuel. Les exemples incluent le routage basé sur le chemin entre les machines virtuelles ou les groupes de machines virtuelles identiques. Pour plus d’informations, consultez Quand dois-je déployer une passerelle Application Gateway derrière Azure Front Door ?

  • Seules les API font référence à la nécessité d’équilibrer la charge des API HTTP(S) qui ne sont pas des applications web. Dans ce cas, vous devez envisager la gestion des API Azure pour équilibrer la charge du trafic entre les back-ends d’API qui ne sont pas déjà équilibrés par le biais d’un autre mécanisme.

  • L’accélération des performances fait référence aux fonctionnalités qui accélèrent l’accès web. Il est possible de mettre en œuvre l’accélération des performances en utilisant des réseaux de distribution de contenu (CDN) ou un point de présence (POP) optimisé en entrée pour accélérer l’intégration du client au réseau de destination. Azure Front Door prend en charge les CDN et l’accélération de trafic Anycast. Vous pouvez bénéficier des avantages des deux fonctionnalités avec ou sans Application Gateway dans l’architecture.

Considérations supplémentaires

Chaque service d’équilibrage de charge dispose également de détails de prise en charge des fonctionnalités ou d’implémentation que vous devez prendre en compte. Voici quelques exemples qui peuvent être pertinents pour votre scénario d’équilibrage de charge :

  • Prise en charge des WebSockets
  • Prise en charge des événements envoyés par le serveur
  • Prise en charge de HTTP/2 (réception et poursuite vers les nœuds principaux)
  • Support des sessions persistantes
  • Mécanisme de surveillance de l’intégrité du nœud principal
  • Expérience client ou délai entre la détection d’un nœud défaillant et son retrait de la logique d’acheminement.

Fonctionnalités de déchargement vers votre équilibreur de charge

Certaines options d’équilibrage de charge dans Azure vous permettent de décharger les fonctionnalités des nœuds principaux vers l’équilibreur de charge, car certaines implémentent le modèle de conception cloud de déchargement de passerelle . Par exemple, Application Gateway peut décharger TLS. Par conséquent, le certificat public de votre charge de travail est géré dans un emplacement plutôt que sur des nœuds principaux. La gestion des API peut être configurée pour décharger certaines préoccupations d’autorisation de base, telles que la validation des revendications dans les jetons d’accès JWT. Le déchargement des préoccupations croisées peut aider à réduire la complexité de la logique dans vos back-ends et à améliorer leurs performances.

Exemples

Le tableau suivant répertorie différents articles basés sur les services d’équilibrage de charge utilisés dans la solution.

Prestations Article Descriptif
Équilibreur de charge Équilibrer la charge des machines virtuelles entre les zones de disponibilité Équilibrez la charge des machines virtuelles dans les zones de disponibilité pour protéger vos applications et données dans l’éventualité peu probable d’une défaillance ou d’une perte d’un centre de données entier. Avec la redondance de zone, une ou plusieurs zones de disponibilité peuvent subir une défaillance sans que cela n’empêche le chemin de données de survivre du moment qu’il reste une zone intègre dans la région.
Gestionnaire du trafic Application web à niveaux multiples construite pour une haute disponibilité et une récupération d’urgence Déployez des applications multiniveaux résilientes conçues pour la haute disponibilité et la reprise d’activité après sinistre. Si la région primaire n’est plus disponible, Traffic Manager bascule vers la région secondaire.
Application Gateway + Gestion des API Architecture de zone d’atterrissage Gestion des API Azure Utilisez Application Gateway pour décharger WAF et TLS. Utilisez Gestion des API pour équilibrer la charge entre les back-ends de l’API.
Traffic Manager + Application Gateway Équilibrage de charge multirégion avec Traffic Manager et Application Gateway Découvrez comment traiter les charges de travail web et déployer des applications multiniveaux résilientes dans plusieurs régions Azure pour bénéficier d’une haute disponibilité et d’une infrastructure de reprise d’activité après sinistre robuste.

Étapes suivantes