Remotedebuggen Ihrer Apps in Azure Spring Apps
Hinweis
Die Pläne Basic, Standard und Enterprise gelten ab Mitte März 2025 als veraltet und werden über einen Zeitraum von drei Jahren eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie in der Ankündigung zur Einstellung von Azure Spring Apps.
Der Plan Standardverbrauch und dediziert gilt ab dem 30. September 2024 als veraltet und wird nach sechs Monaten vollständig eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie unter Migrieren des Plans „Standardverbrauch und dediziert“ von Azure Spring Apps zu Azure Container Apps.
Dieser Artikel gilt für: ✔️ Basic/Standard ✔️ Enterprise
Dieses Feature beschreibt, wie Sie das Remotedebuggen Ihrer Anwendungen in Azure Spring Apps aktivieren.
Voraussetzungen
Azure CLI mit der Azure Spring Apps-Erweiterung. Verwenden Sie den folgenden Befehl, um frühere Versionen zu entfernen und die neueste Erweiterung zu installieren. Wenn Sie zuvor die spring-cloud-Erweiterung installiert hatten, deinstallieren Sie diese Erweiterung, um Konfigurations- und Versionskonflikte zu vermeiden.
az extension remove --name spring az extension add --name spring az extension remove --name spring-cloud
Bereitgestellte Anwendung in Azure Spring Apps
Aktivieren oder Deaktivieren des Remotedebuggens
Aus Sicherheitsgründen deaktiviert Azure Spring Apps standardmäßig das Remotedebuggen. Basierend auf Ihrer Unternehmensrichtlinie können Sie das Remotedebuggen für Ihre App selbst aktivieren oder einen Administrator bitten, es für Sie zu aktivieren. Sie können Remotedebuggen mithilfe der Azure CLI, des Azure-Portals oder der VS Code-Erweiterung aktivieren bzw. deaktivieren.
Führen Sie die folgenden Schritte aus, um das Remotedebuggen für Ihre Anwendung mithilfe des Azure-Portals zu aktivieren:
Zuweisen einer Azure-Rolle
Für das Remotedebuggen einer App-Instanz müssen Sie über die Rolle Azure Spring Apps Remote Debugging Role
verfügen, die die Datenaktionsberechtigung Microsoft.AppPlatform/Spring/apps/deployments/remotedebugging/action
beinhaltet.
Sie können eine Azure-Rolle über das Azure-Portal oder die Azure-Befehlszeilenschnittstelle zuweisen.
Führen Sie die folgenden Schritte aus, um eine Azure-Rolle über das Azure-Portal zuzuweisen:
Öffnen Sie das Azure-Portal.
Öffnen Sie Ihre Azure Spring Apps-Dienstinstanz.
Wählen Sie im Navigationsbereich Zugriffssteuerung (IAM) aus.
Wählen Sie auf der Seite Zugriffssteuerung (IAM) die Option Hinzufügen und dann Rollenzuweisung hinzufügen aus.
Suchen Sie auf der Seite Rollenzuweisung hinzufügen in der Liste Name nach Remotedebuggenrolle für Azure Spring Apps, und wählen Sie diese Rolle und dann Weiter aus.
Wählen Sie Mitglieder aus, suchen Sie nach Ihrem Benutzernamen, und wählen Sie diesen dann aus.
Wählen Sie Überprüfen und zuweisen aus.
Remotedebuggen einer App-Instanz
Sie können eine App-Instanz per Remotezugriff debuggen, indem Sie das Azure-Toolkit für IntelliJ oder die Azure Spring Apps-Erweiterung für VS Code verwenden.
In diesem Abschnitt wird beschrieben, wie Sie eine App-Instanz per Remotezugriff mithilfe des Azure-Toolkits für IntelliJ debuggen.
Voraussetzungen
- Azure-Toolkit für IntelliJ.
- IntelliJ IDEA, Ultimate oder Community Edition
Aktivieren oder Deaktivieren des Remotedebuggens
Führen Sie die folgenden Schritte aus, um das Remotedebuggen zu aktivieren bzw. zu deaktivieren:
Melden Sie sich im Azure-Explorer bei Ihrem Azure-Konto an.
Wählen Sie eine App-Instanz und dann Remotedebuggen aktivieren aus.
Debugger anfügen
Führen Sie die folgenden Schritte aus, um einen Debugger anzufügen:
Wählen Sie eine App-Instanz und dann Debugger anfügen aus. IntelliJ stellt eine Verbindung mit der App-Instanz her und startet das Remotedebuggen.
Das Azure-Toolkit für IntelliJ erstellt die Konfiguration für das Remotedebuggen. Sie finden sie unter Remote JVM Debug. Konfigurieren Sie den Modulklassenpfad zum Quellcode, den Sie für das Remotedebuggen verwenden.
Problembehandlung
Dieser Abschnitt enthält Informationen zur Problembehandlung.
Führen Sie die folgenden Aktionen aus, wenn Sie den Debugger nicht anfügen und einen Fehler wie
java.net.SocketException, connection reset
oderFailed to attach to remote debugger, ClosedConnectionException
erhalten:Führen Sie die folgenden Aktionen aus, wenn Sie den Debugger erfolgreich anfügen, die App-Instanz jedoch nicht per Remotezugriff debuggen können:
- Stellen Sie sicher, dass Ihre IDE den Quellcode enthält, den Sie debuggen möchten.
- Vergewissern Sie sich, dass die Debugkonfiguration über den richtigen Modulklassenpfad verfügt.
Begrenzungen
Remotedebuggen wird nur für Java-Anwendungen unterstützt.
Planen | Bereitstellungstyp | Unterstützt |
---|---|---|
Standard und Basic-Plan | JAR | Ja |
Standard und Basic-Plan | Quellcode (Java) | Ja |
Standard und Basic-Plan | Benutzerdefiniertes Image | No |
Enterprise-Tarif | Java Application | Ja |
Enterprise-Tarif | Quellcode (Java) | Ja |
Enterprise-Tarif | Benutzerdefiniertes Image | No |
Tipps
- Das Java-Remotedebuggen birgt gewisse Gefahren, da es die Remotecodeausführung zulässt. Azure Spring Apps hilft Ihnen, die Kommunikation zwischen Ihrer Client-IDE und der Remoteanwendung zu schützen. Sie sollten das Remotedebuggen jedoch deaktivieren und die RBAC-Rolle entfernen, wenn Sie fertig sind.
- Sie sollten die App-Instanz auf eine abskalieren, um sicherzustellen, dass der Datenverkehr zur Instanz geleitet werden kann.