Kontainerisasi aplikasi ASP.NET dan migrasi ke Azure App Service

Dalam artikel ini, Anda akan mempelajari cara melakukan kontainerisasi aplikasi ASP.NET dan memigrasikannya ke Azure App Service dengan menggunakan alat Azure Migrate App Containerization. Proses kontainerisasi tidak memerlukan akses ke codebase atau basis kode Anda dan menyediakan cara mudah untuk melakukan kontainerisasi aplikasi yang sudah ada. Alat ini bekerja dengan menggunakan status aplikasi yang berjalan di server untuk menentukan komponen aplikasi. Kemudian, alat ini akan membantu Anda mengemasnya dalam citra kontainer. Sehingga Anda dapat menyebarkan aplikasi dalam kontainer di Azure App Service.

Saat ini, alat Azure Migrate App Containerization mendukung:

Alat Kontainerisasi Aplikasi membantu Anda:

  • Menemukan komponen aplikasi Anda. Alat ini tersambung secara jarak jauh ke server aplikasi yang menjalankan aplikasi ASP.NET Anda dan menemukan komponen aplikasinya. Alat ini membuat Dockerfile yang dapat digunakan untuk membuat citra kontainer untuk aplikasi.
  • Build image kontainer. Anda dapat memeriksa dan menyesuaikan Dockerfile lebih lanjut sesuai pada persyaratan aplikasi Anda dan menggunakannya untuk membangun citra kontainer aplikasi Anda. Citra kontainer aplikasi akan didorong ke registri kontainer Azure yang Anda tentukan.
  • Menyebarkan ke Azure App Service. Alat ini kemudian menghasilkan file penyebaran yang diperlukan untuk menyebarkan aplikasi yang telah dikontainerisasi ke Azure App Service.

Catatan

Alat Azure Migrate App Containerization membantu Anda dalam menemukan jenis aplikasi tertentu (aplikasi web ASP.NET dan Java di Apache Tomcat) dan komponennya di server aplikasi. Untuk menemukan server dan inventaris aplikasi, peran, dan fitur yang berjalan di komputer lokal, gunakan Azure Migrate Alat penemuan dan penilaian.

Tidak semua aplikasi akan mendapat keuntungan dari pergantian secara langsung ke kontainer tanpa proses perancangan ulang yang signifikan. Berikut beberapa keuntungan dari perpindahan aplikasi yang sudah ada ke kontainer tanpa penulisan ulang:

  • Peningkatan pemanfaatan infrastruktur. Saat Anda menggunakan kontainer, beberapa aplikasi dapat berbagi sumber daya dan dihosting di infrastruktur yang sama. Hal ini dapat membantu Anda mengonsolidasikan infrastruktur dan meningkatkan pemanfaatan.
  • Manajemen yang disederhanakan. Anda dapat menyederhanakan praktik manajemen Anda dengan meng-host aplikasi Anda di platform modern terkelola, seperti AKS dan App Service. Anda dapat melakukannya dengan menghentikan atau mengurangi proses pemeliharaan dan manajemen infrastruktur yang biasanya Anda lakukan dengan infrastruktur yang telah dimiliki.
  • Portabilitas aplikasi. Portabilitas aplikasi tidak lagi jadi masalah ketika format dan platform spesifikasi kontainer ditingkatkan adopsi dan standarnya.
  • Mengadopsi manajemen modern menggunakan DevOps. Menggunakan kontainer membantu Anda dalam mengadopsi dan melakukan standarisasi praktik modern untuk manajemen dan keamanan serta transisi ke DevOps.

Dalam tutorial ini, Anda akan mempelajari cara:

  • Menyiapkan akun Azure.
  • Memasang alat Kontainerisasi Aplikasi Azure Migrate.
  • Menemukan aplikasi ASP.NET Anda.
  • Build image kontainer.
  • Menyebarkan aplikasi dalam kontainer di App Service.

Catatan

Tutorial menunjukkan jalur penyebaran paling sederhana untuk sebuah skenario sehingga Anda dapat menyiapkan bukti konsep dengan cepat. Tutorial menggunakan opsi default jika memungkinkan dan tidak menampilkan semua pengaturan dan jalur yang ada.

Prasyarat

Sebelum Anda memulai tutorial ini, Anda harus sudah:

Persyaratan Rincian
Mengidentifikasi komputer yang akan dipasang alat Anda membutuhkan komputer Windows untuk memasang dan menjalankan alat Kontainerisasi Aplikasi Azure Migrate. Komputer Windows dapat menjalankan sistem operasi server (Windows Server 2016 atau yang lebih baru) atau klien (Windows 10). (Alat ini dapat berjalan di desktop Anda.)

Komputer Windows yang menjalankan alat ini harus memiliki konektivitas jaringan ke server atau mesin virtual yang menghosting aplikasi ASP.NET yang akan dikontainerisasi.

Pastikan ada ruang sebesar 6 GB yang tersedia di komputer Windows yang akan menjalankan alat Kontainerisasi Aplikasi Azure Migrate. Ruang ini digunakan untuk menyimpan artefak aplikasi.

Mesin Windows harus memiliki akses internet, langsung atau melalui proxy.

Pasang alat Microsoft Web Deployment di komputer yang menjalankan alat Kontainerisasi Aplikasi dan server aplikasinya jika belum terpasang. Anda dapat mengunduh alat.
Server aplikasi Mengaktifkan PowerShell jarak jauh di server aplikasi: masuk ke server aplikasi dan Ikuti instruksi untuk mengaktifkan PowerShell jarak jauh.

Pastikan bahwa PowerShell versi 5.1 atau lebih baru terinstal di server aplikasi. Ikuti instruksi di Menginstal dan Mengonfigurasi WMF 5.1 di server aplikasi.

Pasang alat Microsoft Web Deployment di komputer yang menjalankan alat Kontainerisasi Aplikasi dan server aplikasinya jika belum terpasang. Anda dapat mengunduh alat.
Aplikasi ASP.NET Alat ini saat ini mendukung:
  • Aplikasi ASP.NET yang menggunakan .NET Framework 3.5 atau yang lebih baru.
  • Server aplikasi yang menjalankan Windows Server 2012 R2 atau yang lebih baru. (Server aplikasi harus menjalankan PowerShell 5.1.)
  • Aplikasi yang berjalan pada Internet Information Services 7.5 atau yang lebih baru.


Alat ini saat ini tidak mendukung:
  • Aplikasi yang memerlukan autentikasi Windows. (AKS saat ini tidak mendukung gMSA.)
  • Aplikasi yang bergantung pada layanan Windows lainnya yang dihosting di luar Internet Information Services.

Menyiapkan akun pengguna Azure

Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda mulai.

Setelah langganan Anda disiapkan, Anda akan memerlukan akun pengguna Azure dengan:

  • Izin pemilik pada langganan Azure.
  • Izin untuk mendaftarkan aplikasi Microsoft Entra.

Jika Anda baru saja membuat akun Azure gratis, Anda adalah pemilik langganan Anda. Jika Anda bukan pemilik langganan, bekerja samalah dengan pemilik untuk menetapkan izin sebagai berikut:

  1. Di portal Azure, cari "langganan." Di bawah Layanan, pilih Langganan:

    Screenshot that shows the search box for searching for an Azure subscription.

  2. Di halaman Langganan, pilih langganan tempat Anda ingin membuat proyek Azure Migrate.

  3. Di langganan, pada panel sebelah kiri, pilih Kontrol akses (IAM).

  4. Di tab Periksa akses, telusuri akun pengguna yang relevan.

  5. Di Tambahkan penetapan peran, pilih Tambahkan:

    Screenshot that shows searching for a user account to check access and assign a role.

  6. Di Tambahkan penetapan peran, pilih peran Pemilik, lalu pilih akun (azmigrateuser di contoh kami). Kemudian pilih Simpan.

    Screenshot that shows the Add role assignment page.

    Akun Azure Anda juga memerlukan izin untuk mendaftarkan aplikasi Microsoft Entra.

  7. Di portal Azure, buka Pengaturan Pengguna Pengguna Microsoft>Entra ID>.

  8. Di Pengaturan pengguna, verifikasi bahwa pengguna Microsoft Entra dapat mendaftarkan aplikasi. (Secara default. opsi ini diatur sebagai Ya.)

    Screenshot that shows the User settings page.

  9. Jika pengaturan Pendaftaran aplikasi diatur ke Tidak, minta admin penyewa/global untuk menetapkan izin yang diperlukan. Atau, admin penyewa/global dapat menetapkan peran Pengembang aplikasi ke akun untuk memungkinkan pendaftaran aplikasi Microsoft Entra. Untuk informasi lebih lanjut, lihat Menetapkan peran ke pengguna.

Mengunduh dan memasang alat Kontainerisasi Aplikasi Azure Migrate

  1. Unduh alat penginstal Kontainerisasi Aplikasi Azure Migrate pada komputer Windows.

  2. Buka PowerShell dalam mode admin dan ubah direktori PowerShell ke folder yang berisi alat penginstal.

  3. Jalankan skrip penginstalan dengan menggunakan perintah ini:

    .\AppContainerizationInstaller.ps1
    

Catatan

Untuk Windows Server 2022, edit baris 135 dan hapus PowerShell-ISE dari daftar fitur, karena tidak lagi didukung.

Membuka alat Kontainerisasi Aplikasi

  1. Buka browser di komputer apa pun yang dapat tersambung ke komputer Windows yang menjalankan alat Kontainerisasi Aplikasi. Buka URL alat: https://nama komputer atau alamat IP:44369.

    Sebagai laternatif, Anda dapat membuka aplikasi dari desktop dengan mengklik pintasan aplikasi.

  2. Jika Anda melihat peringatan yang menyatakan bahwa sambungan Anda tidak privat, klik Tingkat Lanjut dan pilih untuk melanjutkan ke situs web. Peringatan ini muncul karena antarmuka web menggunakan sertifikat TLS/SSL yang ditandatangani sendiri.

  3. Di layar rincian masuk, gunakan akun administrator lokal pada komputer untuk masuk.

  4. Pilih aplikasi web ASP.NET sebagai jenis aplikasi yang ingin Anda tampung.

  5. Di daftar Target layanan Azure, pilih Kontainer pada Azure App Service:

    Screenshot that shows the application type and target lists.

Melengkapi prasyarat alat

  1. Terima syarat lisensi dan baca informasi pihak ketiga.
  2. Di aplikasi web alat Siapkan prasyarat, selesaikan langkah-langkah berikut:
    • Konektivitas. Alat ini memeriksa apakah komputer Windows memiliki akses internet. Jika komputer menggunakan proksi:

      1. Pilih Siapkan proksi untuk menentukan alamat proksi (dalam alamat IP formulir atau FQDN) dan port mendengarkan.

      2. Tentukan kredensial jika proksi memerlukan autentikasi.

      3. Jika Anda telah menambahkan detail proksi atau menonaktifkan proksi atau autentikasi, klik Simpan untuk memicu pemeriksaan konektivitas lagi.

      Hanya proksi HTTP yang didukung.

    • Instal pembaruan. Alat ini memeriksa pembaruan terbaru dan memasangnya secara otomatis. Anda juga dapat memasang versi alat terbaru secara manual.

    • Memasang alat Microsoft Web Deploy. Alat ini akan memeriksa apakah alat Penyebaran Microsoft Web telah dipasang di komputer Windows yang menjalankan alat Kontainerisasi Aplikasi Azure Migrate.

    • Mengaktifkan PowerShell jarak jauh. Alat ini akan memberi tahu Anda untuk memastikan bahwa PowerShell jarak jauh diaktifkan di server aplikasi yang menjalankan aplikasi ASP.NET yang ingin Anda kontainerisasi.

Masuk ke Azure

  1. Pilih Masuk untuk masuk ke akun Azure Anda.

    Anda memerlukan kode perangkat untuk mengautentikasi dengan Azure. Jika Anda memilih Masuk, jendela yang berisi kode perangkat akan terbuka. Jika jendela tidak muncul, pastikan bahwa Anda telah menonaktifkan pemblokir pop-up di browser.

  2. Pilih Salin kode dan Masuk untuk menyalin kode perangkat dan buka prompt masuk Azure di tab browser baru:

    Screenshot that shows the Device code for Azure Sign in window.

  3. Pada tab baru, tempelkan kode perangkat dan selesaikan proses masuk dengan menggunakan informasi masuk akun Azure Anda. Setelah berhasil masuk, Anda dapat menutup tab browser dan kembali ke antarmuka web alat Kontainerisasi Aplikasi.

  4. Pilih penyewa Azure yang ingin Anda gunakan.

  5. Tentukan langganan Azure yang ingin Anda gunakan.

Menemukan aplikasi ASP.NET

Alat Kontainerisasi Aplikasi menyambungkan dari jarak jauh ke server aplikasi dengan menggunakan informasi masuk yang telah disediakan dan mencoba untuk menemukan aplikasi ASP.NET yang dihosting di server aplikasi.

  1. Tentukan Alamat IP server/FQDN dan informasi masuk server yang menjalankan aplikasi ASP.NET yang harus digunakan untuk tersambung ke server dari jarak jauh untuk penemuan aplikasi.

    • Mandat yang disediakan harus untuk administrator lokal (Windows) pada server aplikasi.
    • Untuk akun domain (pengguna harus menjadi administrator di server aplikasi), awali nama pengguna dengan nama domain dalam format ini: <domain\nama> pengguna.
    • Untuk akun lokal (pengguna harus menjadi administrator di server aplikasi), awali nama pengguna dengan nama host dalam format ini: <nama host\nama> pengguna.
    • Anda dapat menjalankan penemuan aplikasi hingga lima server sekaligus.
  2. Klik Validasi untuk memverifikasi bahwa server aplikasi dapat dijangkau dari komputer yang menjalankan alat dan bahwa informasi masuknya valid. Setelah validasi berhasil, kolom Status akan menampilkan status sebagai Dipetakan:

    Screenshot that shows the server status as Mapped.

  3. Klik Lanjutkan untuk memulai penemuan aplikasi di server aplikasi yang dipilih.

  4. Setelah penemuan aplikasi selesai, pilih aplikasi yang ingin Anda kontainerisasi:

    Screenshot that shows the discovered ASP.NET application.

  5. Tentukan nama untuk kontainer target di setiap aplikasi yang dipilih. Tentukan nama kontainer sebagai <nama:tag>, di mana tag digunakan untuk gambar kontainer. Misalnya, Anda dapat menentukan nama kontainer target sebagai appname:v1.

Membuat parameter konfigurasi aplikasi

Membuat parameter konfigurasi membuatnya tersedia sebagai parameter waktu penyebaran. Pembuatan parameter ini memungkinkan Anda untuk mengonfigurasi pengaturan saat Anda menyebarkan aplikasi, bukan membuatnya dikodekan secara permanen ke nilai tertentu dalam citra kontainer. Misalnya, opsi ini berguna untuk parameter seperti string koneksi database.

  1. Klik konfigurasi aplikasi untuk meninjau konfigurasi yang terdeteksi.

  2. Pilih parameter yang ingin Anda buat parameternya, lalu pilih Terapkan:

    Screenshot that shows the list of detected configurations.

Eksternalisasi dependensi sistem file

Anda dapat menambahkan folder lain yang digunakan aplikasi Anda. Tentukan apakah folder tersebut harus menjadi bagian dari citra kontainer atau akan dieksternalisasi ke penyimpanan tetap melalui berbagi Azure. Menggunakan penyimpanan tetap eksternal sangat bagus untuk aplikasi berstatus yang menyimpan status di luar kontainer atau memiliki konten statis lainnya yang disimpan di sistem {i>file

  1. Pilih Edit di Folder aplikasi untuk meninjau folder aplikasi yang terdeteksi. Folder tersebut telah diidentifikasi sebagai artefak wajib yang diperlukan oleh aplikasi. Folder-folder tersebut juga akan disalin ke dalam citra kontainer.

  2. Pilih Tambahkan folder dan tentukan jalur folder yang ingin Anda tambahkan.

  3. Untuk menambahkan beberapa folder ke volume yang sama, pisahkan nilai dengan koma.

  4. Pilih Berbagi file Azure sebagai opsi penyimpanan jika Anda ingin folder disimpan di luar kontainer pada penyimpanan persisten.

  5. Pilih Simpan setelah Anda selesai meninjau folder aplikasi:

    Screenshot that shows the Edit application folders window.

  6. Klik Lanjutkan untuk melanjutkan ke proses membangun citra kontainer.

Menyusun gambar kontainer

  1. Di menu dropdown, pilih registri kontainer Azure yang akan digunakan untuk membangun dan menyimpan citra kontainer untuk aplikasi. Anda dapat menggunakan registri kontainer Azure yang sudah ada atau membuat registri kontainer baru dengan memilih opsi Buat registri baru:

    Screenshot that shows the Build images window.

    Catatan

    Hanya registri kontainer Azure dengan pengguna admin yang telah diaktifkan saja yang ditampilkan. Akun admin saat ini diperlukan untuk menyebarkan citra dari registri kontainer Azure ke Azure App Service. Untuk informasi lebih lanjut, lihat Mengautentikasi dengan registri kontainer Azure.

  2. Dockerfile yang diperlukan dalam membuat citra kontainer untuk setiap aplikasi yang dipilih telah dibuat di awal langkah build. Klik Tinjau untuk meninjau Dockerfile. Anda juga dapat menambahkan kustomisasi yang diperlukan di Dockerfile di langkah peninjauan dan menyimpan perubahan sebelum memulai proses build.

  3. Pilih aplikasi yang ingin Anda build citranya, lalu pilih Build. Jika Anda mengklik Build, maka proses pembuatan citra kontainer untuk setiap aplikasi akan dimulai. Alat ini memantau status build dan memungkinkan Anda untuk melanjutkan ke langkah selanjutnya setelah proses build selesai.

  4. Anda dapat memantau proses build dengan memilih Proses Build yang sedang berjalan di kolom status. Tautan akan menjadi aktif beberapa menit setelah Anda memicu proses build.

  5. Setelah build selesai, klik Lanjutkan untuk menentukan pengaturan penyebaran:

    Screenshot that shows the Review link, the container image status, and the Build and Continue buttons.

Menyebarkan aplikasi yang dikontainerisasi di Azure App Service

Setelah citra kontainer dibangun, langkah selanjutnya adalah menyebarkan aplikasi sebagai kontainer di Azure App Service.

  1. Pilih paket Azure App Service yang harus digunakan aplikasi tersebut.

    Jika Anda tidak memiliki paket Azure App Service atau ingin membuat paket Azure App Service baru untuk digunakan, Anda dapat memilih untuk membuatnya dengan mengklik Membuat paket Azure App Service baru.

  2. Klik Lanjutkan setelah memilih paket Azure App Service.

  3. Jika Anda telah membuat parameter konfigurasi aplikasi, tentukan penyimpanan rahasia untuk digunakan aplikasi. Anda dapat memilih pengaturan aplikasi Azure Key Vault atau App Service untuk mengelola rahasia aplikasi Anda. Untuk informasi lebih lanjut, lihat Mengonfigurasi string koneksi.

    • Jika Anda memilih pengaturan aplikasi App Service untuk mengelola rahasia Anda, pilih Lanjutkan.
    • Jika Anda ingin menggunakan brankas kunci Azure untuk mengelola rahasia aplikasi Anda, tentukan brankas kunci yang ingin Anda gunakan.
      • Jika Anda tidak memiliki brankas kunci Azure atau ingin membuat brankas kunci baru, Anda dapat membuatnya dengan memilih Buat Azure Key Vault baru.
      • Alat ini akan menetapkan izin yang diperlukan secara otomatis untuk mengelola rahasia melalui brankas kunci.
  4. Jika Anda telah menambahkan lebih banyak folder dan memilih opsi berbagi Azure sebagai penyimpanan tetap, tentukan berbagi Azure yang akan digunakan oleh alat App Containerization selama penyebaran. Alat ini akan menyalin folder aplikasi yang telah Anda dikonfigurasi untuk Azure Files dan memasangnya pada kontainer aplikasi selama penyebaran. 

    Jika Anda tidak memiliki berbagi Azure atau ingin membuat berbagi Azure baru, Anda dapat memilih untuk membuatnya dengan mengeklik Membuat Storage Account dan berbagi baru.

  5. Sekarang, Anda perlu menentukan konfigurasi penyebaran untuk aplikasi. Klik Konfigurasikan untuk menyesuaikan penyebaran aplikasi. Dalam langkah konfigurasi, Anda dapat menyediakan kustomisasi berikut:

    • Nama. Tentukan nama unik aplikasi untuk aplikasi. Nama ini akan digunakan untuk menghasilkan URL aplikasi. Nama ini juga akan digunakan sebagai awalan untuk sumber daya lain yang dibuat sebagai bagian dari penyebaran.
    • Konfigurasi aplikasi. Untuk konfigurasi aplikasi apa pun yang telah dibuat parameternya, berikan nilai yang digunakan untuk penyebaran saat ini.
    • Konfigurasi penyimpanan. Tinjau informasi untuk setiap folder aplikasi yang dikonfigurasi untuk penyimpanan tetap.

    Screenshot that shows the deployment configuration.

  6. Setelah konfigurasi penyebaran untuk aplikasi disimpan, alat akan menghasilkan YAML penyebaran Kube untuk aplikasi.

    • Klik Tinjau untuk meninjau konfigurasi penyebaran untuk aplikasi tersebut.

    • Pilih aplikasi yang ingin Anda sebarkan.

    • Klik Sebarkan untuk memulai penyebaran aplikasi yang telah dipilih.

      Screenshot that shows the Deploy button.

    • Setelah aplikasi disebarkan, Anda dapat mengklik kolom Status penyebaran untuk melacak sumber daya yang disebarkan untuk aplikasi.

Memecahkan masalah

Untuk memecahkan masalah dengan alat Kontainerisasi Aplikasi, Anda dapat melihat file log di komputer Windows yang menjalankan alat tersebut. File log alat tersebut ada di folder C:\ProgramData\Microsoft Azure Migrate App Containerization\Logs.

Langkah berikutnya