Szybki start: wdrażanie aplikacji Aspire w usłudze Azure App Service

Z tego przewodnika Szybki start dowiesz się, jak utworzyć i wdrożyć pierwszą aplikację Aspire w usłudze Azure App Service. Usługa Azure App Service udostępnia w pełni zarządzaną platformę do hostowania aplikacji internetowych z wbudowaną konserwacją infrastruktury, stosowaniem poprawek zabezpieczeń i skalowaniem.

Cały ten szybki start możesz ukończyć w swojej przeglądarce, korzystając z oficjalnego kontenera Aspire dla GitHub Codespaces. Na koniec masz uruchomioną aplikację Aspire wdrożoną w usłudze Azure App Service.

Important

Integracja z Aspire Azure App Service jest obecnie w wersji podglądowej.

Ten szybki start wykorzystuje projekty C# AppHost i .NET. Aspire obsługuje także TypeScript AppHosts oraz zasoby aplikacji wielojęzycznych. Więcej informacji znajdziesz w Aspire AppHost oraz Co nowego w Aspire 13.5.

Wymagania wstępne

Tworzenie aplikacji startowej Aspire w usłudze GitHub Codespace

  1. Stwórz repozytorium z szablonu kontenera rozwojowego Aspire.

  2. W nowym repozytorium wybierz Code>Codespaces>Create codespace on main.

    Twoja przeglądarka otwiera przestrzeń kodu z Visual Studio Code. Środowisko obejmuje CLI Aspire oraz zaufany lokalny certyfikat rozwoju HTTPS.

    Więcej informacji można znaleźć w artykule Rozwijaj z Aspire korzystając z przestrzeni kodowych GitHub.

  3. W terminalu stwórz nową aplikację Aspire:

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

    Polecenie tworzy nowy katalog o nazwie aspire-starter z kompletnym rozwiązaniem Aspire, w tym:

    • Projekt AppHost do orkiestracji
    • Projekt ServiceDefaults dla wspólnych konfiguracji
    • Przykładowe projekty interfejsu API i frontonu internetowego
  4. Przejdź do katalogu projektu:

    cd aspire-starter
    

Dodawanie integracji z usługą Azure App Service

Skonfiguruj aplikację Aspire do wdrożenia w usłudze Azure App Service.

  1. Dodaj integrację hostingową Azure App Service:

    aspire add Aspire.Hosting.Azure.AppService
    

    Polecenie aspire add wykrywa projekt AppHost i dodaje Aspire.Hosting.Azure.AppService pakiet. Aby uzyskać więcej informacji, zobacz aspire add.

  2. Otwórz aspire-starter/aspire-starter.AppHost/AppHost.cs.

  3. Dodaj środowisko usługi Azure App Service po CreateBuilder wierszu:

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

    Aby uzyskać więcej informacji, zobacz Czy potrzebuję środowiska usługi App Service do uruchamiania aplikacji Aspire?.

  4. Dodaj .WithExternalHttpEndpoints() do apiservice projektu. Twoje pełne apiservice źródło powinno wyglądać następująco:

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

    Note

    App Service obsługuje tylko zewnętrzne punkty końcowe HTTP i HTTPS oraz jeden odrębny port docelowy dla każdej wdrożonej aplikacji. Szablon początkowy już udostępnia endpoint frontendu. Więcej informacji można znaleźć w Azure App Service Hosting integration.

  5. Z katalogu głównego rozwiązania uruchom aspire run, aby lokalnie zweryfikować AppHost.

    Zrzut ekranu aktualnego panelu Aspire pokazujący środowisko App Service oraz przykładowe zasoby aplikacji.

Wdrażanie na platformie Azure

  1. Zaloguj się do platformy Azure:

    az login
    
  2. Wdróż aplikację:

    aspire deploy
    

    Gdy pojawi się pytanie, wybierz subskrypcję Azure, lokalizację oraz grupę zasobów. Aspire przechowuje wybrane ustawienia wdrożenia jako sekrety użytkownika AppHost, aby można było je ponownie wykorzystać.

    Polecenie aspire deploy wykonuje następujące akcje na podstawie kodu AppHost.cs :

    • Tworzy lub ponownie wykorzystuje wybraną grupę zasobów
    • Tworzy plan usługi Azure App Service
    • Tworzy usługę Azure Container Registry
    • Tworzy dwie aplikacje internetowe usługi App Service (jedną dla interfejsu API, jedną dla frontonu)
    • Tworzy zarządzany zasób pulpitu nawigacyjnego Aspire
    • Kompiluje i konteneryzuje aplikacje
    • Wypycha kontenery do usługi Azure Container Registry
    • Wdraża kontenery w usłudze App Service

    Więcej informacji o ustawieniach wdrożenia i uwierzytelnianiu można znaleźć w artykule Wdrażaj to Azure.

  3. Po zakończeniu wdrożenia polecenie wyświetla adresy URL punktów końcowych wdrożonych usług oraz Aspire Dashboard.

    Więcej informacji o przepływie wdrożenia można znaleźć w artykule Wdrażaj do Azure App Service.

Przeglądaj swoją aplikację Aspire

  1. W danych wyjściowych wdrożenia znajdź adres URL webfrontend usługi. Wygląda podobnie do następującego:

    webfrontend: https://webfrontend-xxxxx.azurewebsites.net
    
  2. Skopiuj adres URL i otwórz go na nowej karcie przeglądarki.

    Zobaczysz aplikację startową Aspire uruchomioną w usłudze Azure App Service. Fronton internetowy komunikuje się z usługą interfejsu API, demonstrując architekturę rozproszoną.

  3. Spróbuj przejść przez aplikację, aby sprawdzić, czy działa poprawnie.

  4. Aby wyświetlić pulpit nawigacyjny Aspire, znajdź adres URL pulpitu nawigacyjnego Aspire w danych wyjściowych wdrożenia i otwórz go na nowej karcie przeglądarki.

Wyświetlanie szczegółów wdrożenia w witrynie Azure Portal

  1. Przejdź do Portalu Azure.

  2. Na pasku wyszukiwania wpisz grupy zasobów i wybierz pozycję Grupy zasobów.

  3. Znajdź i wybierz grupę zasobów, którą wybrałeś podczas aspire deploy.

    Zrzut ekranu widoku grupy zasobów aplikacji Aspire wdrożonej przez Aspire.

    Powinny zostać wyświetlone następujące zasoby:

    • Plan usługi App Service: infrastruktura hostingu
    • App Services: Aplikacje interfejsu webowego i usług API
    • Aspire Dashboard: zarządzany zasób Azure chroniony przez kontrolę dostępu opartą na rolach (RBAC).
    • Container Registry: przechowuje obrazy kontenerów
    • Tożsamość przypisana przez użytkownika: zapewnia bezpieczny dostęp między usługami

Uprzątnij zasoby

Jeśli zasoby platformy Azure nie są już potrzebne, usuń je, aby uniknąć naliczania opłat.

  1. W terminalu Codespace uruchom:

    aspire destroy
    
  2. Gdy pojawi się pytanie, potwierdź, że chcesz zniszczyć wdrożone środowisko.

Polecenie wykonuje krok usuwania zarejestrowany w środowisku App Service. Aby uzyskać więcej informacji, zobacz aspire destroy.

Caution

aspire destroy usuwa całą grupę zasobów, w tym te, które nie zostały stworzone przez Aspire. Przejrzyj grupę zasobów docelowych przed potwierdzeniem.

Często zadawane pytania

Czy potrzebuję środowiska usługi App Service do uruchamiania aplikacji Aspire?

No. Pomimo nazwy, nie udostępnia AddAzureAppServiceEnvironmentApp Service Environment w warstwie izolowanej. Tworzy on zasób środowiskowy Aspire, który reprezentuje infrastrukturę hostingową App Service dla Twojej aplikacji.

Gdy wywołujesz AddAzureAppServiceEnvironment, aprowizuje:

  • Plan usługi Azure App Service (domyślna warstwa Premium P0V3 na systemie Linux)
  • Usługa Azure Container Registry do przechowywania obrazów kontenerów
  • Tożsamość zarządzana przypisana przez użytkownika na potrzeby bezpiecznego dostępu między usługami

Koncepcja środowiska Aspire grupuje Twoje zasoby i udostępnia infrastrukturę wymaganą do wdrożenia aplikacji Aspire w usłudze Azure App Service.

Jak dostosować wdrożenie usługi App Service?

Wdrożenie usługi App Service można dostosować, modyfikując konfigurację AppHost.cs. Integracja aplikacji Aspire z usługą Azure App Service oferuje kilka sposobów dostosowywania wdrożenia:

  • Konfigurowanie planu usługi App Service: dostosowywanie opcji SKU, skalowania i warstwy
  • Dostosowywanie ustawień usługi App Service: dodawanie zmiennych środowiskowych, parametrów połączenia i ustawień aplikacji
  • Konfigurowanie infrastruktury: modyfikowanie sieci, uwierzytelniania i innych zasobów platformy Azure
  • Korzystanie z istniejących zasobów: nawiązywanie połączenia z istniejącymi planami usługi App Service lub innymi zasobami platformy Azure

Aby uzyskać więcej informacji, zobacz Configure an Aspire app for Azure App Service (Konfigurowanie aplikacji Aspirującego dla usługi Azure App Service).

Aby uzyskać więcej informacji o obsługiwanych obciążeniach App Service i zachowaniu wdrożeniowym, zobacz integrację Azure App Service Hosting oraz Deploy to Azure App Service.

Następne kroki

Pomyślnie wdrożono aplikację Aspire w usłudze Azure App Service! Poniżej przedstawiono kilka następnych kroków do zbadania:

Eksplorowanie funkcji usługi Azure App Service