Partager via


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

Remarque

Les plans Essentiel, Standard et Entreprise seront déconseillés à compter de la mi-mars 2025, avec une période de mise hors service de 3 ans. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez l’annonce de mise hors service d’Azure Spring Apps.

Le plan de consommation standard et dédiée sera déconseillé à compter du 30 septembre 2024, avec un arrêt complet après six mois. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez Migrer le plan de consommation standard et dédiée Azure Spring Apps vers Azure Container Apps.

Cet article s’applique à :✅ Essentiel/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 Aucune Session, None Type d’affinité qui fait que la requête est adressée au même réplica de pod que celui qui a répondu à la requête 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.
client-auth client-auth 0 sélectionné - Sélectionnez les certificats avec la clé publique que vous avez chargée dans les paramètres TLS/SSL. L’entrée concatène ces certificats en un seul, puis l’utilise pour l’authentification du client.

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 <app-name> \
    --ingress-read-timeout 300 \
    --ingress-send-timeout 60 \
    --session-affinity Cookie \
    --session-max-age 1800 \
    --backend-protocol Default \
    --client-auth-certs <cert-id>

Remarque

La valeur cert-id est au format /subscriptions/<your-sub-id>/resourceGroups/<resource-group-name>/providers/Microsoft.AppPlatform/Spring/<service-name>/certificates/<cert-name>. Pour obtenir la valeur cert-id, utilisez la commande suivante : az spring certificate show --service <service-instance-name> --resource-group <resource-group-name> --name <certificate-name> --query id

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
  • Client Auth: cert-name

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.

    Capture d’écran de la page Configuration du Portail Azure montrant l’onglet Paramètres d’entrée.

Forum aux questions

  • 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 cette limite est atteinte, la connexion est interrompue.

    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), et ce paramètre s’applique à toutes les applications au sein de l’instance de service. Une fois que les paramètres d’entrée ont configuré une application, la configuration d’entrée ne peut plus l’affecter. 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