Lors de la création ou de la modification de vos modèles de cloud vRealize Automation, utilisez les ressources d'équilibrage de charge les mieux adaptées à vos objectifs.

Vous pouvez utiliser des ressources d'équilibrage de charge NSX et indépendantes du cloud dans un modèle de cloud pour contrôler l'équilibrage de charge dans un déploiement.

L'équilibrage de charge indépendant du cloud peut être déployé sur plusieurs clouds. Un équilibrage de charge spécifique au cloud peut spécifier des paramètres avancés et des fonctionnalités qui sont disponibles uniquement pour un cloud ou une topologie spécifique. Des propriétés spécifiques du cloud sont disponibles dans le type de ressource d'équilibrage de charge NSX (Cloud.NSX.LoadBalancer). Si vous ajoutez ces propriétés sur un équilibrage de charge indépendant du cloud (Cloud.LoadBalancer), elles sont ignorées si, par exemple, un équilibrage de charge Amazon Web Services ou Microsoft Azure est provisionné, mais sont respectées si un équilibrage de charge NSX-V ou NSX-T est provisionné. Choisissez l'un des types de ressources d'équilibrage de charge disponibles, en fonction des conditions relatives à votre modèle de cloud vRealize Automation.

Vous ne pouvez pas connecter une ressource d'équilibrage de charge directement à une ressource de groupe de sécurité dans le canevas de conception.

Ressource d'équilibrage de charge indépendante du cloud

Utilisez un équilibrage de charge indépendant du cloud lorsque vous souhaitez spécifier les caractéristiques de mise en réseau pour n'importe quel type de machine cible.

Pour ajouter un équilibrage de charge indépendant du cloud, utilisez la ressource Indépendant du cloud > Équilibrage de charge sur la page de conception du modèle de cloud. La ressource s'affiche dans le code du modèle de cloud en tant que type de ressource Cloud.LoadBalancer. La ressource par défaut s'affiche sous la forme suivante :
Cloud_LoadBalancer_1:
    type: Cloud.LoadBalancer
    properties:
      routes: []
      network: ''
      instances: []
      internetFacing: false

Ressource d'équilibrage de charge NSX

Utilisez un équilibrage de charge NSX lorsque votre modèle de cloud contient des caractéristiques spécifiques à NSX-V ou à NSX-T (méthodes d'API Policy ou d'API Manager). Vous pouvez attacher un ou plusieurs équilibrages de charge à un réseau NSX-V ou NSX-T, ou bien à des machines associées à un réseau NSX-V ou NSX-T.

Vous ajoutez un équilibrage de charge NSX en utilisant la ressource NSX > Équilibrage de charge. La ressource s'affiche dans le code du modèle de cloud en tant que type de ressource Cloud.NSX.LoadBalancer. La ressource par défaut s'affiche sous la forme suivante :
Cloud_NSX_LoadBalancer_1:
    type: Cloud.NSX.LoadBalancer
    properties:
      routes: []
      network: ''
      instances: []
      

Options d'équilibrage de charge dans le code du modèle de cloud

L'ajout d'une ou de plusieurs ressources d'équilibrage de charge à votre modèle de cloud vous permet de spécifier les paramètres suivants : Des exemples sont disponibles sur Réseaux, ressources de sécurité et équilibrages de charge dans vRealize Automation.

Le protocole HTTP est pris en charge pour tous les équilibrages de charge à la demande.

Le protocole HTTPS est pris en charge uniquement pour les équilibrages de charge à la demande associés à un compte de cloud NSX-T dont le mode de NSX est défini sur Policy. Les comptes de cloud NSX-T dont le mode NSX est défini sur Manager ne peuvent pas utiliser le protocole HTTPS.

  • Spécification de machine

    Vous pouvez définir que des ressources de machine spécifiques participent à un pool d'équilibrage de charge. Vous pouvez également spécifier qu'une carte réseau de machine spécifique participe au pool d'équilibrage de charge.

    Cette option est uniquement disponible pour la ressource d'équilibrage de charge NSX (Cloud.NSX.LoadBalancer).

    • ressource.Cloud_Machine_1.id

      Indique que l'équilibrage de charge inclut la machine identifiée dans le code du modèle de cloud comme Cloud_Machine_1

    • ressource.Cloud_Machine_2.networks[2].id

      Spécifie que l'équilibrage de charge inclut la machine identifiée dans le code du modèle de cloud comme Cloud_Machine_2 uniquement lorsqu'elle est déployée sur la carte réseau de la machine Cloud_Machine_2.networks[2].

  • Niveau de journalisation

    La valeur du niveau de journalisation spécifie un niveau de gravité pour le journal d'erreurs. Les options sont NONE, EMERGENCY, ALERT, CRITICAL, ERROR, WARNING, INFO, DEBUG et NOTICE. La valeur du niveau de journalisation s'applique à tous les équilibrages de charge dans le modèle de cloud. Cette option est spécifique à NSX. Pour les équilibrages de charge avec un parent, le paramètre de niveau de journalisation du parent remplace tout paramètre de niveau de journalisation dans ses enfants.

    Pour obtenir des informations complémentaires, reportez-vous à des rubriques comme Ajouter des équilibrages de charge dans la documentation du produit NSX.

  • Type

    Utilisez un type d'équilibrage de charge pour spécifier une taille de mise à l'échelle. La valeur par défaut est Petit. Cette option est spécifique à NSX. Pour les équilibrages de charge avec un parent, le paramètre de type du parent remplace tout paramètre de type dans ses enfants.

    • Petit

      Correspond à Compact dans NSX-V et Petit dans NSX-T.

    • Moyen

      Correspond à Grand dans NSX-V et Moyen dans NSX-T.

    • Grand

      Correspond à Super grand dans NSX-V et Grand dans NSX-T.

    • Très grand

      Correspond à Très grand dans NSX-V et Grand dans NSX-T.

      Pour obtenir des informations complémentaires, reportez-vous à des rubriques comme Mise à l'échelle des ressources d'équilibrage de charge dans la documentation du produit NSX.

    Cette option est disponible pour la ressource d'équilibrage de charge NSX (Cloud.NSX.LoadBalancer).

  • Algorithme (pool de serveurs)
    Utilisez une méthode d'équilibrage par algorithme pour contrôler la manière dont les connexions entrantes sont distribuées entre les membres du pool de serveurs. L'algorithme peut être utilisé sur un pôle de serveurs ou directement sur un serveur. Tous les algorithmes d'équilibrage de charge ignorent les serveurs qui remplissent l'une des conditions suivantes :
    • L'état d'administration est défini sur DISABLED.
    • L'état d'administration est défini sur GRACEFUL_DISABLED et aucune entrée de persistance ne correspond.
    • L'état de contrôle de santé actif ou passif est DOWN.
    • La limite maximale de connexions simultanées pour le pool de serveurs a été atteinte.

    Cette option est spécifique à NSX.

    • IP_HASH

      Sélectionne un serveur en fonction d'un hachage de l'adresse IP source et du poids total des serveurs en cours d'exécution.

      Correspond à IP-HASH dans NSX-V et NSX-T.

    • LEAST_CONNECTION

      Distribue les demandes du client à plusieurs serveurs en fonction du nombre de connexions déjà présentes sur le serveur. Les nouvelles connexions sont envoyées au serveur avec le moins de connexions. Ignore les pondérations des membres du pool de serveurs, même si elles sont configurées.

      Correspond à LEASTCONN dans NSX-V et LEAST_CONNECTION dans NSX-T.

    • ROUND_ROBIN

      Les demandes de client entrantes sont transférées à une liste de serveurs disponibles capables de gérer la demande. Les pondérations des membres du pool de serveurs sont ignorées, même si elles sont configurées. Par défaut.

      Correspond à ROUND_ROBIN dans NSX-V et NSX-T.

    • WEIGHTED_LEAST_CONNECTION

      Une valeur de pondération est attribuée à chaque serveur, qui indique la manière dont ce serveur s'exécute par rapport aux autres serveurs du pool. La valeur détermine le nombre de demandes client envoyées à un serveur par rapport aux autres serveurs du pool. Cet algorithme d'équilibrage de charge se concentre sur l'utilisation de la valeur pondérée pour distribuer équitablement la charge sur les ressources disponibles du serveur. Par défaut, si la valeur n'est pas configurée et que l'option de démarrage lent est activée, la valeur de pondération est 1.

      Corrélation à WEIGHTED_LEAST_CONNECTION dans NSX-T. Il n'y a aucune corrélation dans NSX-V.

    • WEIGHTED_ROUND_ROBIN

      Une valeur de pondération est attribuée à chaque serveur, qui indique la manière dont ce serveur s'exécute par rapport aux autres serveurs du pool. La valeur détermine le nombre de demandes client envoyées à un serveur par rapport aux autres serveurs du pool. Cet algorithme d'équilibrage de charge se concentre sur la répartition équitable de la charge entre les ressources de serveur disponibles.

      Correspond à WEIGHTED_ROUND_ROBIN dans NSX-T. Il n'y a aucune corrélation dans NSX-V.

    • URI

      La partie gauche de l'URI est hachée et divisée par la pondération totale des serveurs en exécution. Le résultat désigne quel serveur reçoit la demande. Ainsi, un URI est toujours dirigé vers le même serveur si aucun serveur ne se met en marche ou ne s'arrête. Le paramètre d'algorithme de l'URI a deux options : uriLength=<len> et uriDepth=<dep>. La plage du paramètre de longueur doit être de 1<=len<256. La plage du paramètre de profondeur doit être de 1<=dep<10. Les paramètres de longueur et de profondeur sont suivis d'un nombre entier positif. Ces options peuvent équilibrer des serveurs en fonction du début de l'URI uniquement. Le paramètre de longueur indique que l'algorithme ne doit prendre en compte que les caractères définis au début de l'URI pour calculer le hachage. Le paramètre de profondeur indique la profondeur de répertoire maximale à utiliser pour calculer le hachage. Un niveau est compté pour chaque barre oblique dans la demande. Si les deux paramètres sont spécifiés, l'évaluation s'arrête lorsque l'un des deux est atteint.

      Correspond à URI dans NSX-V. Il n'y a aucune corrélation dans NSX-T.

    • HTTPHEADER

      Le nom d'en-tête HTTP est recherché dans chaque demande HTTP. Le nom d'en-tête entre parenthèses n'est pas sensible à la casse. Si l'en-tête est absent ou ne contient aucune valeur, l'algorithme Round robin s'applique. Le paramètre d'algorithme HTTPHEADER a une option headerName=<name>.

      Correspond à HTTPHEADER dans NSX-V. Il n'y a aucune corrélation dans NSX-T.

    • URL

      Le paramètre URL spécifié dans l'argument est recherché dans la chaîne de requête de chaque demande HTTP GET. Si le paramètre est suivi du signe égal = et d'une valeur, la valeur est hachée et divisée par le poids total des serveurs en cours d'exécution. Le résultat désigne quel serveur reçoit la demande. Ce processus est utilisé pour suivre les identifiants d'utilisateur dans les demandes et s'assurer qu'un même ID d'utilisateur est toujours envoyé au même serveur tant qu'aucun serveur n'est activé ou inactivé. Si aucune valeur ni aucun paramètre n'est trouvé(e), un algorithme Round robin s'applique. Le paramètre d'algorithme URL a une option urlParam=<url>.

      Correspond à URL dans NSX-V. Il n'y a aucune corrélation dans NSX-T.

    Pour obtenir des informations complémentaires, reportez-vous à des rubriques comme Ajouter un pool de serveurs pour l'équilibrage de charge dans la documentation du produit NSX.

  • Moniteur de santé

    Utilisez les options du moniteur de santé pour tester la disponibilité d'un serveur. La surveillance de la santé active est prise en charge pour les protocoles HTTP, ICMP, TCP et UDP. La surveillance de la santé passive est uniquement disponible pour NSX-T.

    Cette option est spécifique à NSX.

    • httpMethod

      Méthode HTTP à utiliser pour détecter l'état du serveur pour la demande de contrôle de santé. Les méthodes sont GET, HOST, OPTIONS, HEAD ou PUT.

    • requestBody

      Contenu du corps de la demande de contrôle de santé. Utilisé et requis par les protocoles HTTP, TCP et UDP.

    • responseBody

      Contenu du corps de réponse attendu du contrôle de santé. Si la chaîne reçue correspond à ce corps de réponse, le serveur est considéré comme sain. Utilisé et requis par les protocoles HTTP, TCP et UDP.

    Note : Si vous utilisez le protocole de surveillance UDP, les paramètres UDP Data Sent et UDP Data Expected sont requis. Les propriétés requestBody et responseBody sont mappées à ces paramètres.

    Cette option est disponible pour la ressource d'équilibrage de charge NSX (Cloud.NSX.LoadBalancer).

    Pour obtenir des informations complémentaires, reportez-vous à des rubriques comme Configurer un moniteur de santé actif dans la documentation du produit NSX.

  • Contrôle de santé

    Utilisez les options du contrôle de santé disponibles pour spécifier la façon dont l'équilibrage de charge effectue ses contrôles de santé.

    Cette option n'est disponible que pour la ressource d'équilibrage de charge NSX (Cloud.NSX.LoadBalancer).

    Pour un exemple des paramètres de contrôle de santé disponibles, consultez Réseaux, ressources de sécurité et équilibrages de charge dans vRealize Automation.

Options des types de réseaux et d'équilibrage de charge NSX-V et NSX-T

Les options d'équilibrage de charge dépendent du réseau auquel la ressource d'équilibrage de charge est associée dans le modèle de cloud. Vous pouvez configurer un équilibrage de charge selon le type de réseau et les conditions associées.

  • Réseau à la demande

    Si les calculs de l'équilibrage de charge sont attachés à un réseau à la demande, un nouveau routeur de niveau 1 est créé et attaché au routeur de niveau 0 spécifié dans le profil réseau. L'équilibrage de charge est ensuite associé au routeur de niveau 1. La publication de l'adresse IP virtuelle du routeur de niveau 1 est activée si l'adresse IP virtuelle se trouve sur un réseau existant. Si un réseau à la demande est configuré pour DHCP, le réseau à la demande et l'équilibrage de charge partagent le routeur de niveau 1.

  • Réseau existant

    Si l'équilibrage de charge est associé à un réseau existant, il est créé avec le routeur de niveau 1 du réseau existant. Un nouvel équilibrage de charge est créé si aucun équilibrage de charge n'est associé au routeur de niveau 1. Si l'équilibrage de charge existe déjà, de nouveaux serveurs virtuels y sont associés. Si le réseau existant n'est pas associé à un routeur de niveau 1, un routeur de niveau 1 est créé et associé à un routeur de niveau 0 défini dans le profil réseau, et la publication de l'adresse IP virtuelle du routeur de niveau 1 n'est pas activée.

    vRealize Automation ne prend pas en charge un équilibrage de charge NSX-T à deux bras (équilibrage de charge en ligne) sur deux réseaux existants différents. Notez que dans un scénario d'équilibrage de charge à deux bras, la liaison montante VIP se trouve sur un réseau existant tandis que les machines membres du pool sont connectées à un réseau à la demande. Pour spécifier l'équilibrage de charge lors de l'utilisation d'un réseau existant, vous devez configurer un équilibrage de charge à un bras dans lequel le même réseau existant est utilisé pour le VIP d'équilibrage de charge et les machines membres du pool. Toutefois, à partir de vRealize Automation 8.4.2, si vous utilisez un équilibrage de charge que vous avez sélectionné dans le profil réseau, vous pouvez équilibrer la charge entre des machines sur deux réseaux existants différents s'il y a connectivité entre ces deux réseaux.

  • Isolation réseau définie dans le profil réseau

    Pour les types de réseaux outbound ou private, vous pouvez spécifier des paramètres d'isolation réseau dans un profil réseau pour émuler un nouveau groupe de sécurité. Les machines étant associées à un réseau existant et les paramètres d'isolation étant définis par le profil, cette option s'apparente à un équilibrage de charge créé sur un réseau existant. La différence est que pour activer le chemin de données, l'adresse IP du port de liaison montante de niveau 1 est ajoutée au groupe de sécurité d'isolation.

Vous pouvez spécifier des paramètres d'équilibrage de charge pour les réseaux associés à NSX à l'aide d'une ressource d'équilibrage de charge NSX dans la conception du modèle de cloud.

Pour en savoir plus, consultez l'article de blog de VMware Approfondissement technique sur l'équilibrage de charge de vRA Cloud Assembly avec NSX-T.

Persistance de profil d'équilibrage de charge NSX-T

Les modèles de cloud et les déploiements vRealize Automation prennent en charge les options de profil de persistance d'équilibrage de charge NSX-T pour les paramètres SOURCE_IP et COOKIE. Pour plus d'informations sur la configuration de ces paramètres dans NSX-T afin qu'ils puissent être utilisés par les modèles de cloud et les déploiements vRealize Automation, reportez-vous à la section Ajouter un profil de persistance dans la documentation NSX-T.

Reconfiguration des paramètres de niveau ou de type de journalisation lorsque plusieurs équilibrages de charge partagent une instance de NSX-T de niveau 1 ou un dispositif Edge NSX-V

Lorsque vous utilisez un modèle de cloud qui contient plusieurs équilibrages de charge qui partagent un routeur de niveau 1 dans le point de terminaison NSX-T ou un routeur Edge dans le point de terminaison NSX-V, la reconfiguration des paramètres de niveau ou de type de journalisation dans l'une des ressources d'équilibrage de charge ne met pas à jour les paramètres des autres équilibrages de charge. Des paramètres incompatibles provoquent des incohérences dans NSX. Pour éviter les incohérences lors de la reconfiguration de ces paramètres de niveau et/ou de type de journalisation, utilisez les mêmes valeurs de reconfiguration pour toutes les ressources d'équilibrage de charge dans le modèle de cloud qui partagent un niveau 1 ou un dispositif Edge dans leur point de terminaison NSX associé.

Opérations de jour 2 disponibles

Lorsque vous effectuez une action de montée en charge ou de réduction de charge sur un déploiement qui contient un équilibrage de charge, celui-ci est configuré pour inclure les machines venant d'être ajoutées ou pour arrêter les machines d'équilibrage de charge qui doivent être démontées.

Pour obtenir la liste des opérations de jour 2 communes qui sont disponibles pour les modèles de cloud et les déploiements, reportez-vous à Actions pouvant être exécutées sur les déploiements de Cloud Assembly.

En savoir plus

Pour plus d'informations sur la définition des paramètres d'équilibrage de charge dans un profil réseau, consultez En savoir plus sur les profils réseau dans vRealize Automation

Pour obtenir des exemples de conceptions de modèles de cloud incluant des équilibrages de charge, reportez-vous à la section Réseaux, ressources de sécurité et équilibrages de charge dans vRealize Automation.