Descripción del mapeo de migración de IIS a Elastic Beanstalk - AWS Elastic Beanstalk

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Descripción del mapeo de migración de IIS a Elastic Beanstalk

La migración de IIS a Elastic Beanstalk implica asignar la configuración del servidor Windows local a los recursos de la nube. AWS Comprender este mapeo es crucial para el éxito de las migraciones y la administración posterior a la migración.

Sitios y aplicaciones de IIS en Elastic Beanstalk

En IIS, un sitio web representa un conjunto de aplicaciones web y directorios virtuales, cada uno con su propia configuración y contenido. Al migrar a Elastic Beanstalk, estos componentes se transforman de la siguiente manera:

Sitios web de IIS

Los sitios web de IIS se convierten en aplicaciones dentro de Elastic Beanstalk. La configuración de cada sitio web, incluidos sus enlaces, grupos de aplicaciones y ajustes de autenticación, se conserva en el manifiesto de implementación de Elastic Beanstalk (). aws-windows-deployment-manifest.json

Por ejemplo, si tiene varios sitios, como el sitio web predeterminado IntranetSite, eb migrate empaqueta el contenido y la configuración de cada sitio manteniendo su aislamiento.

El comando crea las reglas de escucha de Application Load Balancer (ALB) adecuadas para gestionar las solicitudes de enrutamiento a sus aplicaciones. También configura los grupos de seguridad para garantizar el acceso adecuado a los puertos en función de los enlaces de IIS originales.

Grupos de aplicaciones

Los grupos de aplicaciones de IIS proporcionan capacidades de aislamiento de los procesos de trabajo, administración del tiempo de ejecución y reciclaje para sus aplicaciones. En Elastic Beanstalk, se asignan a los procesos del entorno definidos aws:elasticbeanstalk:environment:process mediante el espacio de nombres y configurados mediante IIS en las instancias. EC2

La migración conserva la configuración crítica del grupo de aplicaciones, incluida la siguiente:

  • Configuraciones del modelo de proceso: identidad (ApplicationPoolIdentityo cuentas personalizadas), configuración de tiempos de espera de inactividad e intervalos de reciclaje de procesos NetworkService

  • Configuración de la versión CLR de.NET: mantiene la versión de .NET Framework especificada (v2.0, v4.0 o sin código administrado) para garantizar la compatibilidad de las aplicaciones

  • Modo de canalización gestionado: conserva la configuración del modo de canalización integrado o clásico para mantener la arquitectura de procesamiento de solicitudes HTTP

  • Configuración avanzada: longitud de la cola, límites de CPU, umbrales de protección contra errores rápidos y límites de tiempo de inicio

El eb migrate comando conserva las asignaciones entre sitios y grupos de aplicaciones durante la migración al entorno de Elastic Beanstalk.

Si sus grupos de aplicaciones utilizan programas de reciclaje personalizados (tiempos o umbrales de memoria específicos), estos se implementan mediante PowerShell scripts incluidos en el paquete de implementación que configuran los ajustes de IIS adecuados en las instancias. EC2

Enlaces a sitios web

Los enlaces de sitios web de IIS, que definen la forma en que los clientes acceden a las aplicaciones, se transforman en las siguientes configuraciones de Application Load Balancer (ALB):

  • Los enlaces de puertos se asignan a las reglas de escucha de ALB correspondientes

  • Las configuraciones de los encabezados del host se traducen en reglas de enrutamiento de ALB

  • Los sitios habilitados para SSL utilizan AWS Certificate Manager (ACM) para la administración de certificados

Administración de directorios virtuales y rutas de aplicaciones

Los directorios y aplicaciones virtuales de IIS proporcionan una asignación de rutas URL a los directorios físicos. Elastic Beanstalk mantiene estas relaciones mediante las siguientes construcciones:

Directorios virtuales

El proceso de migración conserva las rutas físicas de los directorios virtuales en el paquete de implementación.

Las asignaciones de rutas se configuran en la configuración de IIS de las EC2 instancias, lo que garantiza que la estructura de URL permanezca intacta después de la migración.

Ninguno de los dos controla las rutas físicas
importante

De forma predeterminada, los entornos Windows de Elastic Beanstalk solo aprovisionan la unidad C:\ (volumen raíz). En la versión actual, las aplicaciones con contenido en unidades del sistema (D:\, E:\, etc.) no se admiten para la migración.

El eb migrate comando detecta automáticamente las rutas físicas ubicadas en las unidades que no son del sistema y le advierte sobre posibles problemas, como en el ejemplo siguiente:

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 su aplicación depende de unidades que no son del sistema, tendrá que modificarla para almacenar todo el contenido en la unidad C:\ antes de la migración.

Aplicaciones anidadas

Las aplicaciones anidadas en sitios web se implementan con las configuraciones de ruta correctas y las asignaciones de grupos de aplicaciones adecuadas. El proceso de migración conserva todos los web.config ajustes, lo que garantiza que las configuraciones específicas de la aplicación sigan funcionando según lo esperado en el entorno de nube.

Reescritura de URL y enrutamiento de solicitudes de aplicaciones (ARR)

Si su implementación de IIS utiliza la reescritura de URL o el enrutamiento de solicitudes de aplicaciones (ARR), eb migrate gestiona estas configuraciones mediante las siguientes reglas y configuraciones:

Reglas de reescritura de URL

Las reglas de reescritura de URL de sus web.config archivos se traducen en reglas de enrutamiento ALB siempre que es posible. Por ejemplo, la siguiente entrada se convierte en una regla de escucha de ALB que dirige el tráfico en función de los encabezados del host y los patrones de ruta. :

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

Enrutamiento de solicitudes de aplicaciones

Las configuraciones de ARR se conservan mediante la instalación de las funciones de ARR en EC2 las instancias. El proceso de migración completa las siguientes tareas:

  • Configura los ajustes del proxy para que coincidan con su entorno de origen

  • Mantiene las reglas de reescritura de URL asociadas a ARR

Estructura de artefactos de migración

Cuando se ejecutaeb migrate, crea un directorio estructurado que contiene todos los componentes de despliegue necesarios. En la siguiente lista se describe la estructura de directorios:

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

El aws-windows-deployment-manifest.json archivo es el archivo de configuración principal que indica a Elastic Beanstalk cómo implementar las aplicaciones. Consulte la siguiente estructura de ejemplo:

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

Este manifiesto garantiza los siguientes resultados para su migración:

  • Las aplicaciones se implementan para corregir las rutas de IIS

  • Se aplican configuraciones personalizadas

  • Se conserva la configuración específica del sitio

  • Se mantiene el orden de despliegue