Configurer VMware Spring Cloud Gateway
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 montre comment configurer VMware Spring Cloud Gateway pour VMware Tanzu avec le plan Entreprise Azure Spring Apps.
VMware Spring Cloud Gateway est un composant VMware Tanzu commercial basé sur le projet open source Spring Cloud Gateway. VMware Spring Cloud Gateway pour Tanzu gère les problèmes transversaux que rencontrent les équipes de développement d’API, comme l’authentification unique (SSO), le contrôle d’accès, la limitation du débit, la résilience et la sécurité. Vous pouvez accélérer la livraison des API en utilisant des modèles modernes natifs Cloud dans le langage de programmation de votre choix pour le développement d’API.
Une instance de VMware Spring Cloud Gateway route le trafic conformément à des règles. Elle prend en charge les opérations de scale-in/out et de scale-up/down afin de répondre aux besoins d’une charge de trafic dynamique.
VMware Spring Cloud Gateway propose les fonctionnalités suivantes :
- Configuration du routage dynamique, indépendamment des applications, que vous pouvez appliquer et modifier sans recompilation
- Filtres de routes d’API commerciales pour le transport des revendications JWT (JSON Web Token) autorisées vers des services d’application
- Autorisation de certificat client
- Approches de limitation du débit
- Configuration de disjoncteur
- Prise en charge de l’accès aux services d’application via les informations d’identification d’authentification HTTP de base
Pour son intégration au portail d’API pour VMware Tanzu, VMware Spring Cloud Gateway génère automatiquement la documentation d’OpenAPI version 3 lorsque des ajouts ou modifications sont apportées à la configuration du routage. Pour plus d’informations, consultez Utiliser le portail d’API pour VMware Tanzu.
Prérequis
- Une instance du service Azure Spring Apps de plan Entreprise déjà approvisionnée, avec VMware Spring Cloud Gateway activé. Pour plus d’informations, consultez Démarrage rapide : Générer et déployer des applications sur Azure Spring Apps à l’aide du plan Enterprise.
- Azure CLI version 2.0.67 ou ultérieure. Utilisez la commande suivante pour installer l’extension Azure Spring Apps :
az extension add --name spring
.
Activer ou désactiver VMware Spring Cloud Gateway
Vous pouvez activer ou désactiver VMware Spring Cloud Gateway après la création de l’instance de service à l’aide du portail Azure ou d’Azure CLI. Avant de désactiver VMware Spring Cloud Gateway, vous devez annuler l’affectation de son point de terminaison et supprimer toutes les configurations de routage.
Pour activer ou désactiver VMware Spring Cloud Gateway à l’aide du portail Azure, effectuez ces étapes :
- Accédez à votre ressource de service, puis sélectionnez Spring Cloud Gateway.
- Sélectionnez Gérer.
- Cochez ou décochez la case Activer Spring Cloud Gateway, puis sélectionnez Enregistrer.
Vous pouvez maintenant afficher l’état de Spring Cloud Gateway dans la page Spring Cloud Gateway.
Redémarrer VMware Spring Cloud Gateway
Une fois l’action de redémarrage terminée, les instances de VMware Spring Cloud Gateway sont redémarrées de manière propagée.
Pour redémarrer VMware Spring Cloud Gateway à l’aide du portail Azure, effectuez ces étapes :
- Accédez à votre ressource de service, puis sélectionnez Spring Cloud Gateway.
- Sélectionnez Redémarrer.
- Sélectionnez OK pour confirmer le redémarrage.
Affecter un point de terminaison public à VMware Spring Cloud Gateway
Cette section explique comment affecter un point de terminaison public à VMware Spring Cloud Gateway et comment configurer ses propriétés.
Pour affecter un point de terminaison dans le portail Azure, effectuez ces étapes :
- Ouvrez votre instance Azure Spring Apps.
- Sélectionnez Spring Cloud Gateway dans le volet de navigation, puis sélectionnez Vue d’ensemble.
- Affectez la valeur Oui à Affecter un point de terminaison.
Après quelques minutes, URL affiche l’URL de point de terminaison configurée. Enregistrez l’URL pour l’utiliser plus tard.
Configurer les métadonnées de VMware Spring Cloud Gateway
Les métadonnées VMware Spring Cloud Gateway génèrent automatiquement la documentation OpenAPI version 3. Vous pouvez configurer les métadonnées VMware Spring Cloud Gateway afin d’afficher les groupes de routes dans le portail d’API pour VMware Tanzu. Pour plus d’informations, consultez Utiliser le portail d’API pour VMware Tanzu.
Le tableau suivant décrit les options de métadonnées disponibles :
Propriété | Description |
---|---|
title |
Titre qui décrit le contexte des API disponibles sur l’instance de VMware Spring Cloud Gateway. La valeur par défaut est Spring Cloud Gateway for K8S . |
description |
Description détaillée des API disponibles sur l’instance de VMware Spring Cloud Gateway. La valeur par défaut est Generated OpenAPI 3 document that describes the API routes configured for '[Gateway instance name]' Spring Cloud Gateway instance deployed under '[namespace]' namespace.*. . |
documentation |
Emplacement de la documentation de l’API disponible sur l’instance de VMware Spring Cloud Gateway. |
version |
Version des API disponibles sur cette instance de VMware Spring Cloud Gateway. La valeur par défaut est unspecified . |
serverUrl |
URL de base pour accéder aux API sur l’instance de VMware Spring Cloud Gateway. Cette propriété est obligatoire si vous souhaitez procéder à une intégration au portail d’API. |
Vous pouvez utiliser le portail Azure ou Azure CLI pour modifier les propriétés des métadonnées.
Pour modifier les métadonnées dans le portail Azure, effectuez ces étapes :
- Ouvrez votre instance Azure Spring Apps.
- Sélectionnez Spring Cloud Gateway dans le volet de navigation, puis Configuration.
- Spécifiez des valeurs pour les propriétés répertoriées pour API.
- Sélectionnez Enregistrer.
Configurer l’authentification unique
VMware Spring Cloud Gateway prend en charge l’authentification et l’autorisation par le biais de l’authentification unique avec un fournisseur d’identité OpenID. Le fournisseur prend en charge le protocole OpenID Connect Discovery. Le tableau suivant décrit les propriétés d’authentification unique :
Propriété | Requis ? | Description |
---|---|---|
issuerUri |
Oui | URI déclaré comme identificateur de l’émetteur. Par exemple, si issuerUri est https://example.com , une demande de configuration du fournisseur OpenID est envoyée à https://example.com/.well-known/openid-configuration . Le résultat attendu est une réponse de configuration du fournisseur OpenID. |
clientId |
Oui | ID client OpenID Connect de votre fournisseur d’identité. |
clientSecret |
Oui | Clé secrète client OpenID Connect de votre fournisseur d’identité. |
scope |
Oui | Liste des étendues à inclure dans les jetons d’identité JWT. Cette liste doit être basée sur les étendues autorisées par votre fournisseur d’identité. |
Pour configurer l’authentification unique avec Microsoft Entra ID, consultez Configurer l’authentification unique à l’aide de Microsoft Entra ID pour Spring Cloud Gateway et le portail d’API.
Vous pouvez utiliser le portail Azure ou Azure CLI pour modifier les propriétés d’authentification unique.
Pour modifier les propriétés d’authentification unique dans le portail Azure, effectuez ces étapes :
- Ouvrez votre instance Azure Spring Apps.
- Sélectionnez Spring Cloud Gateway dans le volet de navigation, puis Configuration.
- Spécifiez des valeurs pour les propriétés répertoriées pour SSO.
- Sélectionnez Enregistrer.
VMware Spring Cloud Gateway prend uniquement en charge les serveurs d’autorisation qui prennent en charge le protocole OpenID Connect Discovery. Veillez également à configurer le serveur d’autorisation externe pour autoriser la redirection vers la passerelle. Reportez-vous à la documentation de votre serveur d’autorisation et ajoutez https://<gateway-external-url>/login/oauth2/code/sso
à la liste des URI de redirection autorisés.
Si vous configurez une mauvaise propriété d’authentification unique, comme un mot de passe incorrect, vous devrez supprimer l’intégralité de la propriété d’authentification unique puis ajouter la bonne configuration.
Après avoir configuré l’authentification unique, n’oubliez pas de définir ssoEnabled: true
pour les routes VMware Spring Cloud Gateway.
Configurer la déconnexion de l’authentification unique
Les instances de service VMware Spring Cloud Gateway fournissent un point de terminaison d’API par défaut pour se déconnecter de la session d’authentification unique active. Le chemin d’accès à ce point de terminaison est /scg-logout
. La déconnexion a l’un des résultats suivants, selon la façon dont vous appelez le point de terminaison de déconnexion :
- Déconnexion de la session et redirection vers la déconnexion du fournisseur d’identité (IdP).
- Déconnexion de la session d’instance de service.
Se déconnecter de la session IdP et SSO
Si vous envoyez une requête GET
au point de terminaison /scg-logout
, celui-ci envoie une réponse de redirection 302
à l’URL de déconnexion IdP. Pour faire en sorte que le point de terminaison renvoie l’utilisateur à un chemin sur l’instance de service de passerelle, ajoutez un paramètre de redirection à la requête GET
avec le point de terminaison /scg-logout
. Par exemple, vous pouvez utiliser ${server-url}/scg-logout?redirect=/home
.
La valeur du paramètre de redirection doit être un chemin valide sur l’instance de service VMware Spring Cloud Gateway. Vous ne pouvez pas rediriger vers une URL externe.
Les étapes suivantes illustrent comment implémenter la fonction dans vos microservices :
Obtenez une configuration de routage afin de router la requête de déconnexion vers votre application. Pour obtenir un exemple, consultez la configuration du routage dans le dépôt animal-rescue sur GitHub.
Ajoutez la logique de déconnexion dont vous avez besoin à l’application. À la fin, vous avez besoin d’une requête
GET
au point de terminaison/scg-logout
de la passerelle, comme indiqué dans la valeurreturn
de la méthodegetActionButton
dans le dépôt animal-rescue.
Se déconnecter uniquement de la session d’authentification unique
Si vous envoyez la requête GET
au point de terminaison /scg-logout
à l’aide de XMLHttpRequest
, la redirection 302
risque d’être avalée et de ne pas être gérée dans le gestionnaire de réponse. Dans ce cas, l’utilisateur serait déconnecté uniquement de la session d’authentification unique sur l’instance de service VMware Spring Cloud Gateway. Il aurait toujours une session IdP valide. En règle générale, si l’utilisateur tente de se reconnecter, il est automatiquement renvoyé à la passerelle comme authentifié à partir du fournisseur d’identité.
Vous devez disposer d’une configuration de routage afin de router la requête de déconnexion vers votre application, comme illustré dans l’exemple suivant. Ce code crée une session d’authentification unique de déconnexion de passerelle uniquement.
const req = new XMLHttpRequest();
req.open("GET", "/scg-logout);
req.send();
Configurer le partage des ressources cross-origin (CORS)
Le partage des ressources cross-origin (CORS) permet aux ressources limitées d’une page web d’être demandées à partir d’un domaine autre que celui à partir duquel la première ressource a été fournie. Le tableau suivant décrit les options de configuration CORS disponibles.
Propriété | Description |
---|---|
allowedOrigins |
Origines autorisées pour effectuer des requêtes intersites. |
allowedOriginPatterns |
Modèles d’origines autorisés pour effectuer des requêtes intersites |
allowedMethods |
Méthodes HTTP autorisées sur les requêtes intersites |
allowedHeaders |
En-têtes autorisés dans les requêtes intersites |
maxAge |
Durée, en secondes, pendant laquelle les clients mettent en cache la réponse à une requête préliminaire |
allowCredentials |
Si les informations d’identification de l’utilisateur sont prises en charge sur les requêtes intersites |
exposedHeaders |
En-têtes de réponse HTTP à exposer pour les requêtes intersites |
Vérifiez que vous disposez de la bonne configuration CORS si vous souhaitez procéder à une intégration au portail d’API. Pour plus d’informations, consultez la section Affecter un point de terminaison public à VMware Spring Cloud Gateway.
Utiliser la mise à l’échelle du service
Vous pouvez personnalisez l’allocation des ressources pour les instances de VMware Spring Cloud Gateway, notamment les processeurs virtuels, la mémoire et le nombre d’instances.
Pour la haute disponibilité, nous déconseillons l’utilisation d’un seul réplica.
Le tableau suivant décrit l’utilisation des ressources par défaut.
Nom du composant | Nombre d’instances | Processeur virtuel par instance | Mémoire par instance |
---|---|---|---|
VMware Spring Cloud Gateway | 2 | 1 cœur | 2 Gio |
Opérateur VMware Spring Cloud Gateway | 2 | 1 cœur | 2 Gio |
Configurer TLS entre la passerelle et les applications
Pour renforcer la sécurité et protéger les informations sensibles contre toute interception par des parties non autorisées, vous pouvez activer le protocole TLS (Transport Layer Security) entre VMware Spring Cloud Gateway et vos applications.
Avant de configurer TLS, vous devez disposer d’une application compatible TLS et d’un certificat TLS. Pour préparer un certificat TLS, générez un certificat à partir d’une autorité de certification approuvée. Le certificat vérifie l’identité du serveur et établit une connexion sécurisée.
Une fois qu’une application compatible TLS s’exécute dans Azure Spring Apps, chargez le certificat sur Azure Spring Apps. Pour plus d'informations, consultez la certification Importer un certificats de Utiliser des certificats TLS/SSL dans votre application dans Azure Spring Apps.
Avec le certificat mis à jour sur Azure Spring Apps, vous pouvez configurer le certificat TLS pour la passerelle et activer la vérification de certificat. Vous pouvez configurer le certificat dans le portail Azure ou à l’aide d’Azure CLI.
Pour configurer le certificat dans le portail Azure, effectuez ces étapes :
- Dans votre instance d’Azure Spring Apps, sélectionnez Spring Cloud Gateway dans le volet de navigation.
- Dans la page Spring Cloud Gateway, sélectionnez Gestion des certificats.
- Sélectionnez Activer la vérification de certificat.
- Sélectionnez le certificat TLS dans Certificats.
- Sélectionnez Enregistrer.
La mise à jour de la configuration peut prendre quelques minutes. Une fois la configuration terminée, vous devriez recevoir une notification.
Préparer la configuration du routage
Vous devez spécifier le protocole HTTPS dans la configuration du routage. L’objet JSON suivant indique à VMware Spring Cloud Gateway d’utiliser le protocole HTTPS pour tout le trafic entre la passerelle et l’application.
Créez un fichier nommé test-tls-route.json avec le contenu suivant :
{ "routes": [ { "title": "Test TLS app", "predicates": [ "Path=/path/to/your/app", "Method=GET" ] } ], "uri": "https://<app-custom-domain-name>" }
Utilisez la commande suivante pour appliquer la règle à l’application :
az spring gateway route-config create \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name test-tls-app \ --routes-file test-tls-route.json
Vous pouvez maintenant tester si l’application est compatible TLS avec le point de terminaison de la passerelle. Pour plus d’informations, consultez la section Configurer des routes de Utiliser Spring Cloud Gateway.
Effectuer une rotation des certificats
À mesure que les certificats expirent, vous devez faire pivoter les certificats dans VMware Spring Cloud Gateway en effectuant ces étapes :
- Générez de nouveaux certificats à partir d’une autorité de certification approuvée.
- Importez les certificats dans Azure Spring Apps. Pour plus d'informations, consultez la certification Importer un certificats de Utiliser des certificats TLS/SSL dans votre application dans Azure Spring Apps.
- Synchronisez les certificats à l’aide du portail Azure ou d’Azure CLI.
VMware Spring Cloud Gateway redémarre afin de s’assurer que la passerelle utilise le nouveau certificat pour toutes les connexions.
Pour synchroniser les certificats, effectuez ces étapes :
- Dans votre instance d’Azure Spring Apps, sélectionnez Spring Cloud Gateway dans le volet de navigation.
- Dans la page Spring Cloud Gateway, sélectionnez Redémarrer, puis confirmez l’opération.
Configurer les paramètres de mise à l'échelle automatique
Vous pouvez définir des modes de mise à l’échelle automatique pour VMware Spring Cloud Gateway.
La liste suivante présente les options disponibles pour la gestion des demandes de mise à l’échelle automatique :
- L’option Mise à l’échelle manuelle conserve un nombre d’instances fixe. Vous pouvez effectuer un scale-out allant jusqu’à 10 instances. Cette valeur change le nombre d’instances distinctes de Spring Cloud Gateway en cours d’exécution.
- L’option Mise à l’échelle automatique personnalisée effectue une mise à l’échelle selon n’importe quelle planification, sur la base de n’importe quelle métrique.
Dans le portail Azure, choisissez la façon dont vous souhaitez effectuer la mise à l’échelle. La capture d’écran suivante montre l’option Mise à l’échelle automatique personnalisée et les paramètres de mode :
Pour plus d’informations sur les métriques disponibles, consultez la section Options de métriques de l’utilisateur dans Métriques pour Azure Spring Apps.
Configurer le cache de réponse
La configuration du cache de réponse offre un moyen de définir un cache de réponse HTTP que vous pouvez appliquer globalement ou au niveau de la route.
Activer le cache de réponse globalement
Une fois que vous avez activé le cache de réponse globalement, il est automatiquement activé pour toutes les routes applicables.
Effectuez les étapes suivantes pour activer le cache de réponse globalement :
- Dans votre instance d’Azure Spring Apps, sélectionnez Spring Cloud Gateway dans le volet de navigation.
- Dans la page Spring Cloud Gateway, sélectionnez Configuration.
- Dans la section Cache de réponse, sélectionnez Activer le cache de réponse, puis définissez Étendue sur Instance.
- Définissez la taille et la durée de vie pour le cache de réponse.
- Sélectionnez Enregistrer.
Pour désactiver le cache de réponse, effectuez ces étapes :
- Dans votre instance d’Azure Spring Apps, sélectionnez Spring Cloud Gateway dans le volet de navigation.
- Dans la page Spring Cloud Gateway, sélectionnez Configuration.
- Dans la section Cache de réponse, désactivez Activer le cache de réponse.
- Sélectionnez Enregistrer.
Activer le cache de réponse au niveau de la route
Pour activer le cache de réponse pour n’importe quelle route, utilisez le filtre LocalResponseCache
. L’exemple suivant montre comment utiliser le filtre LocalResponseCache
dans la configuration de règle de routage :
{
"filters": [
"<other-app-level-filter-of-route>",
],
"routes": [
{
"predicates": [
"Path=/api/**",
"Method=GET"
],
"filters": [
"<other-filter-of-route>",
"LocalResponseCache=3m, 1MB"
],
}
]
}
Pour plus d’informations, consultez la section LocalResponseCache de Guide pratique pour utiliser des filtres de routage VMware Spring Cloud Gateway avec le plan Entreprise Azure Spring Apps et LocalResponseCache dans la documentation VMware.
Au lieu de configurer size
et timeToLive
pour chaque filtre LocalResponseCache
individuellement, vous pouvez définir ces paramètres au niveau de Spring Cloud Gateway. Cette option vous permet d’utiliser le filtre LocalResponseCache
sans spécifier ces valeurs initialement, tout en conservant la possibilité de les remplacer ultérieurement.
Effectuez les étapes suivantes pour activer le cache de réponse au niveau de la route et définir size
et timeToLive
:
- Dans votre instance d’Azure Spring Apps, sélectionnez Spring Cloud Gateway dans le volet de navigation.
- Dans la page Spring Cloud Gateway, sélectionnez Configuration.
- Dans la section Cache de réponse, sélectionnez Activer le cache de réponse, puis définissez Étendue sur Route.
- Définissez la taille et la durée de vie pour le cache de réponse.
- Sélectionnez Enregistrer.
Effectuez les étapes suivantes pour désactiver le cache de réponse au niveau de la route, ce qui efface size
et timeToLive
:
- Dans votre instance d’Azure Spring Apps, sélectionnez Spring Cloud Gateway dans le volet de navigation.
- Dans la page Spring Cloud Gateway, sélectionnez Configuration.
- Dans la section Cache de réponse, désactivez Activer le cache de réponse.
- Sélectionnez Enregistrer.
L’exemple suivant montre comment utiliser le filtre LocalResponseCache
quand size
et timeToLive
sont définis au niveau de Spring Cloud Gateway :
{
"filters": [
"<other-app-level-filter-of-route>",
],
"routes": [
{
"predicates": [
"Path=/api/path1/**",
"Method=GET"
],
"filters": [
"<other-filter-of-route>",
"LocalResponseCache"
],
},
{
"predicates": [
"Path=/api/path2/**",
"Method=GET"
],
"filters": [
"<other-filter-of-route>",
"LocalResponseCache=3m, 1MB"
],
}
]
}
Configuration des variables d’environnement
Le service Azure Spring Apps gère et ajuste VMware Spring Cloud Gateway. À l’exception des cas d’usage qui configurent l’analyse des performances des applications (APM) et le niveau de journal, vous n’avez normalement pas besoin de configurer VMware Spring Cloud Gateway avec des variables d’environnement.
Si vous avez des exigences que vous ne pouvez pas satisfaire par d’autres configurations décrites dans cet article, vous pouvez essayer de configurer les variables d’environnement affichées dans la liste des propriétés d’application courantes. Veillez à vérifier votre configuration dans votre environnement de test avant de l’appliquer à votre environnement de production.
Pour configurer des variables d’environnement dans le portail Azure, effectuez ces étapes :
- Dans votre instance d’Azure Spring Apps, sélectionnez Spring Cloud Gateway dans le volet de navigation, puis sélectionnez Configuration.
- Renseignez les paires clé/valeur pour les variables d’environnement dans les sections Propriétés et Secrets. Vous pouvez inclure des variables avec des informations sensibles dans la section Secrets.
- Cliquez sur Enregistrer pour enregistrer vos modifications.
Après la mise à jour de variables d’environnement, VMware Spring Cloud Gateway redémarre.
Configurer l’analyse des performances des applications (APM)
Pour analyser VMware Spring Cloud Gateway, vous pouvez configurer APM. Le tableau suivant répertorie les cinq types d’agents Java APM fournis par VMware Spring Cloud Gateway, ainsi que leurs variables d’environnement requises.
Agent Java | Variables d’environnement requises |
---|---|
Application Insights | APPLICATIONINSIGHTS_CONNECTION_STRING |
Dynatrace | DT_TENANT DT_TENANTTOKEN DT_CONNECTION_POINT |
New Relic | NEW_RELIC_LICENSE_KEY NEW_RELIC_APP_NAME |
AppDynamics | APPDYNAMICS_AGENT_APPLICATION_NAME APPDYNAMICS_AGENT_TIER_NAME APPDYNAMICS_AGENT_NODE_NAME APPDYNAMICS_AGENT_ACCOUNT_NAME APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEY APPDYNAMICS_CONTROLLER_HOST_NAME APPDYNAMICS_CONTROLLER_SSL_ENABLED APPDYNAMICS_CONTROLLER_PORT |
Elastic APM | ELASTIC_APM_SERVICE_NAME ELASTIC_APM_APPLICATION_PACKAGES ELASTIC_APM_SERVER_URL |
Pour découvrir d’autres variables d’environnement prises en charge, consultez les sources suivantes :
- Vue d’ensemble d’Application Insights
- Variables d’environnement Dynatrace
- Variables d’environnement New Relic
- Variables d’environnement AppDynamics
- Variables d’environnement Elastic
Configurer l’intégration d’APM au niveau de l’instance de service (recommandé)
Pour activer l’analyse APM dans votre instance de VMware Spring Cloud Gateway, vous pouvez créer une configuration APM au niveau de l’instance de service et la lier à Spring Cloud Gateway. Ainsi, vous pouvez configurer APM une seule fois et lier la même analyse APM à Spring Cloud Gateway et à vos applications.
Effectuez les étapes suivantes pour configurer APM à l’aide du portail Azure :
Configurez APM au niveau de l’instance de service avec le nom, le type et les propriétés APM. Pour plus d’informations, consultez la section Gérer les APM au niveau de l’instance de service (recommandé) de Guide pratique pour configurer l’intégration APM et les certificats d’autorité de certification.
Sélectionnez Spring Cloud Gateway dans le volet de navigation, puis APM.
Choisissez le nom APM dans la liste des noms de référence APM. La liste inclut tous les noms APM configurés à l’étape 1.
Sélectionnez Enregistrer pour lier les noms de référence APM à Spring Cloud Gateway. Votre passerelle redémarre pour activer l’analyse APM.
Gérer APM dans VMware Spring Cloud Gateway (déprécié)
Vous pouvez utiliser le portail Azure ou Azure CLI pour configurer APM dans VMware Spring Cloud Gateway. Vous pouvez également spécifier les types d’agents Java APM à utiliser et les variables d’environnement APM correspondantes qu’ils prennent en charge.
Effectuez les étapes suivantes pour configurer APM à l’aide du portail Azure :
- Dans votre instance d’Azure Spring Apps, sélectionnez Spring Cloud Gateway dans le volet de navigation, puis sélectionnez Configuration.
- Choisissez le type APM dans la liste APM pour analyser une passerelle.
- Renseignez les paires clé/valeur pour les variables d’environnement APM dans les sections Propriétés et Secrets. Vous pouvez placer des variables avec des informations sensibles dans des Secrets.
- Cliquez sur Enregistrer pour enregistrer vos modifications.
La mise à jour de la configuration peut prendre quelques minutes. Une fois la configuration terminée, vous devriez recevoir une notification.
Remarque
Azure Spring Apps met à niveau l’agent APM et les applications déployées avec la même cadence, afin de maintenir la compatibilité des agents entre VMware Spring Cloud Gateway et Azure Spring Apps.
Par défaut, Azure Spring Apps imprime les journaux de l’agent Java APM vers STDOUT
. Ces journaux sont inclus dans les journaux VMware Spring Cloud Gateway. Vous pouvez vérifier la version de l’agent APM utilisée dans les journaux. Vous pouvez interroger ces journaux dans Log Analytics pour résoudre les problèmes.
Pour que les agents APM fonctionnent correctement, augmentez le processeur et la mémoire de VMware Spring Cloud Gateway.
Configurer des niveaux de journaux
Vous pouvez configurer les niveaux de journalisation de VMware Spring Cloud Gateway des manières suivantes afin d’obtenir davantage de détails ou de réduire les journaux :
- Vous pouvez définir les niveaux de journalisation sur
TRACE
,DEBUG
,INFO
,WARN
,ERROR
ouOFF
. Le niveau de journalisation par défaut pour VMware Spring Cloud Gateway estINFO
. - Vous pouvez désactiver les journaux en définissant les niveaux de journalisation sur
OFF
. - Lorsque le niveau de journalisation est défini sur
WARN
,ERROR
ouOFF
, vous devrez peut-être le régler surINFO
lors d’une demande de support technique auprès de l’équipe Azure Spring Apps. Cette modification entraîne un redémarrage de VMware Spring Cloud Gateway. - Lorsque le niveau de journalisation est défini sur
TRACE
ouDEBUG
, cela peut affecter les performances de VMware Spring Cloud Gateway. Essayez d’éviter ces paramètres dans votre environnement de production. - Vous pouvez définir des niveaux de journalisation pour l’enregistreur d’événements
root
ou pour des enregistreurs d’événements spécifiques tels queio.pivotal.spring.cloud.gateway
.
Les enregistreurs d’événements suivants peuvent contenir des informations de dépannage précieuses aux niveaux TRACE
et DEBUG
:
Enregistreur | Description |
---|---|
io.pivotal.spring.cloud.gateway |
Filtres et prédicats, y compris les extensions personnalisées |
org.springframework.cloud.gateway |
Passerelle API |
org.springframework.http.server.reactive |
Interactions de serveur HTTP |
org.springframework.web.reactive |
Flux réactifs de passerelle d’API |
org.springframework.boot.autoconfigure.web |
Configuration automatique de la passerelle d’API |
org.springframework.security.web |
Informations d’authentification et d’autorisation |
reactor.netty |
Reactor Netty |
Pour obtenir des clés de variables d’environnement, ajoutez le préfixe logging.level.
, puis définissez le niveau de journalisation en configurant logging.level.{loggerName}={logLevel}
pour l’environnement. Les exemples suivants montrent les étapes à effectuer dans le portail Azure et dans Azure CLI.
Pour configurer les niveaux de journalisation dans le portail Azure, effectuez ces étapes :
- Dans votre instance d’Azure Spring Apps, sélectionnez Spring Cloud Gateway dans le volet de navigation, puis sélectionnez Configuration.
- Renseignez les paires clé/valeur pour les variables d’environnement des niveaux de journalisation dans les sections Propriétés et Secrets. Si dans votre cas le niveau de journalisation est Informations sensibles, vous pouvez l’inclure à l’aide de la section Secrets.
- Cliquez sur Enregistrer pour enregistrer vos modifications.
Mettre à jour la configuration du module complémentaire
La fonctionnalité de configuration du module complémentaire vous permet de personnaliser certaines propriétés de VMware Spring Cloud Gateway à l’aide d’une chaîne au format JSON. Cette fonctionnalité est utile lorsque vous devez configurer des propriétés qui ne sont pas exposées par le biais de l’API REST.
La configuration du module complémentaire est un objet JSON avec des paires clé/valeur qui représentent la configuration souhaitée. L’exemple suivant montre la structure du format JSON :
{
"<addon-key-name>": {
"<addon-key-name>": "<addon-value>"
...
},
"<addon-key-name>": "<addon-value>",
...
}
La liste suivante montre les configurations de module complémentaire prises en charge pour les noms de clés et types de valeurs du module complémentaire. Cette liste est susceptible de changer à mesure que nous mettons à niveau la version de VMware Spring Cloud Gateway.
Configuration SSO :
Nom de la clé :
sso
Type de valeur : Objet
Propriétés :
RolesAttributeName
(chaîne) : spécifie le nom de l’attribut qui contient les rôles associés à la session d’authentification unique.InactiveSessionExpirationInMinutes
(entier) : spécifie le délai d’expiration, en minutes, pour les sessions d’authentification unique inactives. La valeur0
signifie que la session n’expire jamais.
Exemple :
{ "sso": { "rolesAttributeName": "roles", "inactiveSessionExpirationInMinutes": 1 } }
Configuration des métadonnées :
Nom de la clé :
api
Type de valeur : Objet
Propriétés
groupId
(chaîne) : identificateur unique pour le groupe d’API disponibles sur l’instance de VMware Spring Cloud Gateway. La valeur doit être composée uniquement de lettres minuscules et de chiffres.
Exemple :
{ "api": { "groupId": "id1" } }
Configuration de pod
Nom de clé :
PodOverrides
, qui est utilisé pour spécifier des remplacements pour la configuration de pod par défaut.Type de valeur : Objet
Propriétés
Containers
: ce tableau contient la configuration des conteneurs individuels au sein du pod. Seul le conteneur nommégateway
est pris en charge actuellement.Name
: spécifie le nom du conteneur. Le conteneur doit être nommégateway
.Lifecycle
:PreStop
est un hook de cycle de vie exécuté lorsqu’un conteneur est sur le point d’être arrêté. Ce crochet vous permet d'effectuer tout nettoyage nécessaire avant que le conteneur ne s'arrête.
TerminationGracePeriodSeconds
: spécifie la durée pendant laquelle Kubernetes attend qu’un pod se termine correctement avant de le tuer de force.
Exemple :
{ "PodOverrides": { "Containers": [ { "Name": "gateway", "Lifecycle": { "PreStop": { "Exec": { "Command": [ "/bin/sh", "-c", "sleep 20" ] } } } } ], "TerminationGracePeriodSeconds": 120 } }
Lorsqu’un pod contenant ce conteneur est arrêté, le hook
PreStop
exécute la commande/bin/sh -c 'sleep 20'
, ce qui entraîne le sommeil du conteneur pendant 20 secondes. Cette pause donne au conteneur le temps de terminer les tâches en cours ou de faire le ménage avant qu'il ne s'arrête réellement.Le paramètre
TerminationGracePeriodSeconds
fournit un total de 120 secondes pour que le pod se termine correctement, y compris le temps nécessaire à tous les crochets de cycle de vie, tels quePreStop
.
Effectuez les étapes suivantes pour mettre à jour la configuration du module complémentaire :
- Dans votre instance d’Azure Spring Apps, sélectionnez Spring Cloud Gateway dans le volet de navigation, puis sélectionnez Configuration.
- Spécifiez la valeur JSON pour Configurations de module complémentaire.
- Sélectionnez Enregistrer.