Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Comprendre le mappage de migration entre IIS et Elastic Beanstalk
La migration d'IIS vers Elastic Beanstalk implique de mapper la configuration de votre serveur Windows sur site aux ressources du cloud. AWS La compréhension de ce mappage est essentielle à la réussite des migrations et à la gestion post-migration.
Sites et applications IIS dans Elastic Beanstalk
Dans IIS, un site Web représente un ensemble d'applications Web et de répertoires virtuels, chacun ayant sa propre configuration et son propre contenu. Lors de la migration vers Elastic Beanstalk, ces composants sont transformés comme suit :
- Sites Web IIS
-
Vos sites Web IIS deviennent des applications au sein d'Elastic Beanstalk. La configuration de chaque site Web, y compris ses liaisons, ses pools d'applications et ses paramètres d'authentification, est préservée via le manifeste de déploiement d'Elastic Beanstalk ().
aws-windows-deployment-manifest.json
Par exemple, si vous avez plusieurs sites tels que Default Web Site et IntranetSite, regroupe eb migrate le contenu et la configuration de chaque site tout en préservant leur isolation.
La commande crée des règles d'écoute Application Load Balancer (ALB) appropriées pour gérer les demandes de routage vers vos applications. Il configure également les groupes de sécurité pour garantir un accès aux ports approprié en fonction de vos liaisons IIS d'origine.
- Pools d'applications
-
Les pools d'applications IIS fournissent des fonctionnalités d'isolation des processus de travail, de gestion du temps d'exécution et de recyclage pour vos applications. Dans Elastic Beanstalk, ils sont mappés aux processus environnementaux définis
aws:elasticbeanstalk:environment:process
via l'espace de noms et configurés via IIS sur les instances. EC2La migration préserve les paramètres critiques du pool d'applications, notamment les suivants :
-
Configurations des modèles de processus : identité (ApplicationPoolIdentityou comptes personnalisés), paramètres de délai d'inactivité et intervalles de recyclage des processus NetworkService
-
Paramètres de version .NET CLR - Maintient la version de .NET Framework que vous avez spécifiée (v2.0, v4.0 ou aucun code managé) pour garantir la compatibilité des applications
-
Mode pipeline géré : préserve les paramètres du mode pipeline intégré ou classique pour conserver votre architecture de traitement des requêtes HTTP
-
Paramètres avancés : longueur de la file d'attente, limites du processeur, seuils de protection en cas de défaillance rapide et limites de temps de démarrage
La eb migrate commande préserve les mappages entre les sites et les pools d'applications pendant la migration vers votre environnement Elastic Beanstalk.
Si vos pools d'applications utilisent des programmes de recyclage personnalisés (durées ou seuils de mémoire spécifiques), ceux-ci sont mis en œuvre par le biais de PowerShell scripts du package de déploiement qui configurent les paramètres IIS appropriés sur les EC2 instances.
-
- Liaisons du site Web
-
Les liaisons de site Web IIS, qui définissent la manière dont les clients accèdent à vos applications, sont transformées en configurations Application Load Balancer (ALB) suivantes :
-
Les liaisons de port sont mappées aux règles d'écoute ALB correspondantes
-
Les configurations d'en-tête de l'hôte sont traduites en règles de routage ALB
-
Les sites compatibles SSL utilisent AWS Certificate Manager (ACM) pour la gestion des certificats
-
Gestion des répertoires virtuels et des chemins d'application
Les répertoires virtuels et les applications IIS fournissent un mappage de chemins d'URL vers des répertoires physiques. Elastic Beanstalk maintient ces relations par le biais des structures suivantes :
- Répertoires virtuels
-
Le processus de migration préserve les chemins physiques de vos répertoires virtuels dans le package de déploiement.
Les mappages de chemins sont configurés dans la configuration IIS sur les EC2 instances, ce qui garantit que votre structure d'URL reste intacte après la migration.
- 3 chemins physiques du lecteur
-
Important
Par défaut, les environnements Windows Elastic Beanstalk fournissent uniquement le lecteur C : \ (volume racine). Dans la version actuelle, les applications dont le contenu se trouve sur des lecteurs (D : \, E : \, etc.) ne sont pas prises en charge pour la migration.
La eb migrate commande détecte automatiquement les chemins physiques situés sur les lecteurs et vous avertit en cas de problème potentiel, comme dans l'exemple suivant :
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:\.
Si votre application dépend de lecteurs, vous devrez modifier votre application pour stocker tout le contenu sur le lecteur C : \ avant la migration.
- Applications imbriquées
-
Les applications imbriquées sous des sites Web sont déployées avec leurs configurations de chemin correctes et leurs affectations de pool d'applications appropriées. Le processus de migration préserve tous les
web.config
paramètres, garantissant ainsi que les configurations spécifiques aux applications continuent de fonctionner comme prévu dans l'environnement cloud.
Réécriture d'URL et routage des demandes d'applications (ARR)
Si votre déploiement IIS utilise la réécriture d'URL ou le routage des demandes d'application (ARR), eb migrate gère ces configurations selon les règles et la configuration suivantes :
- Règles de réécriture d'URL
-
Les règles de réécriture d'URL de vos
web.config
fichiers sont traduites en règles de routage ALB dans la mesure du possible. Par exemple, l'entrée suivante devient une règle d'écoute ALB dirigeant le trafic en fonction des en-têtes de l'hôte et des modèles de chemin. :<!-- 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>
- Routage des demandes d'application
-
Les configurations ARR sont préservées grâce à l'installation de fonctionnalités ARR sur EC2 les instances. Le processus de migration exécute les tâches suivantes :
-
Configure les paramètres du proxy en fonction de votre environnement source
-
Maintient les règles de réécriture d'URL associées à l'ARR
-
Structure des artefacts de migration
Lorsque vous l'exécutezeb migrate, il crée un répertoire structuré contenant tous les composants de déploiement nécessaires. La liste suivante décrit la structure du répertoire :
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
Le aws-windows-deployment-manifest.json
fichier est le fichier de configuration de base qui indique à Elastic Beanstalk comment déployer vos applications. Reportez-vous à l'exemple de structure suivant :
{ "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" } } } ] } }
Ce manifeste garantit les résultats suivants pour votre migration :
-
Les applications sont déployées pour corriger les chemins IIS
-
Des configurations personnalisées sont appliquées
-
Les paramètres spécifiques au site sont préservés
-
L'ordre de déploiement est maintenu