- Introduction
- Infrastructure AWS et Relianoid
- Déploiement de deux instances Reliianoid sur AWS Marketplace
- Configuration du réseau pour les instances Reliianoid EC2
- Activation des instances Reliianoid EC2 avec des licences temporelles
- Configuration de l'adresse IP virtuelle pour l'équilibrage de charge
- Configuration du service Reliianoid Cluster dans Amazon Web Services
- Configuration d'un simple équilibrage de charge L4 pour les services Web
- Ajout de nouvelles interfaces à l'équilibreur de charge
Introduction #
Cet article explique comment configurer des services d'équilibrage de charge avancés avec Relianoid Load Balancer pour une haute disponibilité sur une infrastructure Amazon Web Services EC2 . Nous décrirons la procédure de configuration d'un cluster Relianoid et d'un profil d'équilibrage de charge TCP pour répartir la charge des services HTTP avec trois serveurs backend web.
Infrastructure AWS et Relianoid #
Le diagramme suivant décrit l'architecture que nous souhaitons mettre en œuvre pour implémenter l'équilibrage de charge Web avec Reliianoid Application Delivery Controller dans AWS.
Il est nécessaire de déployer deux contrôleurs de distribution d'applications Relianoid. Ce modèle est disponible sur la place de marché Amazon Web Services, et chaque contrôleur de distribution d'applications Relianoid est configuré dans le même VPC que les serveurs backend Web, comme indiqué dans le diagramme ci-dessus avec le sous-réseau 17.32.16.0./20.
Chaque instance Relianoid ADC est configurée avec une interface eth0 , et chaque instance se voit attribuer une adresse IP élastique . De plus, une adresse IP élastique supplémentaire est attribuée à une adresse IP supplémentaire via eth0 dans l' instance ZLB1-prod , qui sera utilisée à des fins d'équilibrage de charge, comme décrit ci-dessous :
ZLB1-prod est affecté à 172.31.20.89 dans eth0, cette instance sera accessible directement par un Élastique IP 34.225.30.206
ZLB2-prod est affecté à 172.31.26.237 dans eth0, cette instance sera accessible directement par un Élastique IP 54.161.240.226
Une adresse IP supplémentaire est attribuée à ZLB1-prod et configurée dans l'équilibreur de charge sous le nom eth0:vip1 et avec l'adresse IP 172.31.26.47 . Cette adresse IP est utilisée pour configurer un service d'équilibrage de charge et fait partie du service de cluster . Ainsi, elle ne fonctionnera que sur une seule instance Relianoid à la fois, celle qui gère le rôle ACTIF au sein du cluster. Cette adresse IP interne est associée à une adresse IP élastique, à laquelle les clients accèdent pour se connecter au service web publié.
Enfin, backend01 , backend02 et backend03 sont les instances EC2 avec des serveurs Web basés sur Linux, ces instances font partie du service à charge équilibrée où le client se connecte lorsqu'il demande http://54.144.190.17/.
Déploiement de deux instances Reliianoid sur AWS Marketplace #
Déployons deux Reliianoid Load Balancers et configurons-les comme décrit précédemment.
Accédez à la section des instances EC2 et cliquez sur Lancer une instance.
1. Recherchez l'AMI Relianoid Load Balancer Enterprise Edition requise. Cette AMI est basée sur un modèle de licence BYOL . La phase d'évaluation est gratuite et une assistance est incluse pendant un mois. Passé ce délai, une licence définitive est nécessaire pour l'utilisation.
2. Choisissez un type d'instance . Sélectionnez ici l'instance adaptée aux ressources dont vous souhaitez répartir la charge. Une instance t2.small est suffisante pour commencer à utiliser les profils L4 , mais si vous souhaitez utiliser des profils HTTP , nous recommandons au minimum une instance t2.medium . Une instance t2.micro convient parfaitement pour les tests.
3. Configurer les détails de l'instance . Sélectionnez ici le VPC qui exécute les nouvelles instances Relianoid. Dans cet exemple de configuration, nous installerons les instances EC2 Relianoid dans le même VPC que les serveurs backend web déjà configurés.
4. Ajouter du stockage . Par défaut, une instance EC2 de Relianoid requiert au moins 12 Go de stockage. Si vous souhaitez activer les journaux par défaut, nous vous recommandons d'augmenter cette taille à au moins 20 Go. Relianoid n'a pas besoin d'accéder au disque, seulement pour enregistrer les journaux ; le type de volume « À usage général » convient donc parfaitement.
5. Ajouter des balises . Configurez ici des balises de description si vous le souhaitez.
6. Configurer le groupe de sécurité . Par défaut, Relianoid utilise le port TCP 444 pour l'interface web HTTPS, le port 9999 pour le démon de synchronisation des sessions et le port TCP 22 pour la gestion en ligne de commande et le clustering via SSH. De plus, chaque port virtuel utilisé par les services virtuels de l'équilibreur de charge doit être inclus dans votre groupe de sécurité. Nous avons configuré un groupe de sécurité moins restrictif pour les instances EC2 Relianoid, comme suit :
TYPE = Tout le trafic Protocole = TOUT Plage de ports = Tout Source = 0.0.0.0/0 Description = Autoriser tout de tout à tout
Ce groupe de sécurité est créé à des fins de test, vous pouvez choisir de bloquer tous les ports et d'autoriser uniquement l'utilisation pour l'équilibrage de charge et la gestion.
Une fois que l'assistant de configuration revient à la liste des instances EC2, le déploiement du nouvel appareil commence et l' état « Initialisation » s'affiche. Configurez ensuite un nom descriptif dans le champ « Nom » . Dans notre cas, nos équilibreurs de charge déployés sur EC2 sont nommés ZLB1-prod et ZLB2-prod.
Configuration du réseau pour les instances Reliianoid EC2 #
Une fois les appliances virtuelles Relianoid déployées et l' état des instances affichant le mode « En cours d'exécution » , nous pouvons procéder à la configuration du réseau.
Cliquez avec le bouton droit sur l' appliance ZLB1-prod et sélectionnez Réseau > Gérer les adresses IP . Dans la fenêtre contextuelle Gérer les adresses IP , cliquez sur Attribuer une nouvelle adresse IP , puis sur Oui, Mettre à jour . Le système attribuera alors une nouvelle adresse IP à eth0 dans le même VPC. Notez cette nouvelle adresse IP ; dans notre exemple, il s'agit de 172.31.26.47 . Cette adresse IP sera utilisée pour l'équilibrage de charge dans le futur service de clustering.
Accédez à la section « Adresse IP élastique » et attribuez une nouvelle adresse IP élastique à chaque instance Relianoid . Celles-ci serviront à la gestion et non à l’équilibrage de charge.
Dans la même section « Adresse IP élastique » , attribuez une nouvelle adresse IP à ZLB1-prod , en choisissant cette fois l' adresse IP privée 172.31.26.47 . Après cette configuration, ZLB1-prod sera accessible via le web et SSH avec l'adresse IP 34.225.30.206 , tandis que ZLB2-prod sera accessible via les mêmes services avec l'adresse IP 54.161.240.226 et l'adresse IP élastique 54.144.190.17, associée à l'adresse IP 172.31.26.47.
Activation des instances Reliianoid EC2 avec des licences temporelles #
Une fois les adresses IP élastiques configurées, les équilibreurs de charge virtuels seront accessibles comme suit:
ZLB1-prod sera accessible via https://34.225.30.206:444 root utilisateur et mot de passe l'ID de l'instance.
ZLB1-prod sera accessible via ssh dans l'IP 34.225.30.226 avec l'administrateur de l'utilisateur et le fichier de certificat privé, ceci est configuré au moment du déploiement EC2.
ZLB2-prod sera accessible via https://54.161.240.226:444 root utilisateur et mot de passe l'ID de l'instance.
ZLB2-prod sera accessible via ssh dans l'IP 54.161.240.226 avec l'administrateur de l'utilisateur et le fichier de certificat privé, ceci est configuré au moment du déploiement EC2.
Si vous envisagez de changer le nom d'hôte avant de continuer, si tel est le cas, redémarrez l'instance EC2 pour appliquer les modifications.
Une fois l'accès à l'interface web établi, vous verrez deux valeurs importantes : le nom d'hôte et la clé de certificat. Ces deux informations sont uniques pour chaque équilibreur de charge et sont liées à la licence d'activation. Utilisez ces informations dans l'URL suivante, comme indiqué : https://www.relianoid.com/activate-enterprise-edition-cloud-evaluation/
Une fois le formulaire rempli, le système envoie automatiquement la licence à l'adresse e-mail indiquée. Veuillez télécharger la licence d'activation PEM reçue via l'interface graphique Web de chaque équilibreur de charge, une fois que cela est fait, l'interface graphique Web est déverrouillée et toutes les fonctionnalités sont totalement activées et opérationnelles.
Effectuez la même procédure d'activation dans les deux nœuds ZLB1-prod et ZLB2-prod.
Configuration de l'adresse IP virtuelle pour l'équilibrage de charge #
Dans le point précédent, nous avons déjà attribué une adresse IP supplémentaire à eth0 172.31.26.47 dans l'instance ZLB1-pro, et cette adresse IP a été attribuée à une adresse IP élastique 54.144.190.17 ; il reste maintenant à effectuer cette configuration dans l'équilibreur de charge ZBL1-pro.
Accédez à l'équilibreur de charge ZLB1-pro via l'interface web en utilisant son adresse IP élastique https://34.225.30.206:444 . Une fois connecté, veuillez accéder au menu de navigation Réseau > Interfaces virtuelles > Créer une interface virtuelle et effectuez la configuration suivante :
Interface parente = eth0 172.31.26.47
* Comme les instances EC2 ne savent rien des adresses IP Elastic, nous devons configurer ici l'adresse IP physique de l'instance EC2 liée à l'adresse IP publique Elastic utilisée à des fins d'équilibrage de charge 54.144.190.17
Nom de l'interface virtuelle = vip1
Adresse IP = 172.31.26.47
Appuyez sur le bouton Créer pour appliquer la configuration.
Une nouvelle adresse IP 172.31.26.47 nommée eth0:vip1 a été configurée dans l'équilibreur de charge Relianoid EC2 ZLB1-pro et peut être pingée depuis n'importe quelle instance EC2 de ce VPC.
Configuration du service Reliianoid Cluster dans Amazon Web Services #
Le cluster Relianoid Load Balancer fonctionne en mode actif-passif avec état . Cela signifie que les ressources du cluster sont configurées sur les deux nœuds, mais ne sont accessibles que sur le nœud ACTIF . En cas de défaillance d'un nœud et de reprise du rôle sur l'autre nœud, les ressources du cluster doivent être de nouveau accessibles. Les adresses IP virtuelles étant également des ressources du cluster, Amazon Web Services doit être informé que l'adresse IP virtuelle configurée pour l'équilibrage de charge (172.31.26.47) est désormais opérationnelle via ZLB2-prod.
Pour cela, le service Relianoid Cluster utilise le client AWS, qui doit être configuré avec les autorisations nécessaires dans le module EC2 pour la gestion des interfaces. Avant de démarrer le service Relianoid Cluster, il est donc nécessaire de le préparer. Pour ce faire, configurons une clé AWS dans votre compte avec les autorisations requises pour gérer les adresses IP dans EC2, afin de pouvoir l'utiliser dans l'interface de ligne de commande AWS.
Accédez à la console Amazon (https://console.aws.amazon.com/iam/) , puis, dans le menu de navigation, sélectionnez Utilisateur . Cliquez ensuite sur le bouton Ajouter un utilisateur.
Configurer un nom d'utilisateur descriptif = aws-for-zlb
Dans la section « Sélectionner le type d'accès AWS », choisissez « Accès programmatique » et cliquez sur « Suivant : Autorisations » . Dans la section « Définir les autorisations » , cliquez sur « Créer un groupe » , puis, dans la nouvelle fenêtre, saisissez un nom descriptif dans le champ « Nom du groupe » , par exemple « AmazonEC2 » . Enfin, dans le champ « Filtrer les stratégies », recherchez et sélectionnez la stratégie nommée « AmazonEC2FullAccess » , qui autorise notamment la modification des adresses IP attribuées aux instances EC2.
Cliquez sur Suivant : Étiquettes , puis sur Suivant : Vérification . Enfin, cliquez sur Créer un utilisateur . La fenêtre finale affichera l’ ID de clé d’accès et la clé d’accès secrète de cet utilisateur ; veuillez les conserver pour une utilisation ultérieure.
Nous sommes maintenant prêts à configurer le service Relianoid Cluster. Accédez donc au panneau Web de ZLB1-pro via l'adresse IP publique attribuée https://34.225.30.206:444, section Système > Cluster et remplissez le formulaire en suivant l'exemple :
Identifiants AWS : La clé d’accès et la clé secrète sont les valeurs déjà générées précédemment. Sélectionnez ici la région où votre contrôleur de distribution d’applications Relianoid est déployé.
Configurer le cluster :
IP locale: sélectionnez l'IP et le NIC de eth0.
IP à distance: entrez ici l'IP de eth0 dans le nœud ZLB2-pro.
Mot de passe du nœud distant et Confirmez le mot de passe: entrez ici le mot de passe root pour ssh dans l'autre nœud, par défaut l'ID d'instance de ZLB2-pro.
Cliquez sur le bouton Générer et attendez quelques secondes. Pendant ce temps, le nœud sur lequel vous exécutez la configuration prendra le rôle ACTIF (ZLB1-pro) et l'autre (ZLB2-pro) prendra le rôle PASSIF.
À ce stade, Reliianoid Cluster a été configuré dans AWS et il est prêt à fonctionner, configurons notre premier service à équilibrage de charge en cluster.
Configuration d'un simple équilibrage de charge L4 pour les services Web #
Allez dans LSLB > Fermes > Créer une ferme avec les paramètres suivants.
Notez que l'adresse IP virtuelle utilisée (172.31.26.47) est celle configurée précédemment et qu'il s'agit d'une ressource du cluster toujours accessible depuis le nœud ACTIF . Cliquez sur « Créer » et continuez.
Dans la nouvelle fenêtre, configurez la section Globale comme indiqué ci-dessous :
Enfin, configurez la section Services comme décrit :
Utilisez la persistance IP avec un délai d'expiration de 60 secondes afin de garantir qu'une même adresse IP client reste connectée au même serveur backend pendant une période donnée. Configurez les contrôles d'intégrité avancés avec FarmGuardian . Utilisez la commande `check_tcp` pour vérifier que le port TCP 80 est ouvert sur chaque serveur backend. Ajoutez ensuite les adresses IP internes et les ports des serveurs backend sur lesquels les services web sont exécutés.
Testez maintenant la connexion à l' adresse IP élastique http://54.144.190.17/ attribuée à l'adresse IP interne 172.31.26.47. La connexion passera par l'équilibreur de charge en utilisant eth0:vip1 et sera redirigée vers l'un des serveurs d'arrière-plan disponibles.
Il est désormais nécessaire de forcer le changement de rôle ACTIF au sein du cluster, par exemple en redémarrant le nœud qui détient ce rôle. Après quelques secondes, l'autre nœud prendra le relais du service virtuel et se reconnectera à l'adresse IP publique. Les connexions client actuelles et nouvelles seront établies avec le même serveur dorsal, mais cette fois-ci via le nouveau nœud ACTIF , sans aucune interruption de service pour les clients.
Ajout de nouvelles interfaces à l'équilibreur de charge #
Pour l'équilibrage de charge ou tout autre besoin, vous pouvez configurer des interfaces supplémentaires pour l'équilibreur de charge. Pour ce faire, il vous suffit de suivre les étapes décrites par AWS pour ajouter de nouvelles interfaces à une instance EC2. Consultez l'article fourni par AWS pour mieux comprendre les bonnes pratiques : https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/best-practices-for-configuring-network-interfaces.html . Lors de l'ajout de nouvelles interfaces à l'instance EC2, Relianoid les détectera automatiquement, vous permettant ainsi de les configurer selon vos besoins.
Profitez d'un équilibrage de charge et d'un clustering avancés dans AWS avec Reliianoid !






