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

Alur kerja penerapan

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
| Tugas | Deskripsi | Keterampilan 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 |
| Tugas | Deskripsi | Keterampilan 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: | Pengembang aplikasi, Administrator sistem |
Unduh paket penyebaran dari Kudu. | Arahkan ke Windows PowerShell dengan memilih DebugConsoleopsi. Ini akan membuka konsol Kudo. Buka | Pengembang aplikasi, Administrator sistem |
Buat paket untuk Elastic Beanstalk. | Buka zip paket penerapan yang Anda unduh dari Azure App Service. Buat file JSON bernama | 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
Konsep AWS Elastic Beanstack (dokumentasi Elastic Beanstalk)
Memulai dengan.NET pada Elastic Beanstalk (dokumentasi Elastic Beanstalk)
Konsol Kudu
() GitHub Menggunakan “Kudu” untuk Mengelola Aplikasi Web Azure (artikel
GS Lab) Penerapan Batang Kacang Elastis ASP.NET Core Kustom (Panduan Pengguna AWS Toolkit for Visual Studio)
Platform yang Didukung AWS Elastic Beanstalk (Dokumentasi Elastic Beanstalk
) Menerapkan Aplikasi Web ke AWS (artikel
C# Corner) Menskalakan Ukuran Grup Auto Scaling Anda (dokumentasi Amazon EC2 )
Ketersediaan Tinggi (Multi-AZ) untuk Amazon RDS (dokumentasi Amazon RDS)
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