Compartir a través de


Depuración remota de las aplicaciones en Azure Spring Apps

Nota:

Azure Spring Apps es el nuevo nombre del servicio Azure Spring Cloud. Aunque el servicio tiene un nuevo nombre, verá el nombre antiguo en algunos lugares durante un tiempo mientras trabajamos para actualizar recursos, como capturas de pantalla, vídeos y diagramas.

La información de este artículo puede ponerse en práctica en: ✔️ Básico o Estándar ✔️ Enterprise

Esta característica describe cómo habilitar la depuración remota de las aplicaciones en Azure Spring Apps.

Requisitos previos

  • CLI de Azurecon la extensión Azure Spring Apps. Use el siguiente comando para quitar las versiones anteriores e instalar la extensión más reciente: Si ya ha instalado la extensión spring-cloud, desinstálela para evitar errores de coincidencia de la configuración y la versión.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    
  • Una aplicación implementada en Azure Spring Apps.

Habilitación o deshabilitación de la depuración remota

Por motivos de seguridad, Azure Spring Apps deshabilita la depuración remota de forma predeterminada. En función de la directiva de la empresa, puede habilitar la depuración remota para la aplicación usted mismo o ver un administrador para habilitarla. Puede habilitar o deshabilitar la depuración remota mediante la CLI de Azure, Azure Portal o la extensión de VS Code.

Siga estos pasos para habilitar la depuración remota para la aplicación mediante Azure Portal:

  1. Vaya a la página de la aplicación.

  2. En Configuración en el panel de navegación izquierdo, seleccione Depuraciónremota.

  3. En la página Depuración remota, habilite la depuración remota y especifique el puerto de depuración.

    Captura de pantalla de Azure Portal que muestra la página Depuración remota con las opciones Depuración remota y Puerto de depuración seleccionadas.

Asignación de un rol de Azure

Para depurar de forma remota una instancia de aplicación, se le debe conceder el rol Azure Spring Apps Remote Debugging Role, que incluye el Microsoft.AppPlatform/Spring/apps/deployments/remotedebugging/action permiso de acción de datos.

Puede asignar un rol de Azure mediante Azure Portal o la CLI de Azure.

Siga estos pasos para asignar un rol de Azure mediante Azure Portal.

  1. Abra Azure Portal.

  2. Abra su instancia de servicio de Azure Spring Apps.

  3. En el panel de navegación izquierdo, seleccione Access Control (IAM).

  4. En la página Control de acceso (IAM), seleccione Agregar y, a continuación, seleccione Agregar asignación de roles.

    Captura de pantalla de la página Control de acceso (IAM) de Azure Portal para una instancia de Azure Spring Apps con la opción Agregar asignación de roles resaltada.

  5. En la página Agregar asignación de roles, en la lista Nombre, busque y seleccione Rolde depuración remota de Azure Spring Apps y, a continuación, seleccione Siguiente.

    Captura de pantalla de Azure Portal que muestra la página Agregar asignación de roles con el nombre del rol de depuración remota de Azure Spring Apps resaltado.

  6. Seleccione Miembrosy, a continuación, busque y seleccione el nombre de usuario.

  7. Seleccione Revisar y asignar.

Depuración de una instancia de aplicación de forma remota

Puede depurar una instancia de aplicación de forma remota mediante el Azure Toolkit for IntelliJ o la extensión Azure Spring Apps para VS Code.

En esta sección se describe cómo depurar una instancia de aplicación de forma remota mediante el Azure Toolkit for IntelliJ.

Requisitos previos

Habilitación o deshabilitación de la depuración remota

Siga estos pasos para habilitar o deshabilitar la depuración remota:

  1. Inicia sesión en tu cuenta de Azure en Azure Explorer.

  2. Seleccione una instancia de aplicación y, a continuación, seleccione Habilitar depuraciónremota.

    Captura de pantalla de IntelliJ que muestra la opción de menú Habilitar depuración remota.

Asociar depurador

Siga estos pasos para asociar una base de datos.

  1. Seleccione una instancia de aplicación y, a continuación, seleccione Asociar depurador. IntelliJ se conecta a la instancia de la aplicación e inicia la depuración remota.

    Captura de pantalla de IntelliJ que muestra la opción de menú Asociar depurador.

  2. Azure Toolkit for IntelliJ crea la configuración de depuración remota. Puede encontrarlo en Depuración remota de Jvm" Configure la ruta de acceso de clase del módulo al código fuente que se usa para la depuración remota.

    Captura de pantalla de IntelliJ que muestra la página Configuraciones de ejecución y depuración.

Solución de problemas

Esta sección proporciona información para solucionar problemas.

  • Realice las siguientes acciones si no puede adjuntar el depurador y recibe un error similar a java.net.SocketException, connection reset o Failed to attach to remote debugger, ClosedConnectionException:

    • Compruebe el rol RBAC para asegurarse de que está autorizado para depurar de forma remota una instancia de aplicación.

    • Asegúrese de que se está conectando a una instancia válida. Actualice la implementación para obtener las instancias más recientes.

      Captura de pantalla del explorador de proyectos de IntelliJ que muestra la opción de menú Actualizar para el nodo Instancias de aplicación.

  • Realice las siguientes acciones si asocia correctamente el depurador, pero no puede depurar de forma remota la instancia de la aplicación:

    • Asegúrese de que el IDE contiene el código fuente que desea depurar.
    • Asegúrese de que la configuración de depuración tenga la ruta de acceso de clase de módulo correcta.

Limitaciones

La depuración remota solo se admite para aplicaciones Java.

Plan Tipo de implementación Compatible
Plan Estándar y Básico Jar
Plan Estándar y Básico Código fuente (Java)
Plan Estándar y Básico Imagen personalizada No
Plan Enterprise Aplicación Java
Plan Enterprise Código fuente (Java)
Plan Enterprise Imagen personalizada No

Sugerencias

  • La depuración remota de Java es peligrosa porque permite la ejecución remota de código. Azure Spring Apps le ayuda a proteger la comunicación entre el IDE de cliente y la aplicación remota. Sin embargo, debe deshabilitar la depuración remota y quitar el rol RBAC después de que haya terminado.
  • Debe escalar la instancia de la aplicación a una para asegurarse de que el tráfico puede ir a la instancia.

Pasos siguientes