Informazioni sulla mappatura della migrazione da IIS a Elastic Beanstalk - AWS Elastic Beanstalk

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Informazioni sulla mappatura della migrazione da IIS a Elastic Beanstalk

La migrazione da IIS a Elastic Beanstalk prevede la mappatura della configurazione del server Windows locale alle risorse cloud. AWS La comprensione di questa mappatura è fondamentale per il successo delle migrazioni e per la gestione post-migrazione.

Siti e applicazioni IIS in Elastic Beanstalk

In IIS, un sito Web rappresenta una raccolta di applicazioni Web e directory virtuali, ognuna con la propria configurazione e il proprio contenuto. Durante la migrazione a Elastic Beanstalk, questi componenti vengono trasformati come segue:

Siti Web IIS

I tuoi siti Web IIS diventano applicazioni all'interno di Elastic Beanstalk. La configurazione di ogni sito Web, inclusi i collegamenti, i pool di applicazioni e le impostazioni di autenticazione, viene preservata tramite il file manifest di distribuzione di Elastic Beanstalk (). aws-windows-deployment-manifest.json

Ad esempio, se disponi di più siti come Default Web Site e IntranetSite, eb migrate impacchetta il contenuto e la configurazione di ciascun sito mantenendone l'isolamento.

Il comando crea le regole del listener Application Load Balancer (ALB) appropriate per gestire le richieste di routing verso le applicazioni. Configura inoltre i gruppi di sicurezza per garantire l'accesso corretto alle porte in base ai collegamenti IIS originali.

Pool di applicazioni

I pool di applicazioni IIS forniscono funzionalità di isolamento dei processi di lavoro, gestione del runtime e riciclaggio per le applicazioni. In Elastic Beanstalk, questi sono mappati su processi di ambiente definiti aws:elasticbeanstalk:environment:process tramite lo spazio dei nomi e configurati tramite IIS sulle istanze. EC2

La migrazione preserva le impostazioni critiche del pool di applicazioni, tra cui:

  • Configurazioni del modello di processo: identità (o account personalizzati) ApplicationPoolIdentity NetworkService, impostazioni del timeout di inattività e intervalli di riciclo dei processi

  • Impostazioni della versione.NET CLR: mantiene la versione di .NET Framework specificata (v2.0, v4.0 o No Managed Code) per garantire la compatibilità delle applicazioni

  • Modalità pipeline gestita: conserva le impostazioni della modalità pipeline integrata o classica per mantenere l'architettura di elaborazione delle richieste HTTP

  • Impostazioni avanzate: lunghezza della coda, limiti della CPU, soglie di protezione in caso di guasto rapido e limiti di tempo di avvio

Il eb migrate comando conserva le mappature tra siti e pool di applicazioni durante la migrazione all'ambiente Elastic Beanstalk.

Se i pool di applicazioni utilizzano pianificazioni di riciclaggio personalizzate (orari o soglie di memoria specifici), queste vengono implementate tramite PowerShell script nel pacchetto di distribuzione che configurano le impostazioni IIS appropriate sulle istanze. EC2

Associazioni a siti Web

Le associazioni ai siti Web IIS, che definiscono il modo in cui i client accedono alle applicazioni, vengono trasformate nelle seguenti configurazioni di Application Load Balancer (ALB):

  • Le associazioni delle porte sono mappate alle regole del listener ALB corrispondenti

  • Le configurazioni dell'intestazione dell'host vengono tradotte in regole di routing ALB

  • I siti abilitati per SSL utilizzano AWS Certificate Manager (ACM) per la gestione dei certificati

Gestione delle directory virtuali e dei percorsi delle applicazioni

Le directory e le applicazioni virtuali IIS forniscono la mappatura dei percorsi degli URL alle directory fisiche. Elastic Beanstalk mantiene queste relazioni attraverso i seguenti costrutti:

Directory virtuali

Il processo di migrazione preserva i percorsi fisici delle directory virtuali nel pacchetto di distribuzione.

Le mappature dei percorsi sono configurate nella configurazione IIS sulle EC2 istanze, garantendo che la struttura degli URL rimanga intatta dopo la migrazione.

Il sistema non di sistema guida percorsi fisici
Importante

Per impostazione predefinita, gli ambienti Windows Elastic Beanstalk forniscono solo l'unità C:\ (volume root). Nella versione corrente, le applicazioni con contenuti su unità non di sistema (D:\, E:\, ecc.) non sono supportate per la migrazione.

Il eb migrate comando rileva automaticamente i percorsi fisici che si trovano su unità non di sistema e avvisa l'utente in caso di potenziali problemi, come nell'esempio seguente:

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:\.

Se l'applicazione dipende da unità non di sistema, sarà necessario modificare l'applicazione per archiviare tutto il contenuto sull'unità C:\ prima della migrazione.

Applicazioni annidate

Le applicazioni annidate nei siti Web vengono distribuite con le configurazioni di percorso corrette e le assegnazioni appropriate dei pool di applicazioni. Il processo di migrazione conserva tutte le web.config impostazioni, garantendo che le configurazioni specifiche dell'applicazione continuino a funzionare come previsto nell'ambiente cloud.

Riscrittura degli URL e routing delle richieste di applicazioni (ARR)

Se la distribuzione IIS utilizza URL Rewrite o Application Request Routing (ARR), eb migrate gestisce queste configurazioni tramite le seguenti regole e configurazioni:

Regole di riscrittura degli URL

Le regole di riscrittura degli URL web.config dei file vengono tradotte in regole di routing ALB, ove possibile. Ad esempio, la voce seguente diventa una regola di listener ALB che indirizza il traffico in base alle intestazioni degli host e ai modelli di percorso. :

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

Routing delle richieste di applicazione

Le configurazioni ARR vengono preservate mediante l'installazione di funzionalità ARR sulle istanze. EC2 Il processo di migrazione completa le seguenti attività:

  • Configura le impostazioni del proxy in modo che corrispondano all'ambiente di origine

  • Mantiene le regole di riscrittura degli URL associate a ARR

Struttura degli artefatti di migrazione

Quando viene eseguitoeb migrate, crea una directory strutturata contenente tutti i componenti di distribuzione necessari. L'elenco seguente descrive la struttura delle cartelle:

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

Il aws-windows-deployment-manifest.json file è il file di configurazione principale che indica a Elastic Beanstalk come distribuire le applicazioni. Fai riferimento alla seguente struttura di esempio:

{ "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" } } } ] } }

Questo manifesto garantisce questi risultati per la migrazione:

  • Le applicazioni vengono distribuite per correggere i percorsi IIS

  • Vengono applicate configurazioni personalizzate

  • Le impostazioni specifiche del sito vengono mantenute

  • L'ordine di distribuzione viene mantenuto