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:
- Menampung aplikasi ASP.NET dan menyebarkannya di kontainer Windows di App Service.
- Melakukan kontainerisasi aplikasi ASP.NET dan menyebarkannya di kontainer Windows di Azure Kubernetes Service (AKS). Pelajari skenario kontainerisasi ini lebih lanjut.
- Mengkontainerisasi aplikasi web Java web di Apache Tomcat (pada server Linux) dan menyebarkannya di kontainer Linux pada AKS. Pelajari skenario kontainerisasi ini lebih lanjut.
- Menampung aplikasi web Java di Apache Tomcat (di server Linux) dan menyebarkannya di kontainer Linux pada App Service. Pelajari skenario kontainerisasi ini lebih lanjut.
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:
Alat ini saat ini tidak mendukung:
|
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:
Di portal Azure, cari "langganan." Di bawah Layanan, pilih Langganan:
Di halaman Langganan, pilih langganan tempat Anda ingin membuat proyek Azure Migrate.
Di langganan, pada panel sebelah kiri, pilih Kontrol akses (IAM).
Di tab Periksa akses, telusuri akun pengguna yang relevan.
Di Tambahkan penetapan peran, pilih Tambahkan:
Di Tambahkan penetapan peran, pilih peran Pemilik, lalu pilih akun (azmigrateuser di contoh kami). Kemudian pilih Simpan.
Akun Azure Anda juga memerlukan izin untuk mendaftarkan aplikasi Microsoft Entra.
Di portal Azure, buka Pengaturan Pengguna Pengguna Microsoft>Entra ID>.
Di Pengaturan pengguna, verifikasi bahwa pengguna Microsoft Entra dapat mendaftarkan aplikasi. (Secara default. opsi ini diatur sebagai Ya.)
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
Unduh alat penginstal Kontainerisasi Aplikasi Azure Migrate pada komputer Windows.
Buka PowerShell dalam mode admin dan ubah direktori PowerShell ke folder yang berisi alat penginstal.
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
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.
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.
Di layar rincian masuk, gunakan akun administrator lokal pada komputer untuk masuk.
Pilih aplikasi web ASP.NET sebagai jenis aplikasi yang ingin Anda tampung.
Di daftar Target layanan Azure, pilih Kontainer pada Azure App Service:
Melengkapi prasyarat alat
- Terima syarat lisensi dan baca informasi pihak ketiga.
- Di aplikasi web alat Siapkan prasyarat, selesaikan langkah-langkah berikut:
Konektivitas. Alat ini memeriksa apakah komputer Windows memiliki akses internet. Jika komputer menggunakan proksi:
Pilih Siapkan proksi untuk menentukan alamat proksi (dalam alamat IP formulir atau FQDN) dan port mendengarkan.
Tentukan kredensial jika proksi memerlukan autentikasi.
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
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.
Pilih Salin kode dan Masuk untuk menyalin kode perangkat dan buka prompt masuk Azure di tab browser baru:
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.
Pilih penyewa Azure yang ingin Anda gunakan.
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.
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.
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:
Klik Lanjutkan untuk memulai penemuan aplikasi di server aplikasi yang dipilih.
Setelah penemuan aplikasi selesai, pilih aplikasi yang ingin Anda kontainerisasi:
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.
Klik konfigurasi aplikasi untuk meninjau konfigurasi yang terdeteksi.
Pilih parameter yang ingin Anda buat parameternya, lalu pilih Terapkan:
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
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. Pilih Tambahkan folder dan tentukan jalur folder yang ingin Anda tambahkan. Untuk menambahkan beberapa folder ke volume yang sama, pisahkan nilai dengan koma. Pilih Berbagi file Azure sebagai opsi penyimpanan jika Anda ingin folder disimpan di luar kontainer pada penyimpanan persisten. Pilih Simpan setelah Anda selesai meninjau folder aplikasi: Klik Lanjutkan untuk melanjutkan ke proses membangun citra kontainer. 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: 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. 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. 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. 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. Setelah build selesai, klik Lanjutkan untuk menentukan pengaturan penyebaran:
Menyusun gambar kontainer
Menyebarkan aplikasi yang dikontainerisasi di Azure App Service
Setelah citra kontainer dibangun, langkah selanjutnya adalah menyebarkan aplikasi sebagai kontainer di Azure App Service.
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.
Klik Lanjutkan setelah memilih paket Azure App Service.
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.
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.
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.
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.
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
- Melakukan kontainerisasi aplikasi web ASP.NET dan menyebarkannya pada kontainer Windows pada AKS
- Melakukan kontainerisasi aplikasi web Java pada Apache Tomcat (di server Linux) dan menyebarkannya pada kontainer Linux di AKS
- Melakukan kontainerisasi aplikasi web Java pada Apache Tomcat (di server Linux) dan menyebarkannya pada kontainer Linux di App Service