Partage via


Personnaliser la configuration d’entrée dans Azure Spring Apps

Cet article s’applique à : ✔️ De base/Standard ✔️ Entreprise

Cet article vous montre comment définir et mettre à jour les paramètres d’entrée d’une application dans Azure Spring Apps en utilisant le Portail Azure et Azure CLI.

Le service Azure Spring Apps utilise un contrôleur d’entrée sous-jacent pour traiter la gestion du trafic des applications. Les paramètres d’entrée suivants sont pris en charge pour la personnalisation.

Nom Paramètre d’entrée Valeur par défaut Plage valide Description
ingress-read-timeout proxy-read-timeout 300 [1,1800] Délai d’expiration en secondes pour lire une réponse à partir d’un serveur en proxy.
ingress-send-timeout proxy-send-timeout 60 [1,1800] Délai d’expiration en secondes pour transmettre une demande au serveur proxy.
session-affinity affinity Aucun Session, Aucun Type d’affinité qui fait parvenir la requête au même réplica de pod qui a répondut à la demande précédente. Définissez session-affinity sur Cookie pour activer l’affinité de session. Dans le portail uniquement, vous devez choisir cocher la case d’activation de l’affinité de session.
session-max-age session-cookie-max-age 0 [0, 604800] Délai en secondes jusqu’à l’expiration du cookie, correspondant à la directive de cookie Max-Age. Si vous définissez session-max-age sur 0, la période d’expiration est égale à la période de session du navigateur.
backend-protocol backend-protocol Par défaut Par défaut, GRPC Définit le protocole backend pour indiquer comment NGINX doit communiquer avec le service backend. La valeur par défaut signifie HTTP/HTTPS/WebSocket. Le paramètre backend-protocol s’applique uniquement au trafic client à application. Pour le trafic d’application à application au sein de la même instance de service, choisissez n’importe quel protocole pour le trafic d’application à application sans modifier le paramètre backend-protocol. Le protocole ne limite pas votre choix de protocole pour le trafic d’application à application au sein de la même instance de service.

Prérequis

  • Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

  • Azure CLI avec l’extension Azure Spring Apps. Utilisez la commande suivante pour supprimer les versions précédentes et installer la dernière extension. Si vous avez déjà installé l’extension spring-cloud, désinstallez-la pour éviter les incompatibilités de configuration et de version.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    

Définir la configuration d’entrée

Utilisez la commande Azure CLI suivante pour définir la configuration d’entrée au moment de la création.

az spring app create \
    --resource-group <resource-group-name> \
    --service <service-name> \
    --name <service-name> \
    --ingress-read-timeout 300 \
    --ingress-send-timeout 60 \
    --session-affinity Cookie \
    --session-max-age 1800 \
    --backend-protocol Default \

Cette commande crée une application avec les paramètres suivants :

  • Délai d’expiration de la lecture d’entrée : 300 secondes
  • Délai d’expiration de l’envoi d’entrée : 60 secondes
  • Affinité de session : Cookie
  • Durée maximale du cookie de session : 1 800 secondes
  • Protocole backend : Par défaut

Mettre à jour les paramètres d’entrée pour une application existante

Suivez les étapes ci-dessous pour mettre à jour les paramètres d’entrée d’une application hébergée par une instance de service existante.

  1. Connectez-vous au portail Azure à l’aide d’un compte associé à l’abonnement Azure qui contient l’instance d’Azure Spring Apps.

  2. Accédez au volet Applications, puis sélectionnez l’application que vous souhaitez configurer.

  3. Accédez au volet Configuration, puis sélectionnez l’onglet Paramètres d’entrée.

  4. Mettez à jour les paramètres d’entrée, puis sélectionnez Enregistrer.

    Screenshot of Azure portal Configuration page showing the Ingress settings tab.

FAQ

  • Comment activer gRPC ?

    Définissez le protocole backend sur GRPC.

  • Comment activer WebSocket ?

    WebSocket est activé par défaut si le protocole backend est défini sur le paramètre Par défaut. La connexion WebSocket est limite à 20 000. Lorsque vous atteignez cette limite, la connexion échoue.

    Vous pouvez également utiliser RSocket basé sur WebSocket.

  • Quelle est la différence entre la configuration d’entrée et les paramètres d’entrée ?

    La configuration d’entrée peut toujours être utilisée dans Azure CLI et le Kit de développement logiciel (SDK) Azure, et ce paramètre s’applique à toutes les applications au sein de l’instance de service. Une fois qu’une application a été configurée par les paramètres d’entrée, elle n’est pas affectée par la configuration d’entrée. Nous ne recommandons pas d’utiliser la configuration d’entrée pour les nouveaux scripts, car nous envisageons d’arrêter de sa prise en charge.

  • Lorsque les paramètres d’entrée sont utilisés avec App Gateway/APIM, que se passe-t-il lorsque vous définissez le délai d’expiration à la fois dans Azure Spring Apps et dans l’entrée app Gateway/APIM ?

    Le délai d’expiration le plus court est utilisé.

  • Une configuration supplémentaire est-elle nécessaire dans App Gateway/APIM si vous avez besoin d’une prise en charge de bout en bout pour gRPC ou WebSocket ?

    Vous n’avez pas besoin de configuration supplémentaire tant qu’App Gateway prend en charge gRPC.

  • Le port configurable est-il pris en charge ?

    Le port configurable (80/443) n’est actuellement pas pris en charge.

Étapes suivantes