Memahami IIS ke pemetaan migrasi Elastic Beanstalk - AWS Elastic Beanstalk

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

Memahami IIS ke pemetaan migrasi Elastic Beanstalk

Migrasi dari IIS ke Elastic Beanstalk melibatkan pemetaan konfigurasi server Windows lokal Anda ke sumber daya cloud. AWS Memahami pemetaan ini sangat penting untuk keberhasilan migrasi dan manajemen pasca-migrasi.

Situs dan aplikasi IIS di Elastic Beanstalk

Dalam IIS, situs web mewakili kumpulan aplikasi web dan direktori virtual, masing-masing dengan konfigurasi dan kontennya sendiri. Saat bermigrasi ke Elastic Beanstalk, komponen-komponen ini diubah sebagai berikut:

Situs web IIS

Situs web IIS Anda menjadi aplikasi dalam Elastic Beanstalk. Setiap konfigurasi situs web, termasuk binding, kumpulan aplikasi, dan pengaturan otentikasi, dipertahankan melalui manifes penyebaran () Elastic Beanstalk. aws-windows-deployment-manifest.json

Misalnya, jika Anda memiliki beberapa situs seperti Situs Web Default dan IntranetSite, eb migrate paket konten dan konfigurasi setiap situs sambil mempertahankan isolasi mereka.

Perintah ini membuat aturan pendengar Application Load Balancer (ALB) yang sesuai untuk menangani permintaan perutean ke aplikasi Anda. Ini juga mengkonfigurasi grup keamanan untuk memastikan akses port yang tepat berdasarkan binding IIS asli Anda.

Kolam aplikasi

Kumpulan aplikasi IIS menyediakan isolasi proses pekerja, manajemen runtime, dan kemampuan daur ulang untuk aplikasi Anda. Dalam Elastic Beanstalk, ini dipetakan ke proses lingkungan yang ditentukan aws:elasticbeanstalk:environment:process melalui namespace dan dikonfigurasi melalui IIS pada instance. EC2

Migrasi mempertahankan setelan kumpulan aplikasi penting termasuk yang berikut ini:

  • Konfigurasi model proses - Identitas (ApplicationPoolIdentity, NetworkService, atau akun khusus), pengaturan batas waktu idle, dan interval daur ulang proses

  • Pengaturan versi.NET CLR - Mempertahankan versi.NET Framework yang ditentukan (v2.0, v4.0, atau No Managed Code) untuk memastikan kompatibilitas aplikasi

  • Mode pipeline terkelola - Mempertahankan pengaturan mode pipeline Terintegrasi atau Klasik untuk mempertahankan arsitektur pemrosesan permintaan HTTP Anda

  • Pengaturan lanjutan - Panjang antrian, batas CPU, ambang batas perlindungan yang cepat gagal, dan batas waktu startup

eb migratePerintah mempertahankan pemetaan antara situs dan kumpulan aplikasi selama migrasi ke lingkungan Elastic Beanstalk Anda.

Jika kumpulan aplikasi Anda menggunakan jadwal daur ulang kustom (waktu tertentu atau ambang batas memori), ini diimplementasikan melalui PowerShell skrip dalam paket penerapan yang mengonfigurasi pengaturan IIS yang sesuai pada instance. EC2

Binding situs web

Binding situs web IIS, yang menentukan bagaimana klien mengakses aplikasi Anda, diubah menjadi konfigurasi Application Load Balancer (ALB) berikut:

  • Binding port dipetakan ke aturan pendengar ALB yang sesuai

  • Konfigurasi header host diterjemahkan ke dalam aturan perutean ALB

  • Situs berkemampuan SSL menggunakan AWS Certificate Manager (ACM) untuk manajemen sertifikat

Direktori virtual dan manajemen jalur aplikasi

Direktori dan aplikasi virtual IIS menyediakan pemetaan jalur URL ke direktori fisik. Elastic Beanstalk mempertahankan hubungan ini melalui konstruksi berikut:

Direktori virtual

Proses migrasi mempertahankan jalur fisik direktori virtual Anda dalam paket penyebaran.

Pemetaan jalur dikonfigurasi dalam konfigurasi IIS pada EC2 instance, memastikan bahwa struktur URL Anda tetap utuh setelah migrasi.

Jalur fisik penggerak non-sistem
penting

Secara default, lingkungan Elastic Beanstalk Windows hanya menyediakan drive C:\ (volume root). Dalam versi saat ini, aplikasi dengan konten pada drive non-sistem (D:\, E:\, dll.) Tidak didukung untuk migrasi.

eb migratePerintah secara otomatis mendeteksi jalur fisik yang terletak di drive non-sistem dan memperingatkan Anda tentang potensi masalah seperti contoh berikut:

ERROR: Detected physical paths on drive D:\ which are not supported in the current version: - D:\websites\intranet - D:\shared\images Migration of content from non-system drives is not supported. Please relocate this content to the C:\ drive before migration. Otherwise, select only those sites that are on C:\.

Jika aplikasi Anda memiliki dependensi pada drive non-sistem, Anda perlu memodifikasi aplikasi Anda untuk menyimpan semua konten di drive C:\ sebelum migrasi.

Aplikasi bersarang

Aplikasi yang bersarang di bawah situs web digunakan dengan konfigurasi jalur yang benar dan penugasan kumpulan aplikasi yang sesuai. Proses migrasi mempertahankan semua web.config pengaturan, memastikan bahwa konfigurasi khusus aplikasi terus berfungsi seperti yang diharapkan di lingkungan cloud.

Penulisan ulang URL dan perutean permintaan aplikasi (ARR)

Jika penyebaran IIS Anda menggunakan URL Rewrite atau Application Request Routing (ARR), eb migrate menangani konfigurasi ini melalui aturan dan konfigurasi berikut:

Aturan penulisan ulang URL

Aturan penulisan ulang URL dari web.config file Anda diterjemahkan ke dalam aturan perutean ALB jika memungkinkan. Misalnya, entri berikut menjadi aturan pendengar ALB yang mengarahkan lalu lintas berdasarkan header host dan pola jalur. :

<!-- Original IIS URL Rewrite Rule --> <rule name="Redirect to WWW" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTP_HOST}" pattern="^example.com$" /> </conditions> <action type="Redirect" url="http://www.example.com/{R:1}" /> </rule>

Perutean permintaan aplikasi

Konfigurasi ARR dipertahankan melalui instalasi fitur ARR pada instance. EC2 Proses migrasi menyelesaikan tugas-tugas berikut:

  • Mengonfigurasi pengaturan proxy agar sesuai dengan lingkungan sumber Anda

  • Mempertahankan aturan penulisan ulang URL yang terkait dengan ARR

Struktur artefak migrasi

Ketika Anda menjalankaneb migrate, itu membuat direktori terstruktur yang berisi semua komponen penyebaran yang diperlukan. Daftar berikut menjelaskan struktur direktori:

C:\migration_workspace\ └── .\migrations\latest\ └── upload_target\ ├── [SiteName].zip # One ZIP per IIS site ├── aws-windows-deployment-manifest.json └── ebmigrateScripts\ ├── site_installer.ps1 # Site installation scripts ├── arr_configuration.ps1 # ARR configuration scripts ├── permission_handler.ps1 # Permission management └── firewall_config.ps1 # Windows Firewall rules

aws-windows-deployment-manifest.jsonFile ini adalah file konfigurasi inti yang menginstruksikan Elastic Beanstalk cara menerapkan aplikasi Anda. Lihat contoh struktur berikut:

{ "manifestVersion": 1, "deployments": { "msDeploy": [ { "name": "Primary Site", "parameters": { "appBundle": "DefaultWebSite.zip", "iisPath": "/", "iisWebSite": "Default Web Site" } } ], "custom": [ { "name": "ConfigureARR", "scripts": { "install": { "file": "ebmigrateScripts\\arr_configuration.ps1" }, "uninstall": { "file": "ebmigrateScripts\\noop.ps1" }, "restart": { "file": "ebmigrateScripts\\noop.ps1" } } } ] } }

Manifes ini memastikan hasil ini untuk migrasi Anda:

  • Aplikasi digunakan untuk memperbaiki jalur IIS

  • Konfigurasi kustom diterapkan

  • Pengaturan khusus situs dipertahankan

  • Urutan penyebaran dipertahankan