Hızlı Başlangıç: Aspire uygulamasını Azure App Service'e dağıtma

Bu hızlı başlangıçta, ilk Aspire uygulamanızı oluşturmayı ve Azure App Service'e dağıtmayı öğreneceksiniz. Azure App Service, yerleşik altyapı bakımı, güvenlik yamaları ve ölçeklendirme ile web uygulamalarını barındırmak için tam yönetimli bir platform sağlar.

.NET 10 ve Azure Geliştirici CLI'sı zaten yüklü olan önceden yapılandırılmış bir geliştirme ortamı sağlayan GitHub Codespaces'ı kullanarak bu hızlı başlangıcın tamamını tarayıcınızda tamamlayabilirsiniz. Sonunda, Azure App Service'e dağıtılmış çalışan bir Aspire uygulamanız olur.

Uyarı

Bu hızlı başlangıç .NET projelerine odaklansa da Aspire, Aspire 1.3'ten başlayarak Python uygulamalarını da destekler. Python Aspire uygulamaları aynı tümleştirme kullanılarak Azure App Service'e de dağıtılabilir.

Önkoşullar

GitHub kod alanında Aspire başlangıç uygulaması oluşturma

  1. github.com/codespaces gidin.

  2. .NET şablonu için Bu şablonu kullan'ı seçin.

    Tarayıcınız, tarayıcıda çalışan Visual Studio Code ile yeni bir kod alanı açar. Ortam .NET 10 ve önceden yüklenmiş Azure Geliştirici CLI'sini içerir.

  3. Kod alanı terminalinde Aspire CLI'yi genel olarak yükleyin:

    dotnet tool install -g Aspire.Cli
    
  4. Terminalde yeni bir Aspire uygulaması oluşturun. İstendiğinde varsayılan değerleri kabul edin.

    aspire new aspire-starter --name aspire-starter
    

    komutu, aşağıdakiler dahil olmak üzere tam bir Aspire çözümüyle adlı aspire-starter yeni bir dizin oluşturur:

    • Orkestrasyon için bir AppHost projesi
    • Paylaşılan yapılandırmalar için ServiceDefaults projesi
    • Örnek API ve web ön uç projeleri
  5. Proje dizinine gidin:

    cd aspire-starter
    

Azure App Service tümleştirmesi ekleme

Aspire uygulamanızı Azure App Service'e dağıtılacak şekilde yapılandırın.

  1. Azure App Service barındırma tümleştirme paketini ekleyin:

    aspire add azure-appservice
    

    Komutu AppHost aspire add projesini otomatik olarak algılar ve Aspire.Hosting.Azure.AppService paketini ekler.

  2. aspire-starter/aspire-starter'i açın. AppHost/AppHost.cs.

  3. Satırın CreateBuilder arkasına bir Azure App Service ortamı ekleyin:

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

    Daha fazla bilgi için bkz. Aspire uygulamalarını çalıştırmak için App Service ortamına ihtiyacım var mı?.

  4. .WithExternalHttpEndpoints() öğesini apiservice projesine ekleyin. Tam apiservice kodunuz şöyle görünmelidir:

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

    Uyarı

    Aspire, App Service ile şu anda iç uç noktalar üzerinden uygulamalar arasındaki trafiği yönetmediği için apiservice gereksinim duymaktadır.WithExternalHttpEndpoints(). apiservice hizmetlerden hizmete iletişimin çalışması için dış HTTP uç noktaları üzerinden erişilebilir olması gerekir.

Azure’a dağıtın

  1. Aspire-starter'dan doğrudan geçerli dizinde azd'i başlatın:

    azd init
    

    Istendiğinde

    • Geçerli dizini tara'ya tıklayın.
    • Onayla'yı seçin ve uygulamamı başlatmaya devam edin.
    • Benzersiz bir ortam adı girin: alanına, gibi aspire-quickstartolmasını istediğiniz bir ad girin.

    Komut, varsayılan olarak AppHost projenize işaret eden bir azure.yaml dosyası olan dağıtım için gerekli yapılandırma dosyalarını oluşturur. Bu yapılandırma, AppHost projenizi tanımlayarak çalışmaya olanak tanır azd up . host: containerapp azd dosyanızda tanımlanan altyapıyı (bu örnekte, ile eklediğiniz App Service ortamını) kullandığından, bu değer dağıtım hedefinizi AddAzureAppServiceEnvironment belirlemez.

  2. ile azd auth loginAzure'da oturum açın. Etkileşimli bir oturum açma sayfası başlatır. Azure hesabı kimlik bilgilerinizle oturum açın.

    azd auth login
    
  3. Uygulamayı dağıtma:

    azd up
    

    Sorulduğunda:

    • Abonelik: Azure aboneliğinizi seçin
    • Konum: Size yakın bir bölge seçin (örneğin, (Avrupa) Batı Avrupa (westeurope))

    komutu, azd upAppHost.cs kodunuza göre aşağıdaki eylemleri gerçekleştirir:

    • Yeni bir kaynak grubu oluşturur
    • Azure App Service Planı oluşturur
    • Azure Container Registry oluşturur
    • İki App Service web uygulaması oluşturur (biri API için, biri ön uç için)
    • Yönetilen Aspire Gösterge Tablosu kaynağı oluşturur
    • Uygulamalarınızı derler ve kapsayıcılaştırır.
    • Kapsayıcıları Azure Container Registry'ye gönderir
    • Kapsayıcıları App Service'e dağıtır

    Bu işlemin tamamlanması birkaç dakika sürer.

  4. Dağıtım tamamlandığında azd, dağıtılan hizmetleriniz için uç nokta URL'lerini görüntüler.

    Deploying services (azd deploy)
    
      (✓) Done: Deploying service apiservice
      - Endpoint: https://apiservice-xxxxxx.azurewebsites.net/ 
    
      (✓) Done: Deploying service webfrontend
      - Endpoint: https://webfrontend-xxxxxx.azurewebsites.net/ 
    
      Aspire Dashboard: https://app-service-env-aspiredashboard-xxxxxx.azurewebsites.net
    
    SUCCESS: Your up workflow to provision and deploy to Azure completed in 1 minute 49 seconds.
    

Aspire uygulamanıza göz atın

  1. Dağıtım çıkışında hizmetin URL'sini webfrontend bulun. Şuna benzer:

    webfrontend: https://webfrontend-xxxxx.azurewebsites.net
    
  2. URL'yi kopyalayın ve yeni bir tarayıcı sekmesinde açın.

    Aspire başlangıç uygulamasının Azure App Service'te çalıştığını görürsünüz. Web ön ucu API hizmetiyle iletişim kurarak dağıtılmış mimariyi gösterir.

  3. Uygulamanın düzgün çalıştığını doğrulamak için uygulamada gezinmeyi deneyin.

  4. Aspire Panosu'nu görüntülemek için, dağıtım çıkışında Aspire Panosu URL'sini bulun ve yeni bir tarayıcı sekmesinde açın.

    Azure App Service'te çalışan bir uygulamanın Aspire panosunun ekran görüntüsü.

Azure portalında dağıtım ayrıntılarını görüntüleme

  1. Azure portalına gidin.

  2. Arama çubuğuna kaynak grupları yazın ve Kaynak Grupları'nı seçin.

  3. azd tarafından oluşturulan kaynak grubunu bulun ve seçin (ardından ortamınızın adıyla rg- başlar).

    AZD tarafından dağıtılan aspire uygulamasının kaynak grubu görünümünün ekran görüntüsü.

    Aşağıdaki kaynakları görmeniz gerekir:

    • App Service Planı: Barındırma altyapısı
    • Uygulama Hizmetleri: Webfrontend ve apiservice uygulamalarınız
    • Aspire Panosu: Kaynak destekli erişim denetimi (RBAC) tarafından korunan yönetilen bir Azure kaynağı.
    • Container Registry: Kapsayıcı görüntülerinizi depolar
    • Kullanıcı Tarafından Atanan Kimlik: Hizmetler arasında güvenli erişim sağlar

Kaynakları temizle

Azure kaynaklarına artık ihtiyacınız kalmadığında ücret yansıtılmasını önlemek için bunları silin.

  1. Kod alanı terminalinizde şunu çalıştırın:

    azd down
    
  2. İstendiğinde, kaynakları silmek istediğinizi onaylayın.

  3. Kaynak grubunu ve tüm kaynakları kalıcı olarak silmek için Evet'i seçin.

komutu, bu hızlı başlangıç sırasında oluşturulan tüm Azure kaynaklarını kaldırır.

Sıkça sorulan sorular

Aspire uygulamalarını çalıştırmak için app service ortamına ihtiyacım var mı?

Hayır, Azure App Service'te Aspire uygulamalarını çalıştırmak için App Service ortamına ihtiyacınız yoktur. AddAzureAppServiceEnvironment yöntemi, bu durumda App Service olan, uygulamanızın barındırma altyapısını temsil eden bir Aspire ortam kavramı oluşturur. Adına rağmen, App Service ortamlarına atıfta bulunmaz.

çağırdığınızda AddAzureAppServiceEnvironmentşunları sağlar:

  • Azure App Service Planı (Varsayılan olarak Linux'ta Premium P0V3 katmanı)
  • Kapsayıcı görüntülerini depolamak için bir Azure Konteyner Kaydı
  • Hizmetler arasında güvenli erişim için kullanıcı tarafından atanan yönetilen kimlik

Bu Aspire ortamı kavramı kaynaklarınızı bir araya gruplandırarak Aspire uygulamalarınızı Azure App Service'e dağıtmak için gereken altyapıyı sağlar.

App Service dağıtımımı nasıl özelleştirebilirim?

AppHost.cs yapılandırmasını değiştirerek App Service dağıtımınızı özelleştirebilirsiniz. Aspire Azure App Service tümleştirmesi, dağıtımınızı özelleştirmek için çeşitli yollar sağlar:

  • App Service Planını Yapılandırma: SKU, katman ve ölçeklendirme seçeneklerini ayarlama
  • App Service ayarlarını özelleştirme: Ortam değişkenleri, bağlantı dizeleri ve uygulama ayarları ekleme
  • Altyapıyı yapılandırma: Ağ, kimlik doğrulaması ve diğer Azure kaynaklarını değiştirme
  • Mevcut kaynakları kullanma: Mevcut App Service Planlarına veya diğer Azure kaynaklarına bağlanma

Daha fazla bilgi için bkz. Azure App Service için Aspire uygulaması yapılandırma.

Sonraki Adımlar

Aspire uygulamasını Azure App Service'e başarıyla dağıttınız! Araştırılacak bazı sonraki adımlar şunlardır:

Azure App Service özelliklerini keşfetme