Déboguer vos applications à distance dans Azure Spring Apps
Remarque
Les plans Essentiel, Standardet 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 concernant la mise hors service d’Azure Spring Apps.
La consommation Standard et le plan dédié seront déconseillés à compter du 30 septembre 2024, avec un arrêt complet six mois après. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez Migrer la consommation standard et le plan dédié Azure Spring Apps vers Azure Container Apps.
Cet article s’applique au : Niveau ✔️ De base/Standard ✔️ Entreprise
Cette fonctionnalité explique comment activer le débogage à distance de vos applications dans Azure Spring Apps.
Prérequis
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
Une application déployée dans Azure Spring Apps.
Activation ou désactivation du débogage à distance
Pour des raisons de sécurité, Azure Spring Apps désactive par défaut le débogage à distance. En fonction de la politique de votre entreprise, vous pouvez activer vous-même le débogage à distance pour votre application ou demander à un administrateur de l’activer pour vous. Vous pouvez activer ou désactiver le débogage à distance en tirant parti de l’interface Azure CLI, du Portail Azure ou de l’extension VS Code.
Utilisez les étapes suivantes pour activer le débogage à distance pour votre application en utilisant le Portail Azure :
Affecter un rôle Azure
Pour déboguer à distance une instance d’application, vous devez vous voir octroyer le rôle Azure Spring Apps Remote Debugging Role
qui inclut l’autorisation d’action de données Microsoft.AppPlatform/Spring/apps/deployments/remotedebugging/action
.
Vous pouvez attribuer un rôle en tirant partie du Portail Azure ou de l’interface Azure CLI.
Utilisez les étapes suivantes pour attribuer un rôle Azure à l’aide du Portail Azure.
Ouvrez le portail Azure.
Ouvrez votre instance de service Azure Spring Apps.
Dans le volet de navigation, sélectionnez Contrôle d’accès (IAM).
Dans la page Contrôle d’accès (IAM), sélectionnez Ajouter, puis Ajouter une attribution de rôle.
Dans la page Ajouter une attribution de rôle de la liste Nom, recherchez et sélectionnez Rôle de débogage à distance Azure Spring Apps, puis Suivant.
Sélectionnez Membres, puis recherchez et sélectionnez votre nom d’utilisateur.
Sélectionnez Vérifier + attribuer.
Déboguer à distance une instance d’application
Vous pouvez déboguer une instance d’application à distance en utilisant Azure Toolkit for IntelliJ ou l’extension Azure Spring Apps pour VS Code.
Cette section explique le débogage à distance d’une instance d’application en utilisant Azure Toolkit for IntelliJ.
Prérequis
- Kit de ressources Azure pour IntelliJ.
- IntelliJ IDEA, édition Community ou Ultimate.
Activation ou désactivation du débogage à distance
Procédez comme suit pour activer ou désactiver le débogage à distance :
Connectez-vous à votre compte Azure dans Azure Explorer.
Sélectionnez une instance d’application, puis Activer le débogage à distance.
Attacher le débogueur
Utilisez les étapes suivantes pour attacher le débogueur.
Sélectionnez une instance d’application, puis Attacher le débogueur. IntelliJ se connecte à l’instance d’application et démarre le débogage à distance.
Azure Toolkit for IntelliJ crée la configuration de débogage à distance. Vous le trouverez sous Remote Jvm Debug". Configurez le chemin d’accès de classe du module vers le code source que vous utilisez pour le débogage à distance.
Dépannage
Cette section fournit des informations sur la résolution des problèmes.
Prenez les mesures suivantes si vous ne parvenez pas à attacher le débogueur et recevez une erreur similaire à
java.net.SocketException, connection reset
ouFailed to attach to remote debugger, ClosedConnectionException
:Prenez les mesures suivantes si vous attachez correctement le débogueur, mais que vous ne pouvez pas déboguer à distance l’instance d’application :
- Vérifiez que votre IDE contient le code source que vous souhaitez déboguer.
- Vérifiez que la configuration de débogage dispose du chemin d’accès de classe de module correct.
Limites
Le débogage à distance est pris en charge uniquement pour les applications Java.
Plan | Type de déploiement | Prise en charge |
---|---|---|
Plan Standard et de base | Jar | Oui |
Plan Standard et de base | Code source (Java) | Oui |
Plan Standard et de base | Image personnalisée | Non |
Plan Entreprise | Application Java | Oui |
Plan Entreprise | Code source (Java) | Oui |
Plan Entreprise | Image personnalisée | Non |
Conseils
- Le débogage à distance Java est dangereux, car il permet une exécution de code à distance. Azure Spring Apps vous permet de sécuriser la communication entre votre IDE client et l’application distante. Toutefois, nous vous conseillons de désactiver le débogage à distance et de supprimer le rôle RBAC quand vous avez terminé.
- Nous vous conseillons d’effectuer un scale-in sur un de l’instance d’application pour veiller à ce que ce trafic puisse atteindre l’instance.