Utilisation du LBaaS
Guide d'utilisation du service de Load Balancer managé (niveau 4, 7 et SSL/WAF)
Dernière mise à jour
Guide d'utilisation du service de Load Balancer managé (niveau 4, 7 et SSL/WAF)
Dernière mise à jour
Afin de pouvoir utiliser la fonctionnalité LBaaS, il faut que celle-ci soit activée par le support Monaco Cloud. Lors de cette activation, une adresse réseau vous est demandée. Ce réseau sera celui sur lequel seront connecté les VM hébergeant le service de loadbalancing (Ces VM sont appelées Services Engines, abrégé en SE). Le système utilisera automatiquement une IP disponible sur ce réseau.
Ce sont les IP de ce réseau qui seront vues par les machines qui feront parties des pools. Attention, il ne s’agit pas du réseau contenant les VIP, les VIP ne devront pas appartenir à ce réseau.
Si vous ne précisez pas de réseau, celui-ci sera : 192.168.255.0/25
Ce réseau sera connecté comme les autres segments à votre Edge Gateway (EGW). Les VIP seront connus via une route /32 annoncée par l’EGW vers les SE.
Le service est disponible sur la VM edge de votre tenant.
Cliquez sur le menu Networking :
Cliquez ensuite sur Edge Gateways > Le nom de votre edge gateway >
Dans le menu Load Balancer, en cliquant sur General Settings vous pourrez voir si le service est bien activé et quel est le réseau choisi pour interconnecter :
En cliquant sur Service Engine Groups, vous pourrez-voir les différents groupes de services engine mis à votre disposition, ainsi que le nombre de Virtual Services que vous hébergez pour chacun des groupes :
Par défaut nous vous laissons la possibilité de déployer 5 Virtual Services, si vous en avez besoin de plus il faudra s’adresser au support.
Le service de LBaaS est facturé au Virtual Service déployé. Pour plus d'informations, merci de vous rapprocher de votre contact commercial.
En cliquant sur Pools > ADD, vous pourrez créer les différents groupes de VM sur lesquels doit être mis en œuvre le loadbalancing :
Dans ce premier onglet (General Settings), vous pouvez configurer différents éléments :
Name : Le nom du pool.
Description : La description du pool.
Load Balancer Algorithm : L’algorithme de répartition de charge entre les membres du pool (les algorithmes sont détaillés lorsque vous cliquez sur le petit « i »).
State : L’état du pool (actif ou inactif)
Default Server Port : Le port du membre sur lequel la requête du loadbalancer sera envoyé.
Graceful Disable Timeout : Le temps maximum (en minutes) avant que les connexions vers un membre du pool désactivé soient terminées.
Passive Health Monitor (actif ou inactive) : le loadbalancer analyse les réponses envoyées par les membres du pool aux clients. Si celles-ci renvoient trop d’erreurs (TCP Reset ou erreur 5xx), le loadbalancer réduit automatiquement le nombre de requête envoyées à ce membre d’environ 75%. Ce pourcentage peut même augmenter si le taux d’erreur continue à augmenter. Si le nombre d’erreur diminue, le loadbalancer augmente de nouveau le nombre de requête à envoyer au membre précédemment en difficulté.
Active Health Monitor : Vous pouvez mettre un ou plusieurs moniteurs d’état du serveur. (Les différents moniteurs sont décrits lorsque vous cliquez sur le petit i).
Dans le deuxième onglet (Members), vous configurez les différents membres du pool :
Vous pouvez directement mettre une IP, ou alors utiliser un des groupes dynamiques, statiques ou d’IP que vous avez créé pour par exemple les utiliser dans le pare-feu distribué :
Dans le troisième onglet (facultatif), vous configurez la partie SSL/TLS si cela doit être mis en place entre le loadbalancer et les membres du pool :
SSL enable : Activation ou non du chiffrement entre le loadbalancer et les membres du pool. Ces certificats sont utilisés par le loadbalancer pour s’authentifier auprès des membres du pool. Ils doivent être ajoutés dans le menu global Administration > Certificate Management > Certificates Library
Common Name Check : permet de définir le nom qui devra être renvoyé par le membre du pool pour que le loadbalancer accepte de s’y connecter. Si ce paramètre est activé mais qu’aucun domaine n’est spécifié, c’est celui du champ « host » de la requête http du client qui sera utilisé.
Une fois les différents onglets complétés à vos besoins, vous pouvez cliquer sur le bouton save pour créer le pool.
Vous pouvez récupérer certaines informations sur les pools en cliquant sur le double chevron :
Vous cliquez sur Virtual Services (VS) du menu Load Balancer :
Là s’affiche les différents VS que vous créez. Pour en ajouter un il faut cliquer sur le bouton add. Cela ouvre la fenêtre de création de VS :
Name : Le nom à donner à votre VS
Description : Possibilité de mettre une description du VS
Enabled : Permet d’activer ou non le VS
Preserve Client IP : enlève le SNAT automatique de la requête du client par l’IP du Service Engine. Il faut laisser cette option désactivée.
Non-Critical Logging : permet d’afficher tous les logs dans le menu « Logs » du VS. Cette option n’est activée que pour 30min et ne peut pas rester activer en permanence
Service Engine Group : Le groupe de service engine sur lequel sera hébergé la VIP
Load Balancer Pool : Le pool vers lequel la requête sera envoyé par le loadbalancer.
IPv4 Virtual IP : L’adresse IP Virtuelle attribuée au VS. Celle-ci peut être publique ou privée. Si elle est privée, elle ne peut pas faire partie d’un segment réseau du tenant. Si elle est publique il faudra qu’elle ait été attribuée par le support à votre tenant.
Service Type : Permet de définir sur le service sera de type L7 ou L4.
Si vous choisissez HTTPS ou L4 SSL vous pourrez définir un certificat qui sera envoyé aux clients. Celui-ci devra au préalable avoir été ajouté dans votre tenant dans le menu global Administration > Certificate Management > Certificates Library
Port : le port sur lequel écoutera le loadbalancer pour répondre aux requêtes des clients.
Maintenant que votre VS est créé, vous pouvez accéder à différents menus en cliquant sur le nom du VS, puis les différents onglets à votre disposition :
En cliquant sur l’onglet « Logs » vous pouvez afficher les requêtes reçues par le VS. Par défaut seul les requêtes en erreurs s’affichent. Si vous souhaitez afficher toutes les requêtes, il faut activer l’option « Non-Critical Logging » dans la configuration du VS et enlever le filtre appliqué à la colonne « Type ».
Vous pouvez choisir l’intervalle de temps sur laquelle vous souhaitez afficher les logs en cliquant sur l’ascenseur en face de « Interval » : les dernières 30 minutes, les dernières 6 heures, le dernier jour (dernières 24h), la dernière semaine (7 derniers jours), le dernier mois (31 derniers jours), le dernier quadrimestre (4 derniers mois), la dernière année (les 12 derniers mois) ou bien définir votre propre intervalle (Custom).
En cliquant sur les chevrons en début de ligne vous pouvez afficher les détails d’un log :
Vous pouvez également exporter les lignes de logs en cliquant sur le bouton « export logs ». Cela ouvre le menu permettant de modifier le format des données exportées : Traduire les en-tête ; préfixer les cellules pour éviter l’interprétation des données exportées ou choix des données à exporter.
Les détails des logs ne sont pas exportables.
Vous pouvez également obtenir différentes métriques en cliquant sur l’onglet « Analytics » :
Vous pouvez choisir entre différentes métriques en cliquant sur l’ascenseur en face de « Metrics » :
· End-to-end Timing : Les temps de transits entre la requête faite par un client et sa réponse.
· Throughput : La bande-passante consommée par le pool
· Open Connections : le nombre de connexions TCP en cours sur le pool
· Connections : le nombre de connexions traitées par le pool
· Response Codes : Un graph des différentes réponses renvoyées par le pool
Vous pouvez choisir l’intervalle de temps sur laquelle vous souhaitez afficher les données en cliquant sur l’ascenseur en face de « Interval » : les dernières 30 minutes, les dernières 6 heures, le dernier jour (dernières 24h), la dernière semaine (7 derniers jours), le dernier mois (31 derniers jours), le dernier quadrimestre (4 derniers mois) et la dernière année (les 12 derniers mois).
Vous pouvez enfin choisir les données affichées : valeurs moyennes, valeurs courantes, valeurs maximales.
En cliquant sur l’onglet Policies, vous aurez la possibilité de gérer les requêtes et les réponses transitant par le VS.
Les actions sont réparties dans trois sous-onglets : HTTP Request, HTTP Response et HTTP Security.
Dans la partie HTTP Request, cela traite des actions pouvant être effectuées sur les requêtes des clients : envoyer un redirect au client, modifier les en-tête de la requête avant envoi au pool ou réécriture de l’url avant envoi au pool.
Dans la partie HTTP Response, cela traite des actions pouvant être effectuées sur les requêtes des clients : réécrire un entête (ajout, modification ou suppression) ou réécrire l’entête « location »
Dans la partie HTTP Security, cela traite des actions relatives à la sécurité des requêtes :
Autoriser ou pas une connexion, limiter les connexions par période, rediriger en https ou renvoyer une page personnalisée avec un code http sélectionnable.
Dans chacun des onglets on peut ajouter une ou plusieurs politiques. On clique sur le bouton « new » pour ajouter une nouvelle politique. Cela ouvre le menu de création de nouvelle politique :
Il peut y avoir un ou plusieurs critères par règle, ceux-ci sont cumulatifs (il faut remplir tous les critères pour que l’on rentre dans la politique).
Il peut y avoir une ou plusieurs actions par politique (en fonction de l’action).
Attention à bien cliquer sur le bouton save après chaque modification
Il est possible d’activer des fonctionnalités de WAF sur les VS déployés. Pour cela, il faut se rendre dans l’onglet WAF et activer la fonctionnalité :
Le bouton Edit de la section General permet d’activer ou non la fonctionnalité WAF sur le VS ainsi que son comportement par défaut : bloquant ou non.
En mode détection (Detection), lorsqu’une requête est considérée comme malveillante, il y aura un log de généré. En mode bloquant (Enforcement) lorsqu’une requête est considérée comme malveillante, un log sera généré et la requête sera bloquée.
La section Allowlist Rules permet de définir des listes blanches sur les requêtes traitées par le WAF. Elles sont vérifiées avant de regarder les signatures d’attaque.
Et enfin la dernière section contient les différentes signatures que vous pouvez activer ou non, en bloquant ou non.
On peut activer ou désactiver le groupe de signature, ou bien modifier une signature en particulier
Les signatures sont mises à jour périodiquement par Monaco Cloud. Vous serez prévenus lors de cette mise à jour par le support Monaco Cloud.