Lorsqu'une application déployée sur un cluster Elastic Compute Service (ECS) comporte plusieurs groupes d'instances exécutant différentes versions ou services, utilisez des politiques de transfert basées sur l'URL pour acheminer les requêtes provenant de chemins spécifiques vers les groupes d'instances dédiés. Sans politique de transfert, une instance Server Load Balancer (SLB) répartit le trafic de manière aléatoire entre tous les groupes. Avec une politique de transfert, chaque requête atteint le groupe correspondant à son chemin d'URL.
Cette rubrique explique comment :
Configurer des groupes vServer pour les groupes d'instances de votre application.
Créer des politiques de transfert basées sur l'URL afin d'orienter le trafic selon le chemin.
Vérifier que chaque chemin atteint le groupe d'instances approprié.
Fonctionnement du transfert basé sur l'URL
Après avoir associé une instance SLB à une application déployée sur un cluster ECS, le comportement du trafic dépend de la configuration des politiques de transfert :
| Configuration | Comportement du trafic |
|---|---|
| Aucune politique de transfert | Le trafic est réparti de manière aléatoire entre tous les groupes d'instances |
| Politiques de transfert configurées | L'instance SLB achemine chaque requête vers le groupe d'instances correspondant au chemin d'URL |
Exemple : isoler les services à fort trafic
Un système de commande expose o.domain.com/orders/queryitem pour les requêtes de produits. Lors des ventes flash, ce endpoint reçoit un trafic bien plus important que les autres services.
Pour gérer cette augmentation soudaine, déployez le service de requête de produits dans un groupe d'instances dédié aux ventes flash et conservez les autres services dans le groupe par défaut. Créez ensuite une politique de transfert qui achemine /orders/queryitem vers le groupe de ventes flash. Toutes les autres requêtes sont redirigées vers le groupe par défaut.

Prérequis
Avant de commencer, assurez-vous d'avoir :
Une instance SLB. Pour plus d'informations, consultez Créer une instance CLB
Au moins deux groupes d'instances pour l'application. Pour plus d'informations, consultez Créer un groupe d'instances d'application
L'instance SLB associée aux instances de l'application. Pour plus d'informations, consultez Configurer une instance SLB dédiée pour une application
Configurer les groupes vServer et les politiques de transfert
Répétez les étapes suivantes pour chaque groupe d'instances. Chaque groupe d'instances nécessite un groupe vServer distinct.
Un groupe vServer ne peut être associé qu'à une seule application ou à un seul groupe d'applications.
Connectez-vous à la console EDAS.
Dans le volet de navigation de gauche, sélectionnez Application Management > Applications.
Sur la page Applications, sélectionnez la région cible et le namespace de microservices. Dans la liste déroulante Cluster Type, choisissez ECS Clusters. Cliquez sur le nom de l'application.
Sous l'onglet Basic Information, cliquez sur l'onglet Instance Information.
Localisez le groupe d'instances cible. Dans le coin supérieur droit du groupe, cliquez sur Group Settings et sélectionnez Public-facing SLB Instance Information.
-
Dans la boîte de dialogue Group Settings, configurez un groupe vServer et une politique de transfert :
Option A : Utiliser un groupe vServer existant
Sélectionnez Existing VServer Group et choisissez un groupe vServer dans la liste.
-
Configurez une politique de transfert :
Pour réutiliser une politique de transfert existante, sélectionnez Modify the forwarding policy of the current VServer group et choisissez la politique.
Pour créer une nouvelle politique de transfert, sélectionnez Add Forwarding Policy et saisissez un nom de domaine ainsi qu'une règle de chemin dans le champ Forwarding Policy.
Option B : Créer un nouveau groupe vServer
Sélectionnez Create VServer Group et saisissez un nom dans le champ VServer Group Name.
Sélectionnez Add Forwarding Policy et saisissez un nom de domaine ainsi qu'une règle de chemin dans le champ Forwarding Policy.
Cliquez sur Next.
À l'étape SLB Change Order, cliquez sur Confirm.
Répétez les étapes 5 à 8 pour chaque groupe d'instances restant.
Vérifier le résultat
Après avoir configuré les politiques de transfert pour tous les groupes d'instances, testez si le trafic atteint le bon groupe :
Récupérez l'adresse IP publique ou le domaine de l'instance SLB depuis la console EDAS.
-
Envoyez une requête vers un chemin couvert par une politique de transfert. Par exemple, si
/orders/queryitemest routé vers le groupe de ventes flash, la réponse doit provenir d'une instance de ce groupe.curl http://<SLB-public-IP>/orders/queryitem -
Envoyez une requête vers un chemin non couvert par une politique de transfert : la réponse doit provenir d'une instance du groupe par défaut.
curl http://<SLB-public-IP>/other-path Répétez l'opération pour chaque politique de transfert afin de confirmer que toutes les règles fonctionnent comme prévu.