Comprensión de la asignación de la 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.

Comprensión de la asignación de la migración de IIS a Elastic Beanstalk

La migración de IIS a Elastic Beanstalk implica asignar la configuración del servidor de Windows en las instalaciones a los recursos de la nube de AWS. Comprender esta asignación 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. Cuando se migra 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 Default Web Site e IntranetSite, eb migrate empaqueta el contenido y la configuración de cada sitio a la vez que mantiene su aislamiento.

El comando crea reglas de oyente del Equilibrador de carga de aplicación (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 mediante el espacio de nombres de aws:elasticbeanstalk:environment:process y configurados mediante IIS en las instancias de EC2.

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

  • Configuraciones del modelo de proceso: identidad (ApplicationPoolIdentity, NetworkService o cuentas personalizadas), configuración de tiempo de inactividad e intervalos de reciclaje de procesos

  • Configuración de la versión de 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 startup

El comando eb migrate 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 scripts de PowerShell en el paquete de implementación que configuran los ajustes de IIS adecuados en las instancias de EC2.

Enlaces de 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 del Equilibrador de carga de aplicación (ALB):

  • Los enlaces de puertos se asignan a las reglas de oyente del ALB correspondientes.

  • Las configuraciones de los encabezados del host se traducen en reglas de enrutamiento del 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 los siguientes constructos:

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 en las instancias de EC2, lo que garantiza que la estructura de la URL permanezca intacta después de la migración.

Rutas físicas de la unidad que no contiene el sistema
importante

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

El comando eb migrate 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 siguiente ejemplo:

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 tiene dependencias 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 todas las configuraciones web.config, lo que garantiza que la configuración específica de la aplicación siga 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 archivos web.config se traducen en reglas de enrutamiento del ALB siempre que es posible. Por ejemplo, la siguiente entrada se convierte en una regla de oyente del 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 características de ARR en las instancias de EC2. Durante el proceso de migración se completan 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 ejecuta eb migrate, crea un directorio estructurado que contiene todos los componentes de implementación necesarios. La siguiente lista describe la estructura del directorio:

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 archivo aws-windows-deployment-manifest.json es el archivo de configuración principal que indica a Elastic Beanstalk cómo implementar las aplicaciones. Consulte el siguiente ejemplo de estructura:

{ "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 la implementación.