L'équilibrage de charge répartit les demandes de services entrantes entre plusieurs serveurs de façon à ce que la répartition de charge soit transparente pour les utilisateurs. L'équilibrage de charge favorise une utilisation optimale des ressources, une optimisation du débit, une réduction des temps de réponse, et permet d'éviter la surcharge.
L'équilibrage de charge NSX prend en charge deux moteurs d'équilibrage de charge. L'équilibrage de charge de couche 4 est basé sur des paquets et fournit un traitement de chemin d'accès rapide. L'équilibrage de charge de couche 7 est basé sur des sockets et prend en charge des stratégies de gestion de trafic avancées et l'atténuation DDOS pour les services principaux.
L'équilibrage de charge pour une passerelle Edge NSX Data Center for vSphere est configuré sur l'interface externe, car la charge de la passerelle Edge équilibre le trafic entrant en provenance du réseau externe. Lorsque vous configurez des serveurs virtuels pour l'équilibrage de charge, spécifiez l'une des adresses IP disponibles dont vous disposez dans votre VDC d'organisation.
Stratégies et concepts relatifs à l'équilibrage de charge
Une stratégie d'équilibrage de charge basée sur les paquets est implémentée sur la couche TCP et UDP. L'équilibrage de charge basé sur les paquets n'arrête pas la connexion et ne conserve pas la demande en mémoire tampon. Au lieu de cela, il envoie directement le paquet au serveur sélectionné après l'avoir traité. Les sessions TCP et UDP sont conservées dans l'équilibrage de charge afin que les paquets pour une seule session soient dirigés vers le même serveur. Vous pouvez sélectionner Accélération activée dans la configuration globale et la configuration du serveur virtuel pertinente pour activer l'équilibrage de charge basé sur les paquets.
Une stratégie d'équilibrage de charge basée sur des sockets est implémentée au-dessus de l'interface de socket. Deux connexions sont établies pour une demande unique, une connexion exposée au client et une connexion exposée au serveur. La connexion exposée au serveur est établie après la sélection du serveur. Pour l'implémentation basée sur des sockets HTTP, toute la demande est reçue avant l'envoi au serveur sélectionné avec la manipulation L7 facultative. Pour l'implémentation basée sur des sockets HTTPS, les informations d'authentification sont échangées sur la connexion exposée au client ou la connexion exposée au serveur. L'équilibrage de charge basé sur des sockets est le mode par défaut pour les serveurs virtuels TCP, HTTP et HTTPS.
Les concepts clés de l'équilibrage de charge NSX sont serveur virtuel, pool de serveurs, membre de pool de serveurs et moniteur de services.
- Serveur virtuel
- Résumé d'un service d'application, représenté par une combinaison unique d'adresse IP, de port, de protocole et de profil d'application tel que TCP ou UDP.
- Pool de serveurs
- Groupe de serveurs principaux.
- Membre de pool de serveurs
- Représente le serveur principal en tant que membre d'un pool.
- Moniteur de services
- Définit comment interroger l'état de santé d'un serveur principal.
- Profil d'application
- Représente la configuration TCP, UDP, de persistance et de certificat pour une application donnée.
Présentation de la configuration
Vous commencez par définir des options globales pour l'équilibrage de charge. Vous créez un pool de serveurs composé de serveurs membres principaux et associez un moniteur de services au pool pour gérer et partager les serveurs principaux de manière efficace.
Vous créez ensuite un profil d'application pour définir le comportement d'application commun dans un équilibrage de charge, tel que SSL client, SSL serveur, x-transféré-pour ou persistance. La persistance envoie les demandes suivantes avec des caractéristiques semblables de telle sorte qu'une adresse IP source ou un cookie doit être distribué au même membre de pool, sans exécuter l'algorithme d'équilibrage de charge. Le profil d'application peut être réutilisé entre serveurs virtuels.
Vous créez ensuite une règle d'application facultative pour configurer les paramètres spécifiques d'une application pour la manipulation du trafic, tels que la correspondance à une URL ou un nom d'hôte afin que différentes demandes puissent être gérées par différents pools. Ensuite, vous créez un moniteur de services propre à votre application ou vous pouvez utiliser un moniteur de services existant s'il répond à vos besoins.
Vous pouvez éventuellement créer une règle d'application pour prendre en charge les fonctionnalités avancées de serveurs virtuels de niveau 7. Certains cas d'utilisation de règles d'application incluent le changement de contenu, la manipulation d'en-tête, les règles de sécurité et la protection DOS.
Enfin, vous créez un serveur virtuel qui connecte votre pool de serveurs, le profil d'application et les règles d'application potentielles.
Lorsque le serveur virtuel reçoit une demande, l'algorithme d'équilibrage de charge tient compte de la configuration du membre du pool et de l'état d'exécution. L'algorithme calcule ensuite le pool approprié pour distribuer le trafic comprenant un ou plusieurs membres. La configuration d'un membre de pool inclut des paramètres tels que le poids, le nombre maximal de connexions et l'état de condition. L'état d'exécution inclut les connexions actuelles, le temps de réponse et des informations sur l'état du contrôle de santé. Les méthodes de calcul peuvent être round-robin, round-robin pondéré, least connection, hachage IP source, least connections pondérées, URL, URI ou en-tête HTTP.
Chaque pool est surveillé par le moniteur de services associé. Lorsque l'équilibrage de charge détecte un problème sur un membre du pool, ce membre est marqué comme étant hors service. Seul un serveur actif est sélectionné lors du choix d'un membre de pool à partir du pool de serveurs. Si le pool de serveurs n'est pas configuré avec un moniteur de services, tous les membres du pool sont considérés comme étant actifs.