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.

Bu hızlı başlangıç'ı tarayıcınızda GitHub Codespaces için resmi Aspire geliştirme konteynerini kullanarak tamamlayabilirsiniz. Sonunda, Azure App Service'e dağıtılmış çalışan bir Aspire uygulamanız olur.

Important

Aspire Azure App Service entegrasyonu şu anda önizleme aşamasında.

Bu hızlı başlangıç, C# AppHost ve .NET projeleri kullanır. Aspire ayrıca TypeScript AppHosts ve çok dilli uygulama kaynaklarını da destekler. Daha fazla bilgi için Aspire AppHost ve Aspire 13.5'te ne yenilikler var bölümlerine bakınız.

Prerequisites

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

  1. Aspire geliştirme konteyner şablonundan bir depo oluşturun.

  2. Yeni depoda, Code>> seçeneğini belirleyin.

    Tarayıcınız, Visual Studio Code içeren bir kod alanı açar. Ortam, Aspire CLI ve güvenilir yerel HTTPS geliştirme sertifikasını içerir.

    Daha fazla bilgi için GitHub Codespaces kullanarak Aspire ile geliştirme bölümüne bakın.

  3. Terminalde yeni bir Aspire uygulaması oluşturun:

    aspire new aspire-starter --name aspire-starter --output 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
  4. 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 hosting entegrasyonunu ekleyin:

    aspire add Aspire.Hosting.Azure.AppService
    

    Komut, aspire add AppHost projesini tespit eder ve paketi Aspire.Hosting.Azure.AppService ekler. Daha fazla bilgi için bkz. aspire add.

  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 kaynağınız şöyle görünmelidir:

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

    Uyarı

    App Service yalnızca harici HTTP ve HTTPS uç noktalarını destekler ve her dağıtılan uygulama için ayrı bir hedef portu sunar. Başlangıç şablonu zaten ön uç noktayı açığa çıkarıyor. Daha fazla bilgi için bkz. Azure App Service Hosting integration.

  5. Çözüm kökünden, AppHost'u yerel olarak doğrulamak için aspire run çalıştırın.

    Mevcut Aspire dashboard'un ekran görüntüsü, App Service ortamı ve örnek uygulama kaynakları.

Azure'a dağıtım yap

  1. Azure'da oturum açın:

    az login
    
  2. Uygulamayı dağıtma:

    aspire deploy
    

    Sorulduğunda, Azure aboneliğinizi, konumunuzu ve kaynak grubunuzu seçin. Aspire, seçilen dağıtım ayarlarını AppHost kullanıcı sırları olarak saklıyor, böylece tekrar kullanabiliyorsunuz.

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

    • Seçilen kaynak grubunu oluşturur veya yeniden kullanır
    • Azure App Service Planı oluşturur
    • Bir 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

    Dağıtım ayarları ve kimlik doğrulama hakkında daha fazla bilgi için Deploy to Azure bölümüne bakınız.

  3. Dağıtım tamamlandığında, komut dağıtılan hizmetler ve Aspire Dashboard için uç nokta URL'lerini gösterir.

    Dağıtım akışı hakkında daha fazla bilgi için Deploy to Azure App Service bölümüne bakınız.

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 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. aspire deploy sırasında seçtiğiniz kaynak grubunu bulun ve seçin.

    Aspire tarafından dağıtılan bir 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 Dashboard: Rol tabanlı erişim kontrolü (RBAC) ile 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:

    aspire destroy
    
  2. Sorulduğunda, konuşlandırılmış ortamı yok etmek istediğinizi onaylayın.

Komut, App Service ortamında kayıtlı yok etme adımını çalıştırır. Daha fazla bilgi için bkz. aspire destroy.

Caution

aspire destroy Aspire tarafından oluşturulmamış kaynaklar da dahil olmak üzere tüm kaynak grubunu siler. Onaylamadan önce hedef kaynak grubunu gözden geçirin.

Sık sorulan sorular

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

Hayır. Adına rağmen, AddAzureAppServiceEnvironment, İzole katmanında bir App Service Ortamı sağlamaz. Bu, uygulamanız için App Service barındırma altyapısını temsil eden bir Aspire ortam kaynağı oluşturur.

ç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.

Desteklenen App Service iş yükleri ve dağıtım davranışı hakkında daha fazla bilgi için bkz. Azure App Service Hosting integration ve Deploy to Azure App Service.

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