L'équilibrage de charge NSX Edge distribue le trafic réseau sur plusieurs serveurs pour optimiser l'utilisation des ressources, assurer la redondance et répartir l'utilisation des ressources.
L'équilibrage de charge NSX prend en charge les moteurs d'équilibrage de charge de couche 4 et de couche 7. L'équilibreur de charge de couche 4 est basé sur des connexions, pour un traitement rapide des chemins. L'équilibreur de charge de couche 7 est basé sur des sockets, pour des manipulations de trafic avancées et une atténuation des DDOS pour les services back-end.
Un équilibrage de charge basé sur des connexions est implémenté sur la couche TCP et UDP. L'équilibrage de charge basé sur des connexions n'arrête pas la connexion ou ne met pas en mémoire tampon toute la demande. Il envoie le paquet directement au serveur sélectionné après avoir traité le paquet. Les sessions TCP et UDP sont conservées dans l'équilibrage de charge pour que les paquets pour une session unique soient dirigées vers le même serveur. L'équilibrage de charge basé sur des connexions est effectué via l'accélération IP virtuelle TCP et UDP, ou l'accélération IP virtuelle TCP activée.
Un équilibrage de charge basé sur des sockets est implémenté sur l'interface du socket. Deux connexions sont établies pour une seule demande : une connexion face au client et une connexion face au serveur. La connexion face 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 face au client ou sur la connexion face 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 sur l'équilibrage de charge NSX sont les suivants :
- Serveur virtuel
- Résumé d'un service d'applications, 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 du pool de serveurs
- Représente le serveur principal en tant que membre dans un pool.
- Moniteur de services
- Définit comment examiner l'état de santé d'un serveur principal.
- Profil d'application
- Représente la configuration en matière de protocole TCP, de protocole UDP, de persistance et de certificat pour une application donnée.
Vous commencez par définir les options globales de l'équilibrage de charge, puis vous créez un pool de serveurs constitué de membres de serveurs principaux. Vous associez enfin un moniteur de services au pool pour gérer et partager les serveurs principaux de manière efficace.
Ensuite, vous créez un profil d'application pour définir le comportement d'application commun dans un équilibrage de charge, tel que client SSL, server SSL, x-forwarded-for ou persistence. La persistance envoie des demandes suivantes avec des caractéristiques semblables telles qu'une adresse IP source ou un cookie doit être distribué vers le même membre du pool, sans exécuter l'algorithme d'équilibrage de charge. Les profils d'application peuvent être réutilisés sur des serveurs virtuels.
Vous créez ensuite une règle d'application facultative pour configurer des paramètres spécifiques de l'application pour la manipulation du trafic tels que correspondre à une certaine URL ou un certain nom d'hôte pour que différentes demandes puissent être gérées par différents pools. Ensuite, vous créez un moniteur de services spécifique à votre application ou utilisez un moniteur de services créé précédemment.
Vous pouvez également créer une règle d'application pour prendre en charge les fonctionnalités avancées des serveurs virtuels de niveau 7. Certains cas d'utilisation pour les 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 ensemble votre pool de serveurs, votre profil d'application et toutes 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 de 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 du 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 les informations sur l'état de vérification de l'intégrité. Méthodes de calcul possibles : round-robin, round-robin pondéré, Least Connection, hachage IP source, Least Connection pondéré, 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é Inactif. Seul un serveur actif est sélectionné lorsqu'un membre de pool est choisi sur le pool de serveurs. Si le pool de serveurs n'est pas configuré avec un moniteur de services, tous les membres de pool sont considérés comme étant actifs.
Pour plus d'informations sur la résolution des problèmes liés à l'équilibrage de charge, reportez-vous àGuide de dépannage de NSX.