Partager via


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 :

  1. Accédez à la page de votre application.

  2. Sous Paramètres dans le volet de navigation gauche, sélectionnez Débogage à distance.

  3. Dans la page Débogage à distance, activez le débogage à distance et spécifiez le port de débogage.

    Capture d’écran du Portail Azure montrant la page Débogage à distance avec les options Débogage à distance et Port de débogage sélectionnées.

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.

  1. Ouvrez le portail Azure.

  2. Ouvrez votre instance de service Azure Spring Apps.

  3. Dans le volet de navigation, sélectionnez Contrôle d’accès (IAM).

  4. Dans la page Contrôle d’accès (IAM), sélectionnez Ajouter, puis Ajouter une attribution de rôle.

    Capture d’écran du Portail Azure montrant la page Contrôle d’accès (IAM) d’une instance Azure Spring Apps avec mise en évidence de l’option Ajouter une attribution de rôle.

  5. 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.

    Capture d’écran du Portail Azure illustrant la page Ajouter une attribution de rôle avec mise en évidence du nom Rôle de débogage à distance Azure Spring Apps.

  6. Sélectionnez Membres, puis recherchez et sélectionnez votre nom d’utilisateur.

  7. 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

Activation ou désactivation du débogage à distance

Procédez comme suit pour activer ou désactiver le débogage à distance :

  1. Connectez-vous à votre compte Azure dans Azure Explorer.

  2. Sélectionnez une instance d’application, puis Activer le débogage à distance.

    Capture d’écran d’IntelliJ montrant l’option de menu Enable Remote Debugging.

Attacher le débogueur

Utilisez les étapes suivantes pour attacher le débogueur.

  1. 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.

    Capture d’écran d’IntelliJ montrant l’option de menu Attach Debugger.

  2. 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.

    Capture d’écran d’IntelliJ montrant la page Run/Debug Configurations.

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 ou Failed to attach to remote debugger, ClosedConnectionException :

    • Vérifiez le rôle RBAC pour veiller à ce que vous soyez autorisé à déboguer à distance une instance d’application.

    • Vérifiez que vous vous connectez à une instance valide. Actualisez le déploiement pour obtenir les dernières instances.

      Capture d’écran de l’explorateur de projets IntelliJ montrant l’option de menu Refresh pour le nœud App Instances.

  • 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.

Étapes suivantes