Snabbstart: Distribuera en Aspire-app till Azure App Service

I den här snabbstarten lär du dig hur du skapar och distribuerar din första Aspire-app till Azure App Service. Azure App Service tillhandahåller en fullständigt hanterad plattform för att hantera webbappar med inbyggt infrastrukturunderhåll, säkerhetskorrigeringar och skalning.

Du kan slutföra hela denna snabbstart i din webbläsare genom att använda den officiella Aspire-utvecklingscontainern för GitHub Codespaces. I slutet har du en Aspire-app som körs distribuerad till Azure App Service.

Viktig

Aspire Azure App Service-integrationen är för närvarande i förhandsvisning.

Denna snabbstart använder en C# AppHost och .NET-projekt. Aspire stöder också TypeScript AppHosts och polyglotta applikationsresurser. För mer information, se Aspire AppHost och Vad som är nytt i Aspire 13.5.

Förutsättningar

Skapa en Aspire-startapp i ett GitHub-kodområde

  1. Skapa ett arkiv från Aspire-utvecklingscontainermallen.

  2. I den nya lagringsplatsen väljer du Kod>Codespaces>Skapa Codespace på main.

    Din webbläsare öppnar ett kodutrymme med Visual Studio Code. Miljön inkluderar Aspire CLI och ett betrodd lokalt HTTPS-utvecklingscertifikat.

    För mer information, se Utveckla med Aspire med GitHub Codespaces.

  3. I terminalen, skapa en ny Aspire-app:

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

    Kommandot skapar en ny katalog med namnet aspire-starter med en komplett Aspire-lösning, inklusive:

    • Ett AppHost-projekt för orkestrering
    • Ett ServiceDefaults-projekt för delade konfigurationer
    • Exempel på API- och webbklientdelsprojekt
  4. Navigera till projektkatalogen:

    cd aspire-starter
    

Lägga till Azure App Service-integrering

Konfigurera din Aspire-app så att den distribueras till Azure App Service.

  1. Lägg till Azure App Service hosting-integrationen:

    aspire add Aspire.Hosting.Azure.AppService
    

    Kommandot aspire add upptäcker AppHost-projektet och lägger till paketet Aspire.Hosting.Azure.AppService . Mer information finns i aspire add.

  2. Öppna aspire-starter/aspire-starter. AppHost/AppHost.cs.

  3. Lägg till en Azure App Service-miljö efter CreateBuilder raden:

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

    Mer information finns i Behöver jag en App Service-miljö för att köra Aspire-appar?.

  4. Lägg till .WithExternalHttpEndpoints() i apiservice projektet. Din kompletta apiservice resurs bör se ut så här:

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

    Anmärkning

    App Service stöder endast externa HTTP- och HTTPS-endpoints samt en distinkt målport för varje distribuerad app. Startmallen exponerar redan frontend-endpointen. För mer information, se integration av Azure App Service Hosting.

  5. Från lösningens rot, kör aspire run för att verifiera AppHost lokalt.

    En skärmdump av den nuvarande Aspire-instrumentpanelen som visar App Service-miljön och exempelresurser för appen.

Distribuera till Azure

  1. Logga in på Azure:

    az login
    
  2. Distribuera programmet:

    aspire deploy
    

    När du blir tillfrågad, välj din Azure-prenumeration, plats och resursgrupp. Aspire lagrar de valda distributionsinställningarna som AppHost-användarhemligheter så att du kan återanvända dem.

    Kommandot aspire deploy utför följande åtgärder baserat på din AppHost.cs kod:

    • Skapar eller återanvänder den valda resursgruppen
    • Skapar en Azure App Service-plan
    • Skapar ett Azure Container Registry-register
    • Skapar två App Service-webbappar (en för API:et, en för klientdelen)
    • Skapar en hanterad Aspire-instrumentpanelsresurs
    • Skapar och containeriserar dina program
    • Överför containrarna till Azure Container Registry
    • Distribuerar containrarna till App Service

    För mer information om distributionsinställningar och autentisering, se Distribuera till Azure.

  3. När distributionen är klar visar kommandot slutpunkts-URL:erna för de distribuerade tjänsterna och Aspire-dashboarden.

    För mer information om distributionsflödet, se Deploy to Azure App Service.

Bläddra i din Aspire-app

  1. Leta reda på URL:en för webfrontend tjänsten i distributionsutdata. Det ser ut ungefär så här:

    webfrontend: https://webfrontend-xxxxx.azurewebsites.net
    
  2. Kopiera URL:en och öppna den på en ny webbläsarflik.

    Du ser aspire-startappen som körs i Azure App Service. Webbklientdelen kommunicerar med API-tjänsten och visar den distribuerade arkitekturen.

  3. Försök att navigera genom appen för att kontrollera att den fungerar korrekt.

  4. Om du vill visa Aspire-instrumentpanelen letar du reda på URL:en för Aspire-instrumentpanelen i distributionsutdata och öppnar den på en ny webbläsarflik.

Visa distributionsinformation i Azure-portalen

  1. Gå till Azure-portalen.

  2. I sökfältet skriver du resursgrupper och väljer Resursgrupper.

  3. Hitta och välj den resursgrupp du valde under aspire deploy.

    En skärmdump av resursgruppsvyn för en Aspire-app som Aspire har distribuerat.

    Du bör se följande resurser:

    • App Service Plan: Värdtjänstinfrastruktur
    • App Services: Dina webfrontend- och apiservice-appar
    • Aspire Dashboard: En hanterad Azure-resurs skyddad av rollbaserad åtkomstkontroll (RBAC).
    • Container Registry: Lagrar dina containeravbildningar
    • Användartilldelad identitet: Ger säker åtkomst mellan tjänster

Rensa resurser

När du inte längre behöver Azure-resurserna tar du bort dem för att undvika avgifter.

  1. Kör i kodområdesterminalen:

    aspire destroy
    
  2. När du blir tillfrågad, bekräfta att du vill förstöra den utplacerade miljön.

Kommandot kör destroy-steget som registreras av App Service-miljön. Mer information finns i aspire destroy.

Försiktighet

aspire destroy tar bort hela resursgruppen, inklusive resurser som inte skapades av Aspire. Gå igenom målgruppen innan du bekräftar.

Vanliga frågor och svar

Behöver jag en App Service-miljö för att köra Aspire-appar?

No. Trots namnet tillhandahåller den AddAzureAppServiceEnvironment inte en App Service Environment i Isolerat-nivån. Den skapar en Aspire-miljöresurs som representerar App Service-hostinginfrastrukturen för din applikation.

När du anropar AddAzureAppServiceEnvironment tillhandahåller det:

  • En Azure App Service-plan (Premium P0V3-nivå i Linux som standard)
  • Ett Azure Container Registry för lagring av containeravbildningar
  • En användartilldelad hanterad identitet för säker åtkomst mellan tjänster

Det här konceptet för Aspire-miljön grupperar dina resurser och tillhandahåller den infrastruktur som behövs för att distribuera dina Aspire-appar till Azure App Service.

Hur anpassar jag min App Service-distribution?

Du kan anpassa App Service-distributionen genom att ändra AppHost.cs konfigurationen. Integreringen av Aspire Azure App Service innehåller flera sätt att anpassa distributionen:

  • Konfigurera App Service-planen: Justera alternativ för SKU, nivå och skalning
  • Anpassa App Service-inställningar: Lägg till miljövariabler, anslutningssträngar och appinställningar
  • Konfigurera infrastruktur: Ändra nätverk, autentisering och andra Azure-resurser
  • Använd befintliga resurser: Anslut till befintliga App Service-planer eller andra Azure-resurser

Mer information finns i Konfigurera en Aspire-app för Azure App Service.

För mer information om stödda App Service-arbetsbelastningar och driftsättningsbeteende, se Azure App Service Hosting integration och Deploy to Azure App Service.

Nästa steg

Du har distribuerat en Aspire-app till Azure App Service! Här följer några nästa steg att utforska:

Utforska Azure App Service-funktioner