在 Azure Spring Apps 中远程调试应用
注意
基本、标准和企业计划将从 2025 年 3 月中旬开始弃用,停用期为 3 年。 建议转换到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告。
标准消耗和专用计划将于 2024 年 9 月 30 日开始弃用,并在六个月后完全关闭。 建议转换到 Azure 容器应用。
此功能说明如何在 Azure Spring Apps 中启用应用程序的远程调试。
先决条件
带有 Azure Spring Apps 扩展的 Azure CLI。 使用以下命令删除以前的版本,并安装最新的扩展。 如果以前安装了 spring-cloud 扩展,请卸载它以避免配置和版本不匹配。
az extension remove --name spring az extension add --name spring az extension remove --name spring-cloud
Azure Spring Apps 中部署的应用程序。
启用或禁用远程调试
出于安全原因,Azure Spring Apps 默认会禁用远程调试。 根据公司的策略,你可以自行为应用启用远程调试,或者让管理员为你启用远程调试。 可以使用 Azure CLI、Azure 门户或 VS Code 扩展启用或禁用远程调试。
使用以下步骤通过 Azure 门户为应用程序启用远程调试:
分配 Azure 角色
若要远程调试应用实例,必须授予角色 Azure Spring Apps Remote Debugging Role
,该角色拥有 Microsoft.AppPlatform/Spring/apps/deployments/remotedebugging/action
数据操作权限。
可以使用 Azure 门户或 Azure CLI 分配 Azure 角色。
按照以下步骤使用 Azure 门户分配 Azure 角色。
打开 Azure 门户。
打开你的 Azure Spring Apps 服务实例。
在导航窗格中,选择“访问控制(IAM)”。
在“访问控制(IAM)”页上选择“添加”,然后选择“添加角色分配”。
在“添加角色分配”页上的“名称”列表中,搜索并选择“Azure Spring Apps 远程调试角色”,然后选择“下一步”。
选择“成员”,然后搜索并选择你的用户名。
选择“查看 + 分配”。
远程调试应用实例
可以使用 Azure Toolkit for IntelliJ 或 Azure Spring Apps for VS Code 扩展远程调试应用实例。
本部分介绍如何使用 Azure Toolkit for IntelliJ 远程调试应用实例。
先决条件
- 用于 IntelliJ 的 Azure 工具包。
- IntelliJ IDEA Ultimate 或 Community 版。
启用或禁用远程调试
使用以下步骤启用或禁用远程调试:
附加调试程序
使用以下步骤附加调试器。
选择一个应用实例,然后选择“附加调试器”。 IntelliJ 将连接到该应用实例并开始远程调试。
Azure Toolkit for IntelliJ 会创建远程调试配置。 可以在“远程 JVM 调试”下找到该配置。配置用于远程调试的源代码的模块类路径。
故障排除
本部分提供故障排除信息。
限制
仅支持对 Java 应用程序进行远程调试。
计划 | 部署类型 | 支持 |
---|---|---|
标准和基本计划 | Jar | 是 |
标准和基本计划 | 源代码 (Java) | 是 |
标准和基本计划 | 自定义映像 | 否 |
提示
- Java 远程调试是有风险的操作,因为它允许执行远程代码。 Azure Spring Apps 可帮助你保护客户端 IDE 与远程应用程序之间的通信。 但是,在完成后应禁用远程调试并删除 RBAC 角色。
- 应将应用实例缩减为一个,以确保流量可以进入该实例。