Avvio rapido: Distribuire un'app Aspire nel servizio app di Azure

In questa guida introduttiva si apprenderà come creare e distribuire la prima app Aspire nel servizio app di Azure. Servizio app di Azure offre una piattaforma completamente gestita per l'hosting di app Web con manutenzione predefinita dell'infrastruttura, applicazione di patch di sicurezza e scalabilità.

Puoi completare tutto questo quickstart dal browser utilizzando il container ufficiale di sviluppo Aspire per GitHub Codespaces. Al termine, si dispone di un'app Aspire in esecuzione distribuita in Servizio app di Azure.

Important

L'integrazione con Aspire Servizio app di Azure è attualmente in anteprima.

Questo quickstart utilizza un AppHost C# e progetti .NET. Aspire supporta anche TypeScript AppHost e risorse applicative poliglotte. Per maggiori informazioni, consulta Aspire AppHost e Novità in Aspire 13.5.

Prerequisiti

Creare un'app di avvio Aspirare in uno spazio di codice GitHub

  1. Crea un repository dal template del container di sviluppo Aspire.

  2. Nel nuovo repository, seleziona Code>Codespaces>Crea un codespace nel branch main.

    Il tuo browser apre uno spazio di codice con Visual Studio Code. L'ambiente include la CLI Aspire e un certificato locale di sviluppo HTTPS affidabile.

    Per maggiori informazioni, vedi Sviluppa con Aspire usando GitHub Codespaces.

  3. Nel terminale, crea una nuova app Aspire:

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

    Il comando crea una nuova directory denominata aspire-starter con una soluzione Aspire completa, che include:

    • Un progetto AppHost per l'orchestrazione
    • Un progetto ServiceDefaults per le configurazioni condivise
    • Api di esempio e progetti front-end Web
  4. Accedere alla directory del progetto:

    cd aspire-starter
    

Aggiungere l'integrazione del servizio app di Azure

Configurare l'app Aspirare per la distribuzione nel servizio app di Azure.

  1. Aggiungi l'integrazione di hosting di Servizio app di Azure:

    aspire add Aspire.Hosting.Azure.AppService
    

    Il aspire add comando rileva il progetto AppHost e aggiunge il Aspire.Hosting.Azure.AppService pacchetto. Per altre informazioni, vedere aspire add.

  2. Aprire aspire-starter/aspire-starter.AppHost/AppHost.cs.

  3. Aggiungere un ambiente di Servizio app di Azure dopo la riga CreateBuilder.

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

    Per ulteriori informazioni, vedere È necessario un Ambiente del Servizio App per eseguire le app Aspire?.

  4. Aggiungere .WithExternalHttpEndpoints() al apiservice progetto. La tua risorsa completa apiservice dovrebbe essere così:

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

    Nota

    App Service supporta solo endpoint esterni HTTP e HTTPS e una porta target distinta per ogni app distribuita. Il template iniziale espone già l'endpoint del frontend. Per ulteriori informazioni, vedi Servizio app di Azure Hosting integration.

  5. Dalla root della soluzione, esegui aspire run per verificare localmente l'AppHost.

    Uno screenshot della dashboard attuale di Aspire che mostra l'ambiente del Servizio App e le risorse di esempio dell'app.

Distribuzione su Azure

  1. Accedere a Azure:

    az login
    
  2. Distribuire l'applicazione:

    aspire deploy
    

    Quando ti viene chiesto, seleziona l'abbonamento Azure, la posizione e il gruppo risorse. Aspire memorizza le impostazioni di distribuzione selezionate come segreti utente AppHost così puoi riutilizzarle.

    Il aspire deploy comando esegue le azioni seguenti in base al codice AppHost.cs :

    • Crea o riutilizza il gruppo di risorse selezionato
    • Crea un piano di servizio app di Azure
    • Crea un Registro Azure Container (ACR)
    • Crea due app Web del servizio app (una per l'API, una per il front-end)
    • Crea una risorsa Aspire Dashboard gestita
    • Crea e containerizza le applicazioni
    • Carica i contenitori nel Registro dei contenitori di Azure
    • Distribuisce i container su App Service

    Per maggiori informazioni sulle impostazioni di distribuzione e sull'autenticazione, vedi Deploy to Azure.

  3. Al completamento del deployment, il comando visualizza gli URL degli endpoint per i servizi distribuiti e Aspire Dashboard.

    Per maggiori informazioni sul flusso di distribuzione, vedi Deploy to Servizio app di Azure.

Sfoglia l'app Aspira

  1. Nell'output della distribuzione, trova l'URL per il servizio webfrontend. L'aspetto è simile al seguente:

    webfrontend: https://webfrontend-xxxxx.azurewebsites.net
    
  2. Copiare l'URL e aprirlo in una nuova scheda del browser.

    Viene visualizzata l'app Aspire Starter in esecuzione nel servizio App di Azure. Il front-end Web comunica con il servizio API, dimostrando l'architettura distribuita.

  3. Prova a navigare nell'app per verificare che funzioni correttamente.

  4. Per visualizzare l'Aspire Dashboard, trova l'URL dell'Aspire Dashboard nell'output della distribuzione e apri l'URL in una nuova scheda del browser.

Visualizzare i dettagli della distribuzione nel portale di Azure

  1. Andare al portale di Azure.

  2. Nella barra di ricerca digitare gruppi di risorse e selezionare Gruppi di risorse.

  3. Individua e seleziona il gruppo di risorse che hai scelto durante aspire deploy

    Uno screenshot della visualizzazione del gruppo risorse di un'app Aspire distribuita da Aspire.

    Verranno visualizzate le risorse seguenti:

    • Piano di servizio app: infrastruttura di hosting
    • Servizi app: le tue app di interfaccia web e servizio API
    • Aspire Dashboard: Una risorsa Azure gestita protetta dal controllo di accesso basato su ruoli (RBAC).
    • Registro Contenitori: archivia le immagini del contenitore
    • Identità assegnata dall'utente: fornisce l'accesso sicuro tra i servizi

Pulire le risorse

Quando le risorse di Azure non sono più necessarie, eliminarle per evitare di incorrere in addebiti.

  1. Nel terminale codespace eseguire:

    aspire destroy
    
  2. Quando ti viene richiesto, conferma di voler distruggere l'ambiente schierato.

Il comando esegue il passaggio di distruzione registrato nell'ambiente App Service. Per altre informazioni, vedere aspire destroy.

Caution

aspire destroy elimina l'intero gruppo di risorse, inclusi quelli che non sono stati creati da Aspire. Rivedi il gruppo di risorse target prima di confermare.

Domande frequenti

È necessario un ambiente di servizio app per eseguire le App Aspire?

No. Nonostante il nome, AddAzureAppServiceEnvironment non fornisce un ambiente del servizio app nel tier Isolato. Crea una risorsa di ambiente Aspire che rappresenta l'infrastruttura di hosting dei servizi App per la tua applicazione.

Quando si chiama AddAzureAppServiceEnvironment, effettua il provisioning:

  • Piano di Servizio App di Azure (livello Premium P0V3 su Linux per impostazione predefinita)
  • Registro Azure Container per l'archiviazione di immagini del contenitore
  • Identità gestita assegnata dall'utente per l'accesso sicuro tra i servizi

Questo concetto di ambiente Aspire raggruppa le tue risorse e fornisce l'infrastruttura necessaria per distribuire le app Aspire in Servizio app di Azure.

Come posso personalizzare la distribuzione di App Service?

È possibile personalizzare la distribuzione del servizio app modificando la configurazione AppHost.cs. L'integrazione di Servizio app di Azure Aspire offre diversi modi per personalizzare la tua distribuzione.

  • Configurare il Piano di servizio App: Modificare le SKU, i livelli tariffari e le opzioni di ridimensionamento
  • Personalizzare le impostazioni del servizio app: aggiungere variabili di ambiente, stringhe di connessione e impostazioni dell'app
  • Configurare l'infrastruttura: modificare la rete, l'autenticazione e altre risorse di Azure
  • Usare le risorse esistenti: connettersi ai piani di servizio app esistenti o ad altre risorse di Azure

Per altre informazioni, vedere Configurare un'app Aspira per servizio app di Azure.

Per ulteriori informazioni sui carichi di lavoro supportati di App Service e sul comportamento di deployment, consulta Servizio app di Azure Hosting integration e Deploy to Servizio app di Azure.

Passaggi successivi

È stata distribuita correttamente un'app Aspire nel servizio app di Azure. Ecco alcuni passaggi successivi da esplorare:

Esplorare le funzionalità del servizio app di Azure