Après avoir déployé une application sur Serverless App Engine (SAE), créez une route pour distribuer les requêtes vers d'autres services ou applications. Cette rubrique explique comment créer et gérer une route pour une application basée sur une instance Application Load Balancer (ALB).
Prérequis
-
SLB
-
SAE
SAEVPCCréer un namespace SAE. Assurez-vous que l'instance ALB et le namespace se trouvent dans la même région et sont associés au même Virtual Private Cloud (VPC).
Assurez-vous que l'application pour laquelle vous souhaitez créer une route et l'application qui reçoit les requêtes en backend appartiennent au même namespace.
Contexte
Server Load Balancer (SLB) est un service qui transfère le trafic réseau entre des groupes de serveurs backend pour augmenter le débit de vos applications. Il permet d'éviter les interruptions de service causées par des points de défaillance uniques (SPOF), améliorant ainsi la disponibilité des applications. ALB fait partie de la famille SLB et est conçu pour les protocoles tels que HTTP, HTTPS et Quick UDP Internet Connections (QUIC) au niveau de la couche application. ALB offre une grande élasticité et peut traiter de grands volumes de trafic au niveau de la couche application. ALB prend en charge le routage complexe et s'intègre à d'autres services cloud-native. ALB est conçu comme une solution de passerelle Ingress cloud-native recommandée par Alibaba Cloud. Pour plus d'informations, consultez la page Famille de produits SLB
Cas d'utilisation
Transférez le trafic via différents chemins vers un nom de domaine utilisé par une ou plusieurs applications.
Transférez le trafic vers différents noms de domaine résolus vers la même adresse IP et utilisés par une ou plusieurs applications.
Après avoir configuré une route, accédez à des services ou applications backend spécifiques en utilisant une URL au format <Nom de domaine>:<Numéro de port/Chemin>.
Créer une route
Sur la page Routage de passerelle SAE, sélectionnez une région et un namespace dans la barre de navigation supérieure, puis cliquez sur Create Gateway Route.
-
Sur la page Create Route qui s'affiche, configurez les paramètres comme décrit dans le tableau suivant et cliquez sur Save.
Paramètre
Description
Route Name
Le nom de la route que vous souhaitez créer.
Network Type
Le type de réseau de la passerelle que vous souhaitez utiliser pour transférer les requêtes.
Internet : Vous devez payer pour la quantité de trafic transféré par une passerelle Internet.
Private Network : Vous n'avez pas besoin de payer pour le trafic transféré par une passerelle privée, car le trafic est transféré uniquement au sein du VPC de la passerelle.
Gateway Type
Sélectionnez ALB.
ALB Instance
Sélectionnez une instance ALB dans la liste déroulante ALB Instance. Vous pouvez également cliquer sur Create ALB Instance pour en créer une. Pour plus d'informations, consultez la page Créer et gérer des instances ALB. De plus, SAE permet d'acheter des instances ALB pour votre compte. Les options d'achat suivantes sont disponibles :
Create a standard edition ALB instance (pay-as-you-go)
Create a WAF-enhanced ALB instance (pay-as-you-go)
Si vous choisissez de créer une instance, le système crée automatiquement une instance de paiement à l'utilisation du type de réseau spécifié. Pour plus de détails sur la facturation, consultez la page Présentation de la facturation ALB.
RemarqueSi vous ne voyez aucune instance ALB dans la région, cela peut être dû au fait que l'ALB se trouve dans un VPC différent de celui lié au namespace actuel. Dans ce cas, accédez à la console ALB et créez une instance dans la même région et le même VPC que le namespace.
Frontend Protocol Type
Le protocole utilisé pour transférer les requêtes.
HTTP : adapté aux applications qui doivent identifier les données provenant de différentes sources, telles que les applications mobiles et les jeux.
HTTPS : adapté aux applications qui nécessitent un chiffrement des données lors de la transmission.
Access Port
Le numéro de port personnalisé. Valeurs valides : 0 à 65535.
Advanced Settings
Développez cette section pour définir les paramètres suivants :
Connection Request Timeout : Définissez le délai d'expiration des requêtes vers les serveurs backend. Valeurs valides : 1 à 180. Unité : secondes. Si un serveur backend ne répond pas dans le délai spécifié, un code d'erreur HTTP 504 est renvoyé.
Idle Connection Timeout Period : Définissez la durée d'une connexion lorsqu'aucune requête n'est effectuée. Valeurs valides : 1 à 60. Unité : secondes. Si aucune nouvelle requête n'est reçue dans le délai d'expiration spécifié, ALB ferme temporairement la connexion actuelle. Une nouvelle connexion est établie lorsque la requête suivante arrive.
Add HTTP Header Fields : Sélectionnez l'un des champs d'en-tête HTTP suivants pour obtenir des informations spécifiques.
Add X-Forwarded-For to retrieve client IP address : Au format
X-Forwarded-For: <client-ip-address>, <proxy1>, <proxy2>, ….X-Forwarded-Forest activé par défaut pour les écouteurs ALB.Pour plus d'informations sur la manière de permettre à ALB de conserver les adresses IP des clients, consultez la page Obtenir les adresses IP d'origine des clients sur les serveurs backend via un ALB.
Add CLB-ID to retrieve CLB instance IDs : Au format
SLB-ID.Add X-Forwarded-Proto to retrieve the listener protocol of the CLB instance : Au format
X-Forwarded-Proto: <originatingProtocol>.Add X-Forwarded-Port to retrieve the listener port of the CLB instance : Au format
X-Forwarded-Port: <port>.Add X-Forwarded-Client-srcport to retrieve the port used by a client to connect to the CLB instance : Au format
X-Forwarded-Client-srcport: <port>.
Data compression : Lorsqu'elle est activée, ALB compresse les réponses éligibles avec Gzip ou Brotli pour réduire l'utilisation de la bande passante.
Conditions de compression : Une réponse est compressée si son en-tête
Content-Lengthdépasse 1024 octets et si l'en-tête de requêteAccept-Encodingdu client inclut un algorithme de compression pris en charge.Priorité des algorithmes : Si un client prend en charge les algorithmes de compression Brotli et Gzip, ALB privilégie l'algorithme Brotli, plus efficace.
Type de contenu
Content-Typepris en charge :Brotli prend en charge la compression de tous les types de contenu.
Gzip prend en charge les types suivants :
text/xml,text/plain,text/css,application/javascript,application/x-javascript,application/rss+xml,application/atom+xml,application/xmletapplication/json.
Custom Forwarding Policy
Configurez une règle de transfert selon vos besoins pour acheminer les requêtes frontend vers un service backend. Les paramètres suivants sont requis :
Domain Name : Le nom de domaine vers lequel vous souhaitez transférer les requêtes. Si vous laissez ce paramètre vide, la règle s'applique à tous les noms de domaine. Vous devez configurer la résolution DNS à l'avance pour accéder à l'application en utilisant le nom de domaine. Pour plus d'informations, consultez la page Configurer un enregistrement CNAME pour une instance ALB.
Access Port : Le port d'accès défini précédemment est utilisé par défaut et vous ne pouvez pas le modifier ici.
Path : Le chemin d'accès. Vous ne pouvez pas laisser ce paramètre vide.
Backend Application : L'application qui reçoit les requêtes. Elle doit se trouver dans le même namespace que l'application qui transfère les requêtes.
Container Port : Le port du conteneur utilisé pour accéder à l'application backend.
Rewrite Policy : Lorsqu'une requête frontend est transférée vers une application backend, vous pouvez réécrire le chemin dans la requête d'origine. Par exemple, si vous souhaitez réécrire les chemins de requête frontend /AAA/a et /AAA/b vers l'application backend sous la forme /a et /b, définissez Path sur /AAA/(.*) et définissez path sur /${1} dans la section Rewrite Policy.
RemarqueLes ports des écouteurs au sein d'une instance ALB doivent être uniques.
Vous pouvez également cliquer sur + Add Rule pour ajouter des règles de transfert personnalisées sous le même nom de domaine.
Vous pouvez également cliquer sur + Add Domain Name pour ajouter des règles de transfert personnalisées pour d'autres noms de domaine.
Default Forwarding Rule
ALB Instance : L'instance ALB sélectionnée précédemment est utilisée par défaut et vous ne pouvez pas la modifier ici.
Access Port : Le port d'accès défini précédemment est utilisé par défaut et vous ne pouvez pas le modifier ici.
Backend Application : L'application qui reçoit les requêtes. Elle doit se trouver dans le même namespace que l'application qui transfère les requêtes.
Container Port : Le port du conteneur utilisé pour accéder à l'application backend.
RemarqueNous vous recommandons de configurer la default forwarding policy pour toutes les requêtes qui ne correspondent pas à la politique de transfert personnalisée. Si vous ne configurez pas la politique de transfert par défaut, une erreur d'accès sera signalée.
-
Vérifiez les résultats
Méthode 1 : Connectez-vous à la console SLB. Sur la page Instances ALB, vérifiez si l'écouteur est configuré.
Méthode 2 : Utilisez une URL au format
<Nom de domaine>:<Numéro de port/Chemin>pour accéder au service ou à l'application concerné(e) et vérifiez si les requêtes sont transférées selon la politique de transfert configurée.
Gérer une route
Une fois la route créée, consultez les forwarding policies et les events de la route, modify la route ou delete la route sur la page Gateway Routing.