

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
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk"></a>

*Raghavender Madamshitti, Amazon Web Services*

## Ringkasan
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-summary"></a>

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
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-prereqs"></a>

**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](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-dotnet.html) 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
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-architecture"></a>

**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.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/df606a2d-b0a8-4035-b377-0a760e7300c9/images/dd15f97b-9cf2-4bcc-af45-44df1c4ca4a5.png)


 

**Alur kerja penerapan**

![\[Alur kerja penerapan untuk membuat aplikasi, mempublikasikannya ke lingkungan peluncuran, dan kemudian mengelola lingkungan.\]](http://docs.aws.amazon.com/id_id/prescriptive-guidance/latest/patterns/images/pattern-img/df606a2d-b0a8-4035-b377-0a760e7300c9/images/accec77d-c753-4166-8f27-bd4932b3d884.png)


## Alat
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-tools"></a>

**Alat**
+ .NET Core atau .NET Framework
+ C\$1
+ IIS
+ Konsol Kudu

**Layanan dan fitur AWS**
+ [AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) — 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](https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html) — 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](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) — 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) - 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](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) - 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
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-epics"></a>

### Menyiapkan VPC
<a name="set-up-a-vpc"></a>


| 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 | 

### Mengatur Elastic Beanstalk
<a name="set-up-elastic-beanstalk"></a>


| 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:`https://<appservicename>.scm.azurewebsites.net`. | Pengembang aplikasi, Administrator sistem | 
| Unduh paket penyebaran dari Kudu. | Arahkan ke Windows PowerShell dengan memilih **DebugConsole**opsi. 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
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-resources"></a>
+ [Konsep AWS Elastic Beanstack](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.html) (dokumentasi Elastic Beanstalk)
+ [Memulai dengan.NET pada Elastic Beanstalk (dokumentasi](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/dotnet-getstarted.html) Elastic Beanstalk)
+ [Konsol Kudu](https://github.com/projectkudu/kudu/wiki/Kudu-console) () GitHub
+ [Menggunakan “Kudu” untuk Mengelola Aplikasi Web Azure (artikel](https://www.gslab.com/blogs/kudu-azure-web-app/) GS Lab)
+ Penerapan [Batang Kacang Elastis ASP.NET Core Kustom](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/deployment-beanstalk-custom-netcore.html) (Panduan Pengguna AWS Toolkit for Visual Studio)
+ [Dokumentasi Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html)
+ [Platform yang Didukung AWS Elastic Beanstalk (Dokumentasi Elastic Beanstalk](https://docs.amazonaws.cn/en_us/elasticbeanstalk/latest/platforms/platforms-supported.html))
+ [Menerapkan Aplikasi Web ke AWS (artikel](https://www.c-sharpcorner.com/article/deploying-a-web-application-to-aws/) C\$1 Corner)
+ [Menskalakan Ukuran Grup Auto Scaling Anda (dokumentasi](https://docs.aws.amazon.com/autoscaling/ec2/userguide/scaling_plan.html) Amazon EC2 )
+ [Ketersediaan Tinggi (Multi-AZ) untuk Amazon RDS (dokumentasi](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) Amazon RDS)

## Informasi tambahan
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-additional"></a>

**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
<a name="attachments-df606a2d-b0a8-4035-b377-0a760e7300c9"></a>

[Untuk mengakses konten tambahan yang terkait dengan dokumen ini, unzip file berikut: attachment.zip](samples/p-attach/df606a2d-b0a8-4035-b377-0a760e7300c9/attachments/attachment.zip)