Inicio rápido: Implementación de una aplicación Aspire en Azure App Service

En este inicio rápido, aprenderá a crear e implementar su primera aplicación Aspire en Azure App Service. Azure App Service proporciona una plataforma totalmente administrada para hospedar aplicaciones web con mantenimiento de infraestructura integrado, aplicación de revisiones de seguridad y escalado.

Puedes completar todo este inicio rápido en tu navegador usando el contenedor oficial de desarrollo de Aspire para GitHub Codespaces. Al final, tiene una aplicación Aspire en ejecución implementada en Azure App Service.

Importante

La integración de Aspire Azure App Service está actualmente en vista previa.

Este inicio rápido utiliza un AppHost en C# y proyectos .NET. Aspire también soporta TypeScript AppHosts y recursos de aplicación poliglotas. Para más información, consulta Aspire AppHost y Novedades en Aspire 13.5.

Prerequisites

Creación de una aplicación de inicio de Aspire en un espacio de código de GitHub

  1. Crea un repositorio a partir de la plantilla de contenedor de desarrollo de Aspire.

  2. En el nuevo repositorio, selecciona Código>Codespaces>Crear codespace en main.

    Tu navegador abre un espacio de código con Visual Studio Code. El entorno incluye la CLI Aspire y un certificado local de desarrollo HTTPS de confianza.

    Para más información, consulta Desarrollar con Aspire usando Codespaces de GitHub.

  3. En el terminal, crea una nueva app de Aspire:

    aspire new aspire-starter --name aspire-starter --output aspire-starter
    

    El comando crea un nuevo directorio denominado aspire-starter con una solución Aspire completa, entre las que se incluyen:

    • Un proyecto de AppHost para orquestación
    • Un proyecto ServiceDefaults para configuraciones compartidas
    • API de ejemplo y proyectos de frontend web
  4. Vaya al directorio del proyecto:

    cd aspire-starter
    

Incorporación de la integración de Azure App Service

Configure la aplicación Aspire para implementarla en Azure App Service.

  1. Añadir la integración de alojamiento de Azure App Service:

    aspire add Aspire.Hosting.Azure.AppService
    

    El aspire add comando detecta el proyecto AppHost y añade el Aspire.Hosting.Azure.AppService paquete. Para obtener más información, consulte aspire add.

  2. Abra el aspire-starter/aspire-starter. AppHost/AppHost.cs.

  3. Agregue un entorno de Azure App Service después de la CreateBuilder línea:

    builder.AddAzureAppServiceEnvironment("app-service-env");
    

    Para más información, consulte ¿Necesito un entorno de App Service para ejecutar aplicaciones Aspire?.

  4. Agregue .WithExternalHttpEndpoints() al apiservice proyecto. Tu recurso completo apiservice debería ser así:

    var apiService = builder.AddProject<Projects.aspire_starter_ApiService>("apiservice")
        .WithExternalHttpEndpoints()
        .WithHttpHealthCheck("/health");
    

    Nota

    App Service solo soporta endpoints HTTP y HTTPS externos y un puerto destino distinto para cada aplicación desplegada. La plantilla inicial ya incluye el endpoint del frontend. Para más información, consulta la integración de Azure App Service Hosting.

  5. Desde la raíz de la solución, ejecuta aspire run para verificar el AppHost localmente.

    Una captura de pantalla del panel actual de Aspire mostrando el entorno del servicio de aplicaciones y recursos de ejemplo de la app.

Implementar en Azure

  1. Inicie sesión en Azure:

    az login
    
  2. Implemente la aplicación:

    aspire deploy
    

    Cuando se lo pida, selecciona tu suscripción, ubicación y grupo de recursos a Azure. Aspire almacena la configuración de despliegue seleccionada como secretos de usuario de AppHost para que puedas reutilizarlos.

    El aspire deploy comando realiza las siguientes acciones en función del código de AppHost.cs :

    • Crea o reutiliza el grupo de recursos seleccionado
    • Crea un plan de servicio de aplicaciones de Azure
    • Crea un Azure Container Registry
    • Crea dos aplicaciones web de App Service (una para la API, otra para el front-end)
    • Crea un recurso de panel de Aspire administrado
    • Compila y containeriza tus aplicaciones
    • Inserta los contenedores en Azure Container Registry
    • Implementa los contenedores en App Service

    Para más información sobre la configuración de despliegue y la autenticación, consulta Desplegar en Azure.

  3. Cuando el despliegue finaliza, el comando muestra las URLs de los endpoints de los servicios desplegados y del Panel de Aspire.

    Para más información sobre el flujo de despliegue, consulte Desplegar en Azure App Service.

Examinar la aplicación Aspire

  1. En la salida de la implementación, busque la dirección URL del webfrontend servicio. Tiene un aspecto similar al siguiente:

    webfrontend: https://webfrontend-xxxxx.azurewebsites.net
    
  2. Copie la dirección URL y ábrala en una nueva pestaña del explorador.

    Verá la aplicación de inicio Aspire que se ejecuta en Azure App Service. El front-end web se comunica con el servicio de API, que muestra la arquitectura distribuida.

  3. Intente navegar por la aplicación para comprobar que funciona correctamente.

  4. Para ver el panel de Aspire, busque la dirección URL del panel de Aspire en el resultado de la implementación y ábrala en una nueva pestaña del navegador.

Visualización de los detalles de implementación en Azure Portal

  1. Acceda a Azure Portal.

  2. En la barra de búsqueda, escriba grupos de recursos y seleccione Grupos de recursos.

  3. Encuentra y selecciona el grupo de recursos que elegiste durante aspire deploy.

    Una captura de pantalla de la vista del grupo de recursos de una aplicación Aspire desplegada por Aspire.

    Debería ver los siguientes recursos:

    • Plan de App Service: la infraestructura de hospedaje
    • App Services: tus aplicaciones de interfaz web y servicio de API
    • Aspire Dashboard: Un recurso gestionado de Azure protegido por control de acceso basado en roles (RBAC).
    • Container Registry: almacena las imágenes de contenedor
    • Identidad asignada por el usuario: proporciona acceso seguro entre servicios

Limpieza de recursos

Cuando ya no necesite los recursos de Azure, elimínelos para evitar incurrir en cargos.

  1. En el terminal de codespace, ejecute:

    aspire destroy
    
  2. Cuando se lo pida, confirma que quieres destruir el entorno desplegado.

El comando ejecuta el paso de destrucción registrado por el entorno de Servicio de Aplicaciones. Para obtener más información, consulte aspire destroy.

Caution

aspire destroy elimina todo el grupo de recursos, incluidos los que no fueron creados por Aspire. Revisa el grupo de recursos objetivo antes de confirmar.

Preguntas más frecuentes

¿Necesito un entorno de App Service para ejecutar aplicaciones Aspire?

N.º A pesar de su nombre, AddAzureAppServiceEnvironment no proporciona un App Service Environment en el nivel Aislado. Crea un recurso de entorno Aspire que representa la infraestructura de alojamiento de los Servicios de Aplicaciones para tu aplicación.

Cuando llama a AddAzureAppServiceEnvironment, se realiza el aprovisionamiento de:

  • Un plan de Azure App Service (nivel Premium P0V3 en Linux de forma predeterminada)
  • Una instancia de Azure Container Registry para almacenar imágenes de contenedor
  • Una identidad administrada asignada por el usuario para el acceso seguro entre servicios

Este concepto de entorno de Aspire agrupa los recursos y proporciona la infraestructura necesaria para implementar las aplicaciones Aspire en Azure App Service.

¿Cómo se personaliza la implementación de App Service?

Puede personalizar la implementación de App Service modificando la configuración de AppHost.cs. La integración de Aspire Azure App Service proporciona varias maneras de personalizar la implementación:

  • Configurar el plan de servicio de aplicaciones: Ajustar las opciones de SKU, nivel y escalabilidad
  • Personalización de la configuración de App Service: adición de variables de entorno, cadenas de conexión y configuración de la aplicación
  • Configuración de la infraestructura: modificación de redes, autenticación y otros recursos de Azure
  • Uso de recursos existentes: conexión a planes de App Service existentes u otros recursos de Azure

Para más información, consulte Configuración de una aplicación Aspire para Azure App Service.

Para obtener más información sobre las cargas de trabajo de App Service compatibles y el comportamiento de implementación, consulte Azure App Service Hosting integration y Deploy to Azure App Service.

Pasos siguientes

Ha implementado correctamente una aplicación Aspire en Azure App Service. Estos son algunos pasos siguientes para explorar:

Exploración de las características de Azure App Service