Configuración de certificados de entidad de certificación e integración de APM

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.

Este artículo se aplica a:❌ Básico o Estándar ✔️ Enterprise

En este artículo se muestra cómo configurar la integración del monitor de rendimiento de aplicaciones (APM) y los certificados de entidad de certificación (CA) en el plan Enterprise de Azure Spring Apps.

Es posible habilitar o deshabilitar el Servicio de compilación de Tanzu en una instancia del plan Enterprise de Azure Springs Apps. Para obtener más información, consulte la sección Servicio de compilación a petición de Uso del Servicio de compilación de Tanzu.

Requisitos previos

Escenarios admitidos: integración de certificados de CA y APM

El Servicio de compilación de Tanzu usa el enlace de módulo de compilación para integrarse con Módulos de compilación de asociados de Tanzu y otros módulos de compilación nativos en la nube, como el módulo de compilación de certificados de CA en GitHub.

Actualmente, Azure Spring Apps admite los siguientes tipos de APM:

  • ApplicationInsights
  • Dynatrace
  • AppDynamics
  • New Relic
  • ElasticAPM

Azure Spring Apps admite certificados de CA para todos los módulos de compilación de familia de lenguajes, pero no para todos los APM compatibles. En la tabla siguiente se muestran los tipos de enlace admitidos por los módulos de compilación de la familia de lenguajes de Tanzu.

Módulo de compilación ApplicationInsights New Relic AppDynamics Dynatrace ElasticAPM
Java
.NET
Go
Python
NodeJS
Servidores web
Imagen nativa de Java
PHP

Para obtener información sobre el uso de servidores web, consulte Implementación de archivos estáticos web.

El Servicio de compilación de Tanzu está habilitado de manera predeterminada en el nivel Enterprise de Azure Spring Apps. Si quisiera deshabilitar el servicio de compilación, implemente aplicaciones, pero solo mediante una imagen de contenedor personalizada. En esta sección se proporcionan instrucciones para escenarios en los que el servicio de compilación esté habilitado o deshabilitado.

Tipos de APM admitidos

En esta sección se enumeran los lenguajes admitidos y las variables de entorno necesarias para los APM que se pueden usar para las integraciones.

  • Application Insights

    Idiomas admitidos:

    • Java

    Variables de entorno necesarias para enlaces de módulo de compilación:

    • connection-string

    Para ver otras variables de entorno compatibles, consulte Información general de Application Insights.

  • DynaTrace

    Idiomas admitidos:

    • Java
    • .NET
    • Go
    • Node.js
    • Servidores web
    • PHP

    Variables de entorno necesarias para enlaces de módulo de compilación:

    • api-url o environment-id (se usa en el paso de compilación)
    • api-token (se usa en el paso de compilación)
    • TENANT
    • TENANTTOKEN
    • CONNECTION_POINT

    Para ver otras variables de entorno compatibles, consulte Dynatrace

  • New Relic

    Idiomas admitidos:

    • Java
    • .NET
    • Node.js
    • PHP

    Variables de entorno necesarias para enlaces de módulo de compilación:

    • license_key
    • app_name

    Para ver otras variables de entorno compatibles, consulte New Relic

  • Elastic

    Idiomas admitidos:

    • Java
    • Node.js
    • PHP

    Variables de entorno necesarias para enlaces de módulo de compilación:

    • service_name
    • application_packages
    • server_url

    Para ver otras variables de entorno compatibles, consulte Elastic

  • AppDynamics

    Idiomas admitidos:

    • Java
    • Node.js

    Variables de entorno necesarias para enlaces de módulo de compilación:

    • agent_application_name
    • agent_tier_name
    • agent_node_name
    • agent_account_name
    • agent_account_access_key
    • controller_host_name
    • controller_ssl_enabled
    • controller_port

    Para ver otras variables de entorno compatibles, consulte AppDynamics

Los enlaces en el generador están en desuso

Nota:

Anteriormente, administraría la integración de APM y los certificados de CA a través de enlaces en el generador. Los enlaces de la característica generador están en desuso y se quitarán en el futuro. Se recomienda migrar el APM configurado en enlaces. Para obtener más información, consulte la sección Migración del APM configurado en enlaces.

Cuando use su propio registro de contenedor para el servicio de compilación o se deshabilite el servicio de compilación, la característica de enlaces de generador no estará disponible.

Cuando se usa una instancia administrada de Azure Container Registry para el servicio de compilación, el registro seguirá estando disponible para la compatibilidad con versiones anteriores, pero no en el futuro.

Al usar la CLI de Azure para crear una instancia de servicio, es posible que reciba el mensaje de error Buildpack bindings feature is deprecated, it's not available when your own container registry is used for build service or build service is disabled. Este mensaje indica que usa una versión anterior de la CLI de Azure. Para corregir este problema, actualice la CLI de Azure. Para más información, consulte Actualización de la CLI de Azure.

Configuración de la integración de APM para compilaciones e implementaciones de aplicaciones

Configure APM en Azure Spring Apps de las siguientes dos maneras:

  • Administre las configuraciones de APM en el nivel de instancia de servicio y enlace a las compilaciones e implementaciones de la aplicación haciendo referencia a ellas. Este enfoque es la manera recomendada de configurar APM.

  • Administre las configuraciones de APM mediante enlaces en el generador y enlace a las compilaciones e implementaciones de la aplicación haciendo referencia al generador.

Nota:

Este enfoque es la forma antigua de configurar APM y está en desuso. Se recomienda migrar el APM configurado en enlaces. Para obtener más información, consulte la sección Migración del APM configurado en enlaces.

Ya es posible configurar APM en Azure Spring Apps mediante la administración las configuraciones de APM en el nivel de instancia de servicio y enlazando a las compilaciones e implementaciones de la aplicación haciendo referencia a ellas. Este enfoque es la manera recomendada de configurar APM.

En las secciones siguientes se proporcionan instrucciones para ambos enfoques.

Cree una configuración de APM y enlace a compilaciones e implementaciones de aplicaciones, tal y como se explica en las secciones siguientes.

Administración de la configuración de APM en Azure Spring Apps

Administre la integración de APM configurando propiedades o secretos en la configuración de APM mediante Azure Portal o la CLI de Azure.

Nota:

Al configurar propiedades o secretos a través de configuraciones de APM, use nombres de clave sin el nombre de APM como prefijo. Por ejemplo, no use un prefijo DT_ para Dynatrace o APPLICATIONINSIGHTS_ para Application Insights. Los módulos de compilación de APM de Tanzu transforman el nombre de clave en el nombre de la variable de entorno original con un prefijo.

Si tiene previsto invalidar o configurar algunas propiedades o secretos, como el nombre de la aplicación o el nivel de aplicación, es necesario establecer variables de entorno al implementar una aplicación con las variables de entorno originales con el nombre de APM como prefijo.

Siga estos pasos para mostrar, agregar, editar o eliminar una configuración de APM:

  1. Abra Azure Portal.

  2. En el panel de navegación, seleccione APM.

  3. Para crear una configuración de APM, seleccione Agregar. Si desea habilitar la configuración de APM globalmente, seleccione Habilitar globalmente. Todas las compilaciones e implementaciones posteriores usan automáticamente la configuración de APM.

    Captura de pantalla de Azure Portal que muestra la página de configuración de APM, con el botón Agregar resaltado.

  4. Para ver o editar una configuración de APM, seleccione el botón de puntos suspensivos (...) de la configuración y, a continuación, seleccione Editar APM.

    Captura de pantalla de Azure Portal que muestra la página de configuración de APM, con la opción Editar APM seleccionada.

  5. Para eliminar una configuración de APM, seleccione el botón de puntos suspensivos (...) de la configuración y, a continuación, seleccione Eliminar. Si cualquier compilación o implementación usa la configuración de APM, no podrá eliminarla.

    Captura de pantalla de Azure Portal que muestra la página de configuración de APM, con el botón Eliminar resaltado.

Siga estos pasos para ver las configuraciones de APM enlazadas a la compilación:

  1. Vaya a la página Servicio de compilación para la instancia de Azure Spring Apps.

    Captura de pantalla de Azure Portal que muestra la página del servicio de compilación con la compilación actual en la lista.

  2. En el panel de navegación, en la sección Configuración, seleccione Enlaces de APM.

  3. En la página Enlaces de APM, consulte las configuraciones de APM enlazadas a la compilación.

    Captura de pantalla de la página Enlaces de APM mostrando las configuraciones de APM enlazadas a la compilación.

Siga estos pasos para ver las configuraciones de APM enlazadas a la implementación:

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

  2. En el panel de navegación, en la sección Configuración, seleccione Enlaces de APM.

  3. En la página Enlaces de APM, consulte las configuraciones de APM enlazadas a la implementación.

    Captura de pantalla de la página Enlaces de APM mostrando las configuraciones de APM enlazadas a la implementación.

Para obtener más información sobre los parámetros properties y secrets del módulo de compilación, consulte la sección Escenarios admitidos: integración de certificados de APM y CA.

Enlazar a compilaciones e implementaciones de aplicaciones

Para servicios de compilación que usen instancias administradas de Azure Container Registry, use el siguiente comando para integrar APM en las implementaciones:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --apms <APM-name> \
    --artifact-path <path-to-your-JAR-file>

Al habilitar configuraciones de APM globalmente, todas las compilaciones e implementaciones posteriores las usarán automáticamente y no es necesario especificar el parámetro --apms. Si desea invalidar la configuración de APM habilitada globalmente para una implementación, especifique las configuraciones de APM a través del parámetro --apms.

En el caso de servicios de compilación que usen su propio registro de contenedor, compile una aplicación en una imagen de contenedor e implemente la imagen en las instancias del servicio Enterprise de Azure Spring Apps actuales o en otras.

Proporcionar su propio registro de contenedor separa la compilación de la implementación. Use el comando build para crear o actualizar compilaciones con un generador y, a continuación, use el comando deploy para implementar la imagen de contenedor en el servicio.

Use el siguiente comando para compilar una imagen y configurar APM:

az spring build-service build <create|update> \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --apms <APM-name> \
    --artifact-path <path-to-your-JAR-file>

Al habilitar configuraciones de APM globalmente, todas las compilaciones e implementaciones posteriores las usarán automáticamente y no es necesario especificar el parámetro --apms. Si desea invalidar la configuración de APM habilitada globalmente para una compilación, especifique las configuraciones de APM a través del parámetro --apms.

Use el siguiente comando para implementar la aplicación con la imagen de contenedor compilada anteriormente y configurar APM. Use la configuración de APM habilitada globalmente o el parámetro --apms para especificar la configuración de APM.

az spring app deploy \
   --resource-group <resource-group-name> \
   --service <Azure-Spring-Apps-instance-name> \
   --name <app-name> \
   --container-image <your-container-image> \
   --container-registry <your-container-registry> \
   --registry-password <your-password> \
   --registry-username <your-username> \
   --apms <your-APM>

Al deshabilitar el servicio de compilación, solo es posible implementar aplicaciones con imágenes de contenedor. Para obtener más información, consulte Implementación de aplicaciones con imágenes de contenedor personalizadas.

Es posible usar varias instancias de Enterprise de Azure Spring Apps, donde algunas instancias compilen e implementen imágenes y otras solo implementen imágenes. Considere el caso siguiente:

Para una instancia, habilitará el servicio de compilación con un registro de contenedor de usuarios. A continuación, se compila a partir de un archivo de artefacto o código fuente con APM o un certificado de CA en una imagen de contenedor. Después, implemente en la instancia actual de Azure Spring Apps u otras instancias de servicio. Para obtener más información, consulte la sección Compilación e implementación de aplicaciones políglotas de Implementación de aplicaciones políglotas en Enterprise de Azure Spring Apps.

En otra instancia con el servicio de compilación deshabilitado, implemente una aplicación con la imagen de contenedor en el registro, además de usar APM.

En este escenario, use la configuración de APM habilitada globalmente o use el parámetro --apms para especificar la configuración de APM, tal y como se muestra en el ejemplo siguiente:

az spring app deploy \
   --resource-group <resource-group-name> \
   --service <Azure-Spring-Apps-instance-name> \
   --name <app-name> \
   --container-image <your-container-image> \
   --container-registry <your-container-registry> \
   --registry-password <your-password> \
   --registry-username <your-username> \
   --apms <your-APM>

Administración de APM a través de enlaces en el generador (en desuso)

Cuando el servicio de compilación use el registro de contenedor administrado de Azure Spring Apps, compile una aplicación en una imagen y, a continuación, impleméntela, pero solo dentro de la instancia de servicio de Azure Spring Apps actual.

Administración de configuraciones de APM a través de enlaces en el generador

Administre configuraciones de APM a través de enlaces en el generador. Para obtener más información, consulte la sección Administración de enlaces en el generador en Azure Spring Apps (en desuso).

Enlazar a compilaciones e implementaciones de aplicaciones

Use el siguiente comando para integrar APM en las implementaciones. El APM se configura a través de enlaces en el generador:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --artifact-path <path-to-your-JAR-file>

Habilitación de Application Insights al crear instancias de servicio

Si se habilita Application Insights al crear una instancia de servicio, se aplicarán las condiciones siguientes:

  • Si usa una instancia administrada de Azure Container Registry para el servicio de compilación, Application Insights se enlazará a los enlaces del generador predeterminado.
  • Si usa su propio registro de contenedor para el servicio de compilación o deshabilita el servicio de compilación, se creará una configuración de APM predeterminada para Application Insights. El APM predeterminado está habilitado globalmente y todas las compilaciones e implementaciones posteriores la usan automáticamente.

Configuración de certificados de CA para compilaciones e implementaciones de aplicaciones

Configure certificados de CA en Azure Spring Apps de las siguientes dos maneras:

  • Es posible administrar certificados públicos en la configuración de TLS/SSL y enlazar a compilaciones e implementaciones de aplicaciones haciendo referencia a ellas. Este enfoque es la manera recomendada de configurar certificados de CA.
  • Es posible administrar certificados públicos en la configuración de TLS/SSL y enlazar certificados de CA a través de enlaces en el generador. Para obtener más información, consulte la sección Administración de enlaces en el generador en Azure Spring Apps (en desuso).

Nota:

Este enfoque es la forma antigua de configurar certificados de CA y está en desuso. Se recomienda migrar el certificado de CA configurado en enlaces. Para obtener más información, consulte la sección Migración del certificado de CA configurado en enlaces.

Ya es posible administrar certificados públicos en la configuración de TLS/SSL y enlazar a compilaciones e implementaciones de aplicaciones haciendo referencia a ellas. Este enfoque es la manera recomendada de configurar certificados de CA.

Para administrar certificados públicos en el nivel de instancia de servicio, consulte la sección Importación de certificados de Uso de certificados TLS/SSL en la aplicación en Azure Spring Apps. a continuación, siga uno de los enfoques descritos en las secciones siguientes para enlazar certificados de CA a compilaciones e implementaciones de aplicaciones.

Enlazar certificados de CA para compilaciones e implementaciones de aplicaciones

Para obtener información sobre cómo enlazar certificados de CA a implementaciones, consulte la sección Carga de certificados de Uso de certificados TLS/SSL en la aplicación en Azure Spring Apps. A continuación, use las instrucciones siguientes para enlazar a compilaciones de aplicaciones.

Cuando se habiliten servicios de compilación y se usen instancias administradas de Azure Container Registry, use el siguiente comando para integrar certificados de CA en la implementación:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --build-certificates <CA certificate-name> \
    --artifact-path <path-to-your-JAR-file>

Cuando use su propio registro de contenedor para el servicio de compilación o deshabilite el servicio de compilación, use el siguiente comando para integrar certificados de CA en la compilación:

az spring build-service build <create|update> \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --certificates <CA certificate-name> \
    --artifact-path <path-to-your-JAR-file>

Visualización de certificados de CA enlazados a compilaciones de aplicaciones

Siga los siguientes pasos para ver los certificados de CA enlazados a la compilación:

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

    Captura de pantalla de Azure Portal que muestra la página del servicio de compilación con la compilación actual en la lista.

  2. En el panel de navegación, en la sección Configuración, seleccione Enlaces de certificado.

  3. En la página Enlaces de certificado, vea los certificados de CA enlazados a la compilación.

    Captura de pantalla de la página de enlaces de certificado que muestra los certificados de CA enlazados a la compilación.

Enlazar certificados de CA a través de enlaces en el generador (en desuso)

Los certificados de CA usan módulos de compilación de certificados de CA para admitir la prestación de certificados de CA al almacén de confianza del sistema en tiempo de ejecución y compilación.

En el plan Enterprise de Azure Spring Apps, los certificados de CA usan la pestaña Certificados de clave pública de la página Configuración de TLS/SSL en Azure Portal, tal y como se muestra en la captura de pantalla siguiente:

Captura de pantalla de Azure Portal que muestra la sección Certificados de clave pública de la página Configuración de TLS/SSL.

Configure los certificados de CA en la página Editar enlace. Los certificados de succeeded se muestran en la lista Certificados de CA.

Captura de pantalla de Azure Portal que muestra la página Editar enlaces para el generador predeterminado con el panel abierto Editar enlace para certificados de CA.

Administración de enlaces en el generador en Azure Spring Apps (en desuso)

Esta sección solo se aplica a una instancia de servicio Enterprise de Azure Spring Apps con el servicio de compilación habilitado. Con el servicio de compilación habilitado, un enlace de módulo de compilación se traduce en la configuración de credenciales contra un tipo de APM, o bien en la configuración de certificados de CA contra el tipo de certificados de CA. Para la integración de APM, siga las instrucciones anteriores para configurar las variables de entorno o secretos necesarios para APM.

Nota:

Al configurar variables de entorno para enlaces de APM, use nombres de clave sin prefijo. Por ejemplo, no use un prefijo DT_ para enlaces de Dynatrace o APPLICATIONINSIGHTS_ para Application Insights. Los módulos de compilación de APM de Tanzu transforman el nombre de clave en el nombre de la variable de entorno original con un prefijo.

Puede administrar enlaces de módulos de compilación con Azure Portal o la CLI de Azure.

Para ver los enlaces de módulo de compilación, siga estos pasos:

  1. En Azure Portal, vaya a la instancia de servicio de Enterprise de Azure Spring Apps.

  2. En el panel de navegación, seleccione Servicio de compilación.

  3. Seleccione Editar en la columna Enlaces para ver los enlaces configurados para un compilador.

    Captura de pantalla de Azure Portal en la que se muestra la página Servicio de compilación con el vínculo Editar enlaces resaltado para un generador seleccionado.

  4. Revise los enlaces de la página Editar enlace del generador predeterminado.

    Captura de pantalla de Azure Portal que muestra la página Editar enlaces para el generador predeterminado con los tipos de enlaces y su estado listado.

Creación de un enlace de módulo de compilación

Para crear un enlace de módulo de compilación, seleccione Sin enlazar en la página Editar enlaces, especifique las propiedades de enlace y seleccione Guardar.

Desenlazar un enlace de módulo de compilación

Para desenlazar un enlace de módulo de compilación, use el comando Desenlazar enlace o edite las propiedades del enlace.

Para usar el comando Unbind binding (Desenlazar enlace), seleccione el hipervínculo Enlazado y, luego, seleccione Unbind binding (Desenlazar enlace).

Captura de pantalla de la página Editar enlaces de Azure Portal para el generador predeterminado con la opción Desenlazar enlace resaltada para un tipo de enlace seleccionado.

Para desenlazar un enlace de módulo de compilación mediante la edición de las propiedades del enlace, seleccione Editar enlace y Desenlazar.

Captura de pantalla de Azure Portal que muestra la página Editar enlace con el botón Desenlazar resaltado.

Al desenlazar un enlace, su estado cambia de Enlazado a Sin enlazar.

Migración de certificados de APM y CA desde enlaces en el generador

La característica de enlaces en el generador está en desuso y se quitará en el futuro. Se recomienda migrar enlaces en el generador.

Configure certificados de APM y CA en enlaces y mígrelos consultando las secciones siguientes.

Migre el APM configurado en enlaces

En la mayoría de los casos de uso, solo hay un APM configurado en enlaces en el generador predeterminado. Es posible crear una nueva configuración de APM con la misma configuración en enlaces y habilitar esta configuración de APM globalmente. Todas las compilaciones e implementaciones posteriores usan esta configuración automáticamente. Siga estos pasos para migrar:

  1. Use el siguiente comando para crear configuraciones de APM:

    az spring apm create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-APM-name> \
        --type <your-APM-type> \
        --properties a=b c=d \
        --secrets e=f g=h
    
  2. Use el siguiente comando para habilitar la configuración de APM globalmente:

    az spring apm enable-globally \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-APM-name> \
    
  3. Use el siguiente comando para volver a implementar todas las aplicaciones para que usen la nueva configuración de APM habilitada globalmente:

    az spring app deploy \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --builder <builder-name> \
        --artifact-path <path-to-your-JAR-file>
    
  4. Compruebe que la nueva configuración de APM funcione para todas las aplicaciones. Si todo funcionase bien, use el siguiente comando para quitar los enlaces de APM en el generador:

    az spring build-service builder buildpack-binding delete \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-APM-buildpack-binding-name> \
        --builder-name <your-builder-name>
    

Si hubiera varias API configuradas en enlaces, cree varias configuraciones de APM con la misma configuración en enlaces y habilite la configuración de APM globalmente si fuera aplicable. Use el parámetro --apms para especificar una configuración de APM para una implementación si quisiera invalidar el APM habilitado globalmente, tal y como se muestra en el siguiente comando:

az spring app deploy \
    --resource-group <resource-group-name> \
    --service <Azure-Spring-Apps-instance-name> \
    --name <app-name> \
    --builder <builder-name> \
    --apms <APM-name> \
    --artifact-path <path-to-your-JAR-file>

Durante el proceso de migración, APM se configura en la configuración de APM y en enlaces. En este caso, la configuración de APM surte efecto y se ignora el enlace.

Migración de certificados de CA configurados en enlaces

Siga estos pasos para migrar certificados de CA:

  1. Para certificados de CA configurados en enlaces, si se usasen en tiempo de ejecución, cargue los certificados en la aplicación. Para más información, consulte la sección Carga de certificados de Uso de certificados TLS/SSL en la aplicación en Azure Spring Apps.

  2. Use el siguiente comando para volver a implementar todas las aplicaciones mediante certificados de CA. Si usa el certificado en tiempo de compilación, use el parámetro --build-certificates para especificar el certificado de CA que se usará en tiempo de compilación para una implementación:

    az spring app deploy \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <app-name> \
        --builder <builder-name> \
        --build-certificates <CA certificate-name> \
        --artifact-path <path-to-your-JAR-file>
    
  3. Compruebe que el certificado de CA funcione para todas las aplicaciones que lo usen. Si todo funcionase bien, use el siguiente comando para quitar los enlaces del certificado de CA en el generador:

    az spring build-service builder buildpack-binding delete \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-instance-name> \
        --name <your-CA-certificate-buildpack-binding-name> \
        --builder-name <your-builder-name>
    

Pasos siguientes