Mulai cepat: Menyebarkan aplikasi Aspire ke Azure App Service

Dalam panduan cepat ini, Anda akan belajar cara membuat dan meng-deploy aplikasi Aspire pertama Anda ke Azure App Service. Azure App Service menyediakan platform yang dikelola sepenuhnya untuk menghosting aplikasi web dengan pemeliharaan infrastruktur bawaan, patching keamanan, dan penskalaan.

Anda dapat menyelesaikan seluruh panduan kilat ini di browser Anda menggunakan GitHub Codespaces, yang menyediakan lingkungan pengembangan yang telah dikonfigurasi sebelumnya dengan .NET versi 10 dan Azure Developer CLI yang sudah diinstal. Pada akhirnya, Anda memiliki aplikasi Aspire yang sedang berjalan yang disebarkan ke Azure App Service.

Nota

Meskipun panduan memulai ini berfokus pada proyek .NET, Aspire juga mendukung aplikasi Python sejak Aspire 1.3. Aplikasi Python Aspire juga dapat disebarkan ke Azure App Service menggunakan integrasi yang sama.

Prasyarat

Membuat aplikasi pemula Aspire di ruang kode GitHub

  1. Navigasi ke github.com/codespaces.

  2. Untuk templat .NET, pilih Gunakan templat ini.

    Browser Anda membuka codespace baru dengan Visual Studio Code yang berjalan di browser. Lingkungan ini mencakup .NET 10 dan Azure Developer CLI yang telah diinstal sebelumnya.

  3. Di terminal codespace, instal Aspire CLI secara global:

    dotnet tool install -g Aspire.Cli
    
  4. Di terminal, buat aplikasi Aspire baru. Saat diminta, terima default.

    aspire new aspire-starter --name aspire-starter
    

    Perintah membuat direktori baru bernama aspire-starter dengan solusi Aspire lengkap, termasuk:

    • Proyek AppHost untuk orkestrasi
    • Proyek ServiceDefaults untuk konfigurasi bersama
    • Contoh API dan proyek frontend web
  5. Navigasikan ke direktori proyek:

    cd aspire-starter
    

Menambahkan integrasi Azure App Service

Konfigurasikan aplikasi Aspire Anda untuk disebarkan ke Azure App Service.

  1. Tambahkan paket integrasi hosting Azure App Service:

    aspire add azure-appservice
    

    Perintah aspire add otomatis mendeteksi proyek AppHost dan menambahkan paket Aspire.Hosting.Azure.AppService ke proyek tersebut.

  2. Buka aspire-starter/aspire-starter.AppHost/AppHost.cs.

  3. Tambahkan lingkungan Azure App Service setelah CreateBuilder baris:

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

    Untuk informasi selengkapnya, lihat Apakah saya memerlukan lingkungan App Service untuk menjalankan aplikasi Aspire?.

  4. Tambahkan .WithExternalHttpEndpoints() ke apiservice proyek. Kode lengkap apiservice Anda akan terlihat seperti:

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

    Nota

    apiservice membutuhkan .WithExternalHttpEndpoints() karena Aspire dengan App Service saat ini tidak mengelola lalu lintas antara aplikasi melalui titik akhir internal. apiservice perlu dapat diakses melalui titik akhir HTTP eksternal agar komunikasi layanan-ke-layanan berfungsi.

Sebarkan ke Azure

  1. Dari aspire-starter secara langsung, inisialisasi azd di direktori saat ini:

    azd init
    

    Ketika diminta,

    • Pilih Pindai direktori saat ini.
    • Pilih Konfirmasi dan lanjutkan menginisialisasi aplikasi saya.
    • Untuk Masukkan nama lingkungan unik:, masukkan nama yang Anda inginkan seperti aspire-quickstart.

    Perintah membuat file konfigurasi yang diperlukan untuk penyebaran, yang secara default hanyalah file azure.yaml yang menunjuk ke proyek AppHost Anda. Konfigurasi ini memungkinkan azd up untuk bekerja dengan mengidentifikasi proyek AppHost Anda. Nilai host: containerapp tidak menentukan target penyebaran Anda karena azd menggunakan infrastruktur yang ditentukan dalam file AppHost.cs Anda (dalam hal ini, lingkungan App Service yang Anda tambahkan dengan AddAzureAppServiceEnvironment).

  2. Masuk ke Azure dengan azd auth login. Ini akan meluncurkan halaman masuk interaktif. Masuk menggunakan info masuk akun Azure Anda.

    azd auth login
    
  3. Sebarkan aplikasi:

    azd up
    

    Ketika diminta:

    • Langganan: Pilih langganan Azure Anda
    • Lokasi: Pilih wilayah di dekat Anda (misalnya, (Eropa) Eropa Barat (westeurope))

    Perintah azd up melakukan tindakan berikut berdasarkan kode AppHost.cs Anda:

    • Membuat grup sumber daya baru
    • Membuat Rencana Layanan Aplikasi Azure
    • Membuat Azure Container Registry
    • Membuat dua aplikasi web App Service (satu untuk API, satu untuk frontend)
    • Membuat sumber daya Dasbor Aspire terkelola
    • Membangun dan menampung aplikasi Anda
    • Mendorong kontainer ke Azure Container Registry
    • Menyebarkan kontainer ke App Service

    Proses ini memakan waktu beberapa menit untuk selesai.

  4. Saat penyebaran selesai, azd menampilkan URL titik akhir untuk layanan yang Anda sebarkan.

    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.
    

Telusuri aplikasi Aspire Anda

  1. Dalam output penyebaran, temukan URL untuk layanan webfrontend. Ini terlihat mirip dengan:

    webfrontend: https://webfrontend-xxxxx.azurewebsites.net
    
  2. Salin URL dan buka di tab browser baru.

    Anda melihat aplikasi starter Aspire yang berjalan di Azure App Service. Frontend web berkomunikasi dengan layanan API, menunjukkan arsitektur terdistribusi.

  3. Coba navigasikan melalui aplikasi untuk memverifikasi bahwa aplikasi berfungsi dengan benar.

  4. Untuk melihat Dasbor Aspire, temukan URL Dasbor Aspire di output penyebaran dan buka di tab browser baru.

    Cuplikan layar dasbor Aspire aplikasi yang berjalan di Azure App Service.

Menampilkan detail penyebaran di portal Microsoft Azure

  1. Navigasi ke portal Microsoft Azure.

  2. Di bilah pencarian, ketik grup sumber daya dan pilih Grup Sumber Daya.

  3. Temukan dan pilih grup sumber daya yang dibuat oleh azd (dimulai dengan diikuti dengan rg- nama lingkungan Anda).

    Cuplikan layar tampilan grup sumber daya aplikasi Aspire yang disebarkan oleh AZD.

    Anda akan melihat sumber daya berikut:

    • Paket App Service: Infrastruktur hosting
    • App Services: Aplikasi webfrontend dan apiservice Anda
    • Dasbor Aspire: Sumber daya Azure terkelola, dilindungi oleh kontrol akses yang didukung sumber daya (RBAC).
    • Container Registry: Menyimpan gambar kontainer Anda
    • Identitas yang Ditetapkan Pengguna: Menyediakan akses aman antar layanan

Membersihkan sumber daya

Saat Anda tidak lagi memerlukan sumber daya Azure, hapus sumber daya tersebut untuk menghindari dikenakan biaya.

  1. Di terminal codespace Anda, jalankan:

    azd down
    
  2. Saat diminta, konfirmasikan bahwa Anda ingin menghapus sumber daya.

  3. Pilih Ya untuk menghapus grup sumber daya dan semua sumber daya secara permanen.

Perintah menghapus semua sumber daya Azure yang dibuat selama mulai cepat ini.

Tanya jawab umum

Apakah saya memerlukan lingkungan App Service untuk menjalankan aplikasi Aspire?

Tidak, Anda tidak memerlukan lingkungan App Service untuk menjalankan aplikasi Aspire di Azure App Service. Metode ini AddAzureAppServiceEnvironment membuat konsep lingkungan Aspire yang mewakili infrastruktur hosting untuk aplikasi Anda, yang kebetulan adalah App Service dalam hal ini. Terlepas dari namanya, itu tidak merujuk ke lingkungan App Service.

Saat Anda memanggil AddAzureAppServiceEnvironment, itu akan menyediakan:

  • Paket Azure App Service (tingkat Premium P0V3 di Linux secara default)
  • Azure Container Registry untuk menyimpan gambar kontainer
  • Identitas terkelola yang ditetapkan pengguna untuk akses aman antar layanan

Konsep lingkungan Aspire ini mengelompokkan sumber daya Anda bersama-sama dan menyediakan infrastruktur yang diperlukan untuk menyebarkan aplikasi Aspire Anda ke Azure App Service.

Bagaimana cara menyesuaikan penyebaran App Service saya?

Anda dapat menyesuaikan penyebaran App Service dengan memodifikasi konfigurasi AppHost.cs. Integrasi Aspire Azure App Service menyediakan beberapa cara untuk menyesuaikan penyebaran Anda:

  • Mengonfigurasi Paket App Service: Menyesuaikan opsi SKU, tingkat, dan penskalakan
  • Menyesuaikan pengaturan App Service: Menambahkan variabel lingkungan, string koneksi, dan pengaturan aplikasi
  • Mengonfigurasi infrastruktur: Mengubah jaringan, autentikasi, dan sumber daya Azure lainnya
  • Menggunakan sumber daya yang ada: Menyambungkan ke Paket App Service yang sudah ada atau sumber daya Azure lainnya

Untuk informasi selengkapnya, lihat Mengonfigurasi aplikasi Aspire untuk Azure App Service.

Langkah selanjutnya

Anda berhasil menyebarkan aplikasi Aspire ke Azure App Service! Berikut adalah beberapa langkah berikutnya untuk dijelajahi:

Menjelajahi fitur Azure App Service