Menyebarkan aplikasi web C# ASP.NET ke mesin virtual di Azure Stack Hub

Anda dapat membuat mesin virtual (VM) untuk menghosting aplikasi web C# ASP.NET Anda di Azure Stack Hub. Artikel ini menunjukkan kepada Anda cara menyiapkan server Anda, mengonfigurasinya untuk menghosting aplikasi web C # ASP.NET Anda, lalu menyebarkan aplikasi langsung dari Visual Studio.

Artikel ini berisi tentang cara menggunakan Azure Stack Hub. Anda dapat menjalankan Azure di pusat data menggunakan Azure Stack Hub. Jika Anda mencari panduan untuk Azure global, lihat Menerbitkan aplikasi ASP.NET Core ke Azure dengan Visual Studio.

Prasyarat

Tidak

Buat VM

Buat mesin virtual lalu instal komponen yang Anda butuhkan untuk menghosting aplikasi web .NET Anda. Anda memerlukan Konsol Manajemen IIS, layanan manajemen Web, runtime .NET, dan Microsoft Web Deploy di VM Anda. Anda harus membuka port untuk server web Anda dan untuk Web Deploy dari komputer pengembangan Anda. Saat menginstal runtime .NET, pastikan Anda menggunakan versi .NET yang sama baik di server target maupun mesin pengembangan Anda.

  1. Membuat mesin virtual Windows Server.

  2. Untuk menginstal komponen IIS (dengan Management Console) dan .NET 5.0 di mesin virtual Anda, jalankan skrip berikut di konsol PowerShell 5.x Anda:

    # Install IIS (with Management Console)
    Install-WindowsFeature -name Web-Server -IncludeManagementTools
    
    # Install Web Management Service
    Install-WindowsFeature -Name Web-Mgmt-Service
    
  3. Unduh .NET 5.0 di mesin virtual Anda.

  4. Unduh Web Deploy v3.6. Instal dari file MSI, lalu aktifkan semua fitur.

  5. Di portal Azure Stack Hub, buka port yang tercantum di pengaturan jaringan untuk mesin virtual Anda.

    a. Buka portal Azure Stack Hub untuk penyewa Anda.

    b. Cari mesin virtual Anda. Anda mungkin telah menyematkan mesin virtual ke dasbor Anda, atau Anda dapat mencarinya di kotak Sumber daya Penelusuran.

    c. Pilih Jaringan.

    d. Pilih Tambahkan aturan port masuk di bawah mesin virtual.

    e. Tambahkan aturan keamanan masuk untuk port berikut:

    Port Protokol Deskripsi
    80 HTTP Protokol Transfer Hiperteks (HTTP) adalah protokol yang digunakan untuk mengirimkan halaman web dari server. Klien tersambung melalui HTTP dengan nama DNS atau alamat IP.
    443 HTTPS Protokol Transfer Hiperteks Aman (HTTPS) adalah versi aman dari HTTP yang memerlukan sertifikat keamanan dan memungkinkan transmisi informasi terenkripsi.
    22 SSH Secure Shell (SSH) adalah protokol jaringan terenkripsi untuk komunikasi yang aman. Anda akan menggunakan koneksi ini dengan klien SSH untuk mengonfigurasi VM dan menyebarkan aplikasi.
    3389 RDP Opsional. Protokol Desktop Jauh (RDP) memungkinkan koneksi desktop jarak jauh untuk menggunakan antarmuka pengguna grafis mesin Anda.
    8172 Kustom Port yang digunakan oleh Web Deploy.

    Untuk setiap port:

    a. Untuk Sumber, pilih Apa pun.

    b. Untuk Rentang port sumber, ketik tanda bintang (*).

    c. Untuk Tujuan, pilih Apa pun.

    d. Untuk Rentang port tujuan, tambahkan port yang ingin Anda buka.

    e. Untuk Protokol, pilih Apa pun.

    f. Untuk Tindakan, pilih Izinkan.

    g. Untuk Prioritas, biarkan pilihan default.

    h. Masukkan Nama dan Deskripsi untuk membantu Anda mengingat mengapa port terbuka.

    i. Pilih Tambahkan.

  6. Di pengaturan Ringkasan untuk mesin virtual Anda di Azure Stack Hub, buat nama DNS untuk server Anda. Pengguna dapat terhubung ke situs web Anda dengan menggunakan URL.

    a. Buka portal Azure Stack Hub untuk penyewa Anda.

    b. Cari mesin virtual Anda. Anda mungkin telah menyematkan mesin virtual ke dasbor Anda, atau Anda dapat mencarinya di kotak Sumber daya Penelusuran.

    c. Pilih Ringkasan.

    d. Di bawah DNS, pilih Konfigurasi.

    e. Untuk Tugas, pilih Dinamis.

    f. Masukkan label nama DNS, seperti mywebapp, sehingga URL lengkap Anda akan tampak seperti mywebapp.region.cloudapp.azurestack.corp.contoso.com.

Buat aplikasi

Anda dapat menggunakan Aplikasi .NET default di Visual Studio, aplikasi web Anda sendiri, contohnya dapat dilihat di Menerbitkan aplikasi ASP.NET Core ke Azure dengan Visual Studio. Artikel ini menjelaskan cara membuat serta menerbitkan aplikasi web ASP.NET ke mesin virtual Azure dengan menggunakan fitur penerbitan Azure Virtual Machines di Visual Studio 2019. Setelah menginstal dan memastikan aplikasi berjalan secara lokal, sebaiknya perbarui target penerbitan ke mesin virtual Windows di instans Azure Stack Hub.

Menyebarkan dan menjalankan aplikasi

Buat target publikasikan dari mesin pengembangan Anda ke mesin virtual Anda di Azure Stack Hub.

  1. Di Penjelajah Solusi, klik kanan proyek Anda, lalu pilih Terbitkan.

    Menyebarkan aplikasi web ASP.NET ke penerbitan Azure Stack Hub

  2. Di jendela Terbitkan, pilih Baru.

  3. Pilih Web Server (IIS).

  4. Pilih Berikutnya>Web Deploy>Berikutnya.

  5. Untuk Server masukkan nama DNS yang Anda tentukan sebelumnya, seperti mywebapp.region.cloudapp.azurestack.corp.contoso.com.

  6. Untuk Nama situs, masukkan Default Web Site, atau nama yang digunakan dalam IIS di server target Anda.

  7. Untuk Nama pengguna, masukkan nama pengguna untuk mesin.

  8. Untuk Kata sandi, masukkan kata sandi untuk mesin.

  9. Untuk URL tujuan, masukkan URL untuk situs, seperti http://mywebapp.region.cloudapp.azurestack.corp.contoso.com.

    Menyebarkan aplikasi web ASP.NET - mengonfigurasi Web Deploy

  10. Untuk memvalidasi konfigurasi penerapan web, pilih Validasi koneksi, lalu pilih Berikutnya.

  11. Atur Konfigurasi sebagai Rilis.

  12. Atur Target Framework sebagai net5.0.

  13. Atur Mode Penyebaran sebagai Dependen Kerangka Kerja.

  14. Atur Runtime Target sebagai win-x64.

  15. Pilih Simpan.

  16. Pilih Terbitkan. Anda akan melihat output berikut di konsol Anda di Visual Studio:

    Publish Succeeded.
    Web App was published successfully http://mywebapp.region.cloudapp.azurestack.corp.contoso.com/
    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
    ========== Publish: 1 succeeded, 0 failed, 0 skipped ==========
    
  17. Buka server baru Anda. Anda akan melihat aplikasi web Anda yang sedang berjalan.

    mywebapp.region.cloudapp.azurestack.corp.contoso.com