Migrasi aplikasi.NET dari Microsoft Azure App Service ke AWS Elastic Beanstalk - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Migrasi aplikasi.NET dari Microsoft Azure App Service ke AWS Elastic Beanstalk

Raghavender Madamshitti, Amazon Web Services

Ringkasan

Pola ini menjelaskan cara memigrasikan aplikasi web.NET yang dihosting di Microsoft Azure App Service ke AWS Elastic Beanstalk. Ada dua cara untuk memigrasikan aplikasi ke Elastic Beanstalk:

  • Gunakan AWS Toolkit for Visual Studio - Plugin untuk Microsoft Visual Studio IDE ini menyediakan cara termudah dan paling mudah untuk menerapkan aplikasi.NET kustom ke AWS. Anda dapat menggunakan pendekatan ini untuk menyebarkan kode.NET langsung ke AWS dan untuk membuat sumber daya pendukung, seperti Amazon Relational Database Service (Amazon RDS) untuk database SQL Server, langsung dari Visual Studio.

  • Unggah dan terapkan ke Elastic Beanstalk - Setiap Layanan Aplikasi Azure menyertakan layanan latar belakang yang disebut Kudu, yang berguna untuk menangkap dump memori dan log penyebaran, melihat parameter konfigurasi, dan mengakses paket penerapan. Anda dapat menggunakan konsol Kudu untuk mengakses konten Azure App Service, mengekstrak paket deployment, dan kemudian mengunggah paket ke Elastic Beanstalk dengan menggunakan opsi upload dan deploy di konsol Elastic Beanstalk.

Pola ini menjelaskan pendekatan kedua (mengunggah aplikasi Anda ke Elastic Beanstalk melalui Kudu). Pola ini juga menggunakan layanan AWS berikut: AWS Elastic Beanstalk, Amazon Virtual Private Cloud (Amazon VPC), Amazon, Amazon, Amazon Elastic Compute Cloud ( CloudWatchAmazon) Auto Scaling, EC2 Amazon Simple Storage Service (Amazon S3), dan Amazon Route 53. 

Aplikasi web.NET digunakan untuk AWS Elastic Beanstalk, yang berjalan di Amazon EC2 Auto Scaling Group. Anda dapat menyiapkan kebijakan penskalaan berdasarkan CloudWatch metrik Amazon seperti pemanfaatan CPU. Untuk database, Anda dapat menggunakan Amazon RDS di lingkungan multi-AZ, atau Amazon DynamoDB, tergantung pada aplikasi dan persyaratan bisnis Anda.

Prasyarat dan batasan

Prasyarat

  • Akun AWS yang aktif

  • Aplikasi web.NET yang berjalan di Azure App Service

  • Izin untuk menggunakan konsol Azure App Service Kudu

Versi produk

  • .NET Core (x64) 1.0.1, 2.0.0, atau yang lebih baru, atau .NET Framework 4.x, 3.5 (lihat .NET pada riwayat platform Windows Server)

  • Internet Information Services (IIS) versi 8.0 atau yang lebih baru, berjalan pada Windows Server 2012 atau yang lebih baru

  • .NET 2.0 atau 4.0 Runtime.

Arsitektur

Tumpukan teknologi sumber

  •  Aplikasi yang dikembangkan menggunakan .NET Framework 3.5 atau yang lebih baru, atau.NET Core 1.0.1, 2.0.0, atau yang lebih baru, dan di-host di Azure App Service (aplikasi web atau aplikasi API)

Tumpukan teknologi target

  • AWS Elastic Beanstalk berjalan di grup Amazon EC2 Auto Scaling

Arsitektur migrasi

Kudu mengakses konten Azure App Service, mendapatkan paket penerapan, mengunggahnya ke Elastic Beanstalk.

Alur kerja penerapan

Alur kerja penerapan untuk membuat aplikasi, mempublikasikannya ke lingkungan peluncuran, dan kemudian mengelola lingkungan.

Alat

Alat

  • .NET Core atau .NET Framework

  • C#

  • IIS

  • Konsol Kudu

Layanan dan fitur AWS

  • AWS Elastic Beanstalk — Elastic Beanstalk easy-to-use adalah layanan untuk menyebarkan dan menskalakan aplikasi web.NET. Elastic Beanstalk secara otomatis mengelola penyediaan kapasitas, load balancing, dan auto scaling.

  • Grup EC2 Auto Scaling Amazon — Elastic Beanstalk menyertakan grup Auto Scaling yang mengelola instans Amazon di lingkungan. EC2 Dalam lingkungan instans tunggal, grup Auto Scaling memastikan bahwa selalu ada satu instans yang berjalan. Di lingkungan load-balanced, Anda dapat mengonfigurasi grup dengan berbagai instance untuk dijalankan, dan Amazon EC2 Auto Scaling menambahkan atau menghapus instance sesuai kebutuhan, berdasarkan pemuatan.

  • Elastic Load Balancing — Saat Anda mengaktifkan load balancing di AWS Elastic Beanstalk, Elastic Load Balancing akan menciptakan penyeimbang beban yang mendistribusikan lalu lintas antar instans di lingkungan. EC2

  • Amazon CloudWatch - Elastic Beanstalk secara otomatis CloudWatch menggunakan Amazon untuk memberikan informasi tentang sumber daya aplikasi dan lingkungan Anda. Amazon CloudWatch mendukung metrik standar, metrik khusus, dan alarm.

  • Amazon Route 53 - Amazon Route 53 adalah layanan web Sistem Nama Domain (DNS) cloud yang sangat tersedia dan dapat diskalakan. Anda dapat menggunakan catatan alias Route 53 untuk memetakan nama domain khusus ke lingkungan AWS Elastic Beanstalk.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan cloud pribadi virtual (VPC).

Di akun AWS Anda, buat VPC dengan informasi yang diperlukan.

Administrator sistem

Buat subnet.

Buat dua atau lebih subnet di VPC Anda.

Administrator sistem

Buat tabel rute.

Buat tabel rute, berdasarkan kebutuhan Anda.

Administrator sistem
TugasDeskripsiKeterampilan yang dibutuhkan

Akses konsol Azure App Service Kudu.

Akses Kudu melalui portal Azure dengan menavigasi ke dasbor App Service, lalu pilih Advanced Tools, Go. Atau, Anda dapat memodifikasi URL Layanan Aplikasi Azure sebagai berikut:https://<appservicename>.scm.azurewebsites.net.

Pengembang aplikasi, Administrator sistem

Unduh paket penyebaran dari Kudu.

Arahkan ke Windows PowerShell dengan memilih DebugConsoleopsi. Ini akan membuka konsol Kudo. Buka wwwroot folder dan unduh. Ini akan mengunduh paket penyebaran Layanan Aplikasi Azure sebagai file zip. Sebagai contoh, lihat lampirannya.

Pengembang aplikasi, Administrator sistem

Buat paket untuk Elastic Beanstalk.

Buka zip paket penerapan yang Anda unduh dari Azure App Service. Buat file JSON bernama aws-windows-deployment-manifest.json (file ini hanya diperlukan untuk aplikasi.NET Core). Buat file zip yang menyertakan aws-windows-deployment-manifest.json dan file paket penerapan Layanan Aplikasi Azure. Sebagai contoh, lihat lampirannya.

Pengembang aplikasi, Administrator sistem

Buat aplikasi Elastic Beanstalk baru.

Buka Konsol Elastic Beanstalk. Pilih aplikasi yang sudah ada atau buat aplikasi baru.

Pengembang aplikasi, Administrator sistem

Buat lingkungan.

Di menu Tindakan konsol Elastic Beanstalk, pilih Buat lingkungan. Pilih lingkungan server web dan platform.NET/IIS. Untuk kode aplikasi, pilih Unggah. Unggah file zip yang Anda siapkan untuk Elastic Beanstalk, lalu pilih Create Environment.

Pengembang aplikasi, Administrator sistem

Konfigurasikan Amazon CloudWatch.

Secara default, CloudWatch pemantauan dasar diaktifkan. Jika Anda ingin mengubah konfigurasi, di wizard Elastic Beanstalk, pilih aplikasi yang diterbitkan, lalu pilih Monitoring.

Administrator sistem

Verifikasi bahwa paket penerapan ada di Amazon S3.

Ketika lingkungan aplikasi telah dibuat, Anda dapat menemukan paket penerapan di bucket S3.

Pengembang aplikasi, Administrator sistem

Uji aplikasinya.

Ketika lingkungan telah dibuat, gunakan URL yang disediakan di konsol Elastic Beanstalk untuk menguji aplikasi.

Administrator sistem

Sumber daya terkait

Informasi tambahan

Catatan

  • Jika Anda memigrasikan database lokal atau Azure SQL Server ke Amazon RDS, Anda juga harus memperbarui detail koneksi database. 

  • Untuk tujuan pengujian, contoh aplikasi demo dilampirkan.

Lampiran

Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip