Quickstart: Een Aspire-app implementeren in Azure App Service

In deze quickstart leert u hoe u uw eerste Aspire-app maakt en implementeert in Azure App Service. Azure App Service biedt een volledig beheerd platform voor het hosten van web-apps met ingebouwd infrastructuuronderhoud, beveiligingspatching en schalen.

Je kunt deze volledige quickstart in je browser voltooien door de officiële Aspire-ontwikkelcontainer voor GitHub Codespaces te gebruiken. Aan het einde hebt u een actieve Aspire-app geïmplementeerd in Azure App Service.

Important

De integratie van Aspire Azure App Service bevindt zich momenteel in preview.

Deze quickstart gebruikt een C# AppHost en .NET-projecten. Aspire ondersteunt ook TypeScript AppHosts en polyglot applicatiebronnen. Voor meer informatie, zie Aspire AppHost en Wat is nieuw in Aspire 13.5.

Prerequisites

Een Aspire Starter-app maken in een GitHub-codespace

  1. Maak een repository aan vanuit de Aspire development container-template.

  2. Selecteer in de nieuwe repository Code>Codespaces>Codespace maken op main.

    Je browser opent een codespace met Visual Studio Code. De omgeving bevat de Aspire CLI en een vertrouwd lokaal HTTPS-ontwikkelingscertificaat.

    Voor meer informatie, zie Ontwikkelen met Aspire met GitHub Codespaces.

  3. Maak in de terminal een nieuwe Aspire-app aan:

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

    Met de opdracht maakt u een nieuwe map met de naam aspire-starter met een volledige Aspire-oplossing, waaronder:

    • Een AppHost-project voor orkestratie
    • Een ServiceDefaults-project voor gedeelde configuraties
    • Voorbeeld-API- en webfront-endprojecten
  4. Navigeer naar de projectdirectory:

    cd aspire-starter
    

Integratie van Azure App Service toevoegen

Configureer uw Aspire-app om te implementeren in Azure App Service.

  1. Voeg de Azure App Service hostingintegratie toe:

    aspire add Aspire.Hosting.Azure.AppService
    

    Het aspire add commando detecteert het AppHost-project en voegt het Aspire.Hosting.Azure.AppService pakket toe. Zie aspire add voor meer informatie.

  2. Open de aspire-starter/aspire-starter.AppHost/AppHost.cs.

  3. Voeg na de CreateBuilder regel een Azure App Service-omgeving toe:

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

    Zie Voor meer informatie heb ik een App Service-omgeving nodig om Aspire-apps uit te voeren?.

  4. Voeg .WithExternalHttpEndpoints() toe aan het apiservice project. Je volledige apiservice bron moet er als volgt uitzien:

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

    Note

    App Service ondersteunt alleen externe HTTP- en HTTPS-eindpunten en één aparte doelpoort voor elke geïmplementeerde app. De startertemplate maakt het frontend-eindpunt al beschikbaar. Voor meer informatie, zie Azure App Service Hosting integratie.

  5. Voer vanuit de hoofdmap van de oplossing aspire run uit om de AppHost lokaal te controleren.

    Een screenshot van het huidige Aspire-dashboard waarop de App Service-omgeving en voorbeeldbronnen van de app te zien zijn.

Implementeren in Azure

  1. Meld u aan bij Azure:

    az login
    
  2. De toepassing implementeren:

    aspire deploy
    

    Wanneer daarom wordt gevraagd, selecteer je je Azure-abonnement, locatie en resourcegroep. Aspire slaat de geselecteerde deployment-instellingen op als AppHost-gebruikersgeheimen zodat je ze opnieuw kunt gebruiken.

    Met aspire deploy de opdracht worden de volgende acties uitgevoerd op basis van uw AppHost.cs code:

    • Maakt de geselecteerde resourcegroep aan of hergebruikt het opnieuw
    • Hiermee maakt u een Azure App Service-plan
    • Hiermee maakt u een Azure Container Registry
    • Hiermee maakt u twee App Service-web-apps (één voor de API, één voor de front-end)
    • Hiermee maakt u een beheerde Aspire Dashboard-resource
    • Uw toepassingen bouwen en in een container plaatsen
    • Pusht de containers naar Azure Container Registry
    • Hiermee worden de containers geïmplementeerd in App Service

    Voor meer informatie over implementatieinstellingen en authenticatie, zie Deploy to Azure.

  3. Wanneer de deployment is voltooid, toont het commando de endpoint-URL's van de gedeployeerde services en het Aspire Dashboard.

    Voor meer informatie over de deploymentflow, zie Deploy to Azure App Service.

Door uw Aspire-app bladeren

  1. Zoek in de uitvoer van de implementatie de URL voor de webfrontend service. Het ziet er ongeveer als volgt uit:

    webfrontend: https://webfrontend-xxxxx.azurewebsites.net
    
  2. Kopieer de URL en open deze in een nieuw browsertabblad.

    U ziet dat de Aspire Starter-app wordt uitgevoerd in Azure App Service. De webfront-end communiceert met de API-service, waarmee de gedistribueerde architectuur wordt gedemonstreerd.

  3. Navigeer door de app om te controleren of deze correct werkt.

  4. Als u het Aspire Dashboard wilt weergeven, zoekt u de Url van het Aspire-dashboard in de implementatie-uitvoer en opent u deze in een nieuw browsertabblad.

Implementatiedetails weergeven in Azure Portal

  1. Navigeer naar de Azure portal.

  2. Typ resourcegroepen in de zoekbalk en selecteer Resourcegroepen.

  3. Vind en selecteer de resourcegroep die je hebt gekozen tijdens aspire deploy.

    Een screenshot van de resourcegroepweergave van een Aspire-app die door Aspire is geïmplementeerd.

    U zou de volgende bronnen moeten zien:

    • App Service-plan: de hostinginfrastructuur
    • App Services: uw webfrontend- en apiservice-apps
    • Aspire Dashboard: Een beheerde Azure-bron die wordt beschermd door rolgebaseerde toegangscontrole (RBAC).
    • Container Registry: slaat uw containerinstallatiekopieën op
    • Door de gebruiker toegewezen identiteit: biedt beveiligde toegang tussen services

De hulpbronnen opschonen

Wanneer u de Azure-resources niet meer nodig hebt, verwijdert u deze om kosten te voorkomen.

  1. Voer in uw codespace-terminal het volgende uit:

    aspire destroy
    
  2. Bevestig desgevraagd dat je de geïmplementeerde omgeving wilt vernietigen.

Het commando voert de destroy-stap uit die door de App Service-omgeving wordt geregistreerd. Zie aspire destroy voor meer informatie.

Caution

aspire destroy verwijdert de hele resourcegroep, inclusief bronnen die niet door Aspire zijn gemaakt. Bekijk de doelgroep voordat je bevestigt.

Veelgestelde vragen

Heb ik een App Service-omgeving nodig om Aspire-apps uit te voeren?

No. Ondanks de naam richt AddAzureAppServiceEnvironment geen App Service Environment in in de Isolated-laag. Het creëert een Aspire-omgevingsresource die de App Service-hostinginfrastructuur voor je applicatie vertegenwoordigt.

Wanneer u belt AddAzureAppServiceEnvironment, wordt het volgende geregeld:

  • Een Azure App Service-plan (Premium P0V3-laag, standaard op Linux)
  • Een Azure Container Registry voor het opslaan van containerinstallatiekopieën
  • Een door de gebruiker toegewezen beheerde identiteit voor beveiligde toegang tussen services

Deze Aspire-omgeving groepeert uw resources en biedt de infrastructuur die nodig is om uw Aspire-apps te implementeren in Azure App Service.

Hoe kan ik mijn App Service-implementatie aanpassen?

U kunt uw App Service-implementatie aanpassen door de AppHost.cs configuratie te wijzigen. De Integratie van Aspire Azure App Service biedt verschillende manieren om uw implementatie aan te passen:

  • Het App Service-plan configureren: SKU, laag en schaalopties aanpassen
  • App Service-instellingen aanpassen: omgevingsvariabelen, verbindingsreeksen en app-instellingen toevoegen
  • Infrastructuur configureren: netwerken, verificatie en andere Azure-resources wijzigen
  • Bestaande resources gebruiken: verbinding maken met bestaande App Service-plannen of andere Azure-resources

Zie Een Aspire-app configureren voor Azure App Service voor meer informatie.

Voor meer informatie over ondersteunde App Service-workloads en implementatiegedrag, zie Azure App Service Hosting integration en Deploy to Azure App Service.

Volgende stappen 

U hebt een Aspire-app geïmplementeerd in Azure App Service. Hier volgen enkele volgende stappen om te verkennen:

Azure App Service-functies verkennen