Comment configurer l'équilibreur de chargement d'application pour le routage intelligent

Comment configurer l'équilibreur de chargement d'application pour le routage intelligent
Balancer de charge d'application (ALB) est un type d'équilibreur de charge élastique fourni par AWS. Il fonctionne à la 7e couche du modèle de couche OSI et peut être configuré pour un routage intelligent. En utilisant l'équilibreur de charge d'application, le trafic peut être acheminé vers différents groupes cibles en fonction des paramètres suivants:

● Méthodes HTTP
● Paramètres de requête
● IP de source
● En-tête HTTP
● Chemin
● Routage basé sur DNS (en-têtes hôte)

La demande peut être transmise à une cible spécifique en validant l'un des paramètres mentionnés ci-dessus. Dans cet article, nous discuterons de la façon dont nous pouvons acheminer le trafic en fonction des paramètres mentionnés ci-dessus en utilisant l'équilibreur de charge d'application sur AWS.

Configuration de l'environnement

Pour poursuivre un routage intelligent, vous devez configurer l'environnement de base, y compris les instances, le groupe cible et l'équilibreur de chargement d'application.

Création d'instances EC2

Pour configurer l'instance EC2, suivez simplement les étapes suivantes:

● Sélectionnez Amazon Machine Image (AMI)
● Sélectionnez le type d'instance
● Fournir des détails de configuration (VPC, sous-réseau, AZ, métadonnées, etc.)
● Attachez le stockage (EBS, magasin d'instance)
● Gérer le groupe de sécurité
● Examiner et lancer

Les instances sont maintenant configurées. Ensuite, c'est de créer le groupe cible.

Création d'un groupe cible

Nous aurons besoin d'au moins deux groupes cibles pour démontrer avec succès les méthodes de routage pour l'équilibreur de charge d'application, nous allons donc créer deux groupes cibles en utilisant les étapes suivantes:

● Choisissez le type cible
● Sélectionnez le protocole réseau et le port
● Sélectionnez VPC
● Configurer les contrôles de santé
● Enregistrer les cibles

Tout d'abord, nous devons sélectionner le type de cible - il peut être une instance, une adresse IP, une fonction lambda ou un autre équilibreur de chargement d'application.

Sélectionner le protocole réseau. Dans ce cas, nous sélectionnerons HTTP sur le port par défaut 80, car il s'agit du protocole pris en charge par un équilibreur de chargement d'application. Vous devrez également sélectionner le VPC dans lequel vos instances sont en cours d'exécution.

Pour configurer la vérification de la santé, sélectionnez simplement le protocole que vous utilisez pour votre application. Les contrôles de santé aident à acheminer le trafic uniquement vers des cibles saines.

Enregistrez les cibles (qui sont des instances EC2 dans ce cas).

Après avoir enregistré les cibles, cliquez sur le groupe Créer des cibles et il sera créé.

Création d'équilibreur de chargement d'application (ALB)

Maintenant, nous allons créer l'équilibreur de chargement d'application. La procédure est définie ci-dessous.

● Sélectionner un schéma de réseau (public / privé)
● Sélectionnez le type d'adresse IP (IPv4 / IPv4 et IPv6)
● Sélectionnez VPC
● Sélectionnez les zones de disponibilité (AZ)
● Configurer le groupe de sécurité
● Ajouter les auditeurs

Vous pouvez simplement visiter l'article suivant pour créer et configurer l'équilibreur de chargement d'application sur AWS.

https: // linuxhint.com / create-and-configure-application-wad-balancer-on-aws /

Gestion des règles pour le routage intelligent

Nous avons déjà créé des instances EC2, des groupes cibles et un équilibreur de chargement d'application. Maintenant, nous allons discuter de la façon de créer des règles pour un équilibreur de chargement d'application pour acheminer le trafic en conséquence. Le routage intelligent est une capacité qui permet d'acheter et de transmettre le trafic réseau et de demander à une cible spécifiée en fonction de l'état et des règles que vous spécifiez sur les demandes entrantes.

Pour configurer les règles de routage intelligent, ouvrez simplement l'onglet Écouteurs de votre alb et cliquez sur les règles de vue / modifier pour votre auditeur.

Dans cette console, vous pouvez créer et modifier vos conditions et règles de routage.

Maintenant, commençons et voyons par détail toutes les méthodes que nous avons répertoriées depuis Start.

En-tête hôte

Ici, vous devez spécifier la cible en fonction du DNS de la demande reçue. Vous pouvez définir plusieurs domaines pointant vers un seul équilibreur de charge; chacun aura une cible spécifique. Ce schéma est également connu sous le nom de routage basé sur DNS.

Cliquez sur l'onglet Règle d'insertion et sélectionnez l'en-tête hôte dans le menu déroulant.

Spécifiez l'en-tête hôte que vous souhaitez.

Puis sélectionnez l'action que vous souhaitez entreprendre si la demande est reçue de l'en-tête hôte que vous avez spécifié à l'étape précédente. Vous pouvez soit transférer la demande, rediriger la demande ou renvoyer une réponse fixe à la demande. Pour cette démo, nous transmettrons la demande à un groupe cible.

Sélectionnez le groupe cible. Maintenant tout le trafic du DNS www.exemple1.com sera transmis au groupe cible nommé Démo-tg-1.

De même, vous pouvez ajouter plusieurs règles spécifiant différentes cibles pour chaque en-tête hôte.

Routage basé sur le chemin

Dans le routage basé sur le chemin, nous définissons le chemin DNS complet à l'état de la règle de l'auditeur. Par exemple, si vous avez une section de blog et une section d'images dans votre site Web, vous pouvez facilement acheminer le trafic pour chaque section vers une cible différente.

Créez une nouvelle règle et sélectionnez l'option de chemin.

Spécifiez le chemin complet de la destination.

Ajoutez l'action pour transmettre les demandes au groupe cible souhaité.

La première règle signifie que le trafic de / API / V1 sera transmis à Démo-tg-1. La deuxième règle signifie que le trafic de / API / V2 sera acheminé vers Démo-tg-2.

En-tête HTTP

Lorsqu'il y a une communication de serveur et client via les demandes HTTP, certaines données sont passées entre le serveur et le client à l'aide des en-têtes HTTP. Ces en-têtes sont de types différents comme les en-têtes de demande, les en-têtes de réponse, les en-têtes généraux et les en-têtes d'entité. Ce sont sous la forme de paires de clés et de valeur. Le trafic réseau sur votre application peut également être acheminé vers différentes cibles en fonction de ces en-têtes HTTP définis dans la demande.

Définissez l'en-tête HTTP en fonction de l'endroit où vous souhaitez acheminer la demande de réseau. Pour la démonstration, nous avons pris l'en-tête comme emplacement = L1.

Après avoir défini l'en-tête HTTP, ajoutez la cible de la règle et créez-la simplement.

De cette façon, nous pouvons spécifier que la demande avec l'en-tête d'emplacement réglée sur L1 appuyera sur la démo cible-TG-1 et L2 appuyera sur la démo cible-TG-2.

Méthode de demande HTTP

Il existe plusieurs méthodes de demande pour les demandes HTTP telles que Get, Post, put, Supprimer, etc. Ici, nous allons voir comment nous pouvons acheminer nos demandes en fonction de ces demandes.

Pour ce faire, créez une nouvelle règle pour la méthode de demande HTTP.

Fournir le type de votre méthode de demande HTTP. Nous allons saisir la demande GET pour cette démonstration.

Ajoutez la cible à laquelle vous souhaitez transférer toutes les demandes de GET pour votre application Web et cliquez sur Enregistrer, et votre règle deviendra active. De cette façon, différentes demandes peuvent être acheminées vers différents groupes cibles.

Paramètres de requête

Ces informations supplémentaires sont parfois ajoutées avec les demandes HTTP. Il est défini sous la forme de paires de valeurs clés. Le trafic réseau dans un équilibreur de charge peut également être acheminé vers une destination spécifique en fonction des paramètres de chaîne de requête donnés dans la demande de l'utilisateur.

Pour commencer, sélectionnez la chaîne de requête comme condition pour votre règle.

Maintenant, définissez une paire de valeurs de clé comme votre paramètre de requête.

Choisissez la cible et terminez la configuration de la règle.

Vous pouvez voir ci-dessous les deux règles. Les demandes avec Type de paramètre de requête = T1 sont transmises à Demo-TG-1 pendant que les demandes avec Type de paramètre de requête = T2 ont atteint la démonstration cible-TG-2.

IP de source

Vous pouvez également définir une règle d'écoute pour transmettre la demande à un groupe cible spécifique en fonction de l'adresse IP de l'utilisateur qui fait la demande à l'équilibreur de chargement.

Pour configurer l'IP source, fournissez simplement le CIDR puis choisissez la cible que vous souhaitez.

Chaque plage d'adresses IP ou IP peut être spécifiquement acheminée vers une cible différente comme indiqué ci-dessous.

Conclusion

Le routage intelligent est très important lorsqu'il s'agit de concevoir une application Web avancée et de haut niveau. Comme ce qui est démontré dans cet article, nous pouvons transmettre les demandes à de nombreuses cibles en utilisant un seul équilibreur de chargement d'application en fonction des paramètres de demande que nous obtenons des utilisateurs. Vérifiez les autres articles à Linux Indice pour plus de conseils et de tutoriels.