Realización de migraciones básicas de IIS - 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.

Realización de migraciones básicas de IIS

En esta sección, se detalla el proceso de migración de las aplicaciones de IIS a Elastic Beanstalk mediante el comando eb migrate.

Exploración de su entorno de IIS

Antes de realizar cualquier cambio, querrá saber qué recursos existen en su servidor. Comience por explorar sus sitios de IIS mediante la ejecución de eb migrate explore, como se muestra en el siguiente ejemplo:

PS C:\migrations_workspace> eb migrate explore

Este comando revela sus sitios de IIS. Consulte la siguiente lista:

Default Web Site Intranet API.Internal Reports

Para obtener una vista detallada de la configuración de cada sitio, incluidos los enlaces, las aplicaciones y los directorios virtuales, añada la opción --verbose, como se muestra en este ejemplo:

PS C:\migrations_workspace> eb migrate explore --verbose

En la siguiente lista se muestra la información completa sobre el entorno que proporciona el comando:

1: Default Web Site: - Bindings: - *:80:www.example.com - *:443:www.example.com - Application '/': - Application Pool: DefaultAppPool - Enabled Protocols: http - Virtual Directories: - /: - Physical Path: C:\inetpub\wwwroot - Logon Method: ClearText - Application '/api': - Application Pool: ApiPool - Enabled Protocols: http - Virtual Directories: - /: - Physical Path: C:\websites\api - Logon Method: ClearText 2: Intranet: ... 3. API.Internal: ... 4. Reports: ...

Comprensión del resultado de la detección

El resultado detallado proporciona la siguiente información fundamental para la planificación de la migración:

Sitios

El resultado de la detección muestra una lista de todos los sitios de IIS en su servidor. Cada sitio se identifica por su nombre (por ejemplo, «Sitio web predeterminado», «Intranet», «API.internal») y se numera secuencialmente. Cuando hay sitios múltiples en un servidor, el comando eb migrate puede empaquetarlos e implementarlos por separado o juntos, según la estrategia de migración.

Enlaces

Los enlaces de protocolos revelan qué protocolos (HTTP/HTTPS) utilizan sus sitios y en qué puertos funcionan. La información de enlace incluye los requisitos de encabezado del host que definen las configuraciones de enrutamiento basadas en el dominio.

Aplicaciones

Las rutas de aplicación muestran las estructuras de aplicaciones raíz y anidadas dentro de la configuración de IIS. Las asignaciones de grupos de aplicaciones indican cómo se aíslan las aplicaciones entre sí para la seguridad y la administración de los recursos.

Directorios virtuales

Las asignaciones de rutas físicas indican dónde reside el contenido en el sistema de archivos. La configuración de autenticación muestra requisitos de acceso especiales que deben mantenerse después de la migración.

Preparación para la migración

Con una comprensión de su entorno, asegúrese de que el servidor cumple los requisitos previos. En primer lugar, compruebe su versión de IIS mediante el siguiente comando de PowerShell:

PS C:\migrations_workspace> Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\InetStp\" -Name MajorVersion

Necesita IIS 7.0 o una versión posterior. La herramienta de migración utiliza Web Deploy 3.6 para empaquetar las aplicaciones. Verifique su instalación mediante el siguiente comando:

PS C:\migrations_workspace> Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\IIS Extensions\MSDeploy\3" -Name InstallPath

Si Web Deploy no está instalado en su servidor, puede descargarlo desde la página de descargas de Microsoft Web Platform Installer.

Su primera migración

Empecemos con una migración básica del sitio web predeterminado. En el siguiente ejemplo, se muestra el comando más simple, eb migrate.

PS C:\migrations_workspace> eb migrate

Este comando inicia una serie de pasos automatizados, como se muestra en el siguiente resultado de ejemplo:

Identifying VPC configuration of this EC2 instance (i-0123456789abcdef0) id: vpc-1234567890abcdef0 publicip: true elbscheme: public ec2subnets: subnet-123,subnet-456,subnet-789 securitygroups: sg-123,sg-456 elbsubnets: subnet-123,subnet-456,subnet-789 Using .\migrations\latest to contain artifacts for this migration run. Generating source bundle for sites, applications, and virtual directories... Default Web Site/ -> .\migrations\latest\upload_target\DefaultWebSite.zip

La herramienta de migración crea un directorio estructurado que contiene los artefactos de la implementación. La siguiente lista muestra la estructura del directorio:

C:\migration_workspace\ └── .\migrations\latest\ └── upload_target\ ├── DefaultWebSite.zip ├── aws-windows-deployment-manifest.json └── ebmigrateScripts\ ├── site_installer.ps1 ├── permission_handler.ps1 └── >other helper scripts<

Control de la migración

Para tener más control sobre el proceso de migración, puede especificar exactamente qué sitios migrar con el siguiente comando:

PS C:\migrations_workspace> eb migrate --sites "Default Web Site,Intranet"

También puede personalizar el nombre del entorno y el nombre de la aplicación, como se muestra en el siguiente ejemplo de comando:

PS C:\migrations_workspace> eb migrate ` --sites "Default Web Site" ` --application-name "CorporateApp" ` --environment-name "Production"

Para obtener una lista completa de opciones, consulte eb migrate.

Monitoreo del progreso

Durante la migración, eb migrate proporciona actualizaciones de estado en tiempo real. Consulte el siguiente ejemplo de resultado:

... Creating application version Creating environment... This may take a few minutes 2024-03-18 18:12:15 INFO Environment details for: Production Application name: CorporateApp Region: us-west-2 Deployed Version: app-230320_153045 Environment ID: e-abcdef1234 Platform: 64bit Windows Server 2019 v2.7.0 running IIS 10.0 Tier: WebServer-Standard-1.0 CNAME: production.us-west-2.elasticbeanstalk.com Updated: 2024-03-20 15:30:45 2025-03-18 18:12:17 INFO createEnvironment is starting. 2025-03-18 18:12:19 INFO Using elasticbeanstalk-us-east-1-180301529717 as Amazon S3 storage bucket for environment data. 2025-03-18 18:12:40 INFO Created security group named: sg-0fdd4d696a26b086a 2025-03-18 18:12:48 INFO Environment health has transitioned to Pending. Initialization in progress (running for 7 seconds). There are no instances. ... 2025-03-18 18:23:59 INFO Application available at EBMigratedEnv-arrreal3.us-east-1.elasticbeanstalk.com. 2025-03-18 18:24:00 INFO Successfully launched environment: EBMigratedEnv-arrreal3

Comprobación de la migración

Una vez que el entorno esté listo, Elastic Beanstalk proporciona varias formas de comprobar la implementación.

Acceso a su aplicación

Abra la URL de la aplicación (CNAME) en un navegador web para comprobar que funciona correctamente.

Comprobación del estado del entorno

Utilice el comando eb health para ver el estado de su entorno.

PS C:\migrations_workspace> eb health

La siguiente imagen de pantalla muestra el estado de la instancia, las métricas de respuesta de las aplicaciones y la utilización de los recursos del sistema.

El resultado del comando eb health muestra el estado de la instancia, las métricas de respuesta de las aplicaciones y la utilización de los recursos del sistema.
Utilice el comando eb logs para acceder a los registros y solucionar cualquier problema:
PS C:\migrations_workspace> eb logs --zip

El comando eb logs descarga los registros en el directorio .elasticbeanstalk/logs. Para obtener más información, consulte Uso de Elastic CloudWatch Beanstalk con Amazon Logs.

Conexión a instancias

Si especificó un par de claves durante la migración, puede conectarse a sus instancias mediante RDP para solucionar problemas directamente.

Acceso a la consola de Elastic Beanstalk

Puede ver el estado, los registros y las propiedades de configuración del entorno a través de la consola de administración del entorno correspondiente a ese entorno.

Administración de artefactos de migración

El comando eb migrate crea artefactos locales durante el proceso de migración. Estos artefactos contienen información confidencial y, con el tiempo, pueden consumir una cantidad considerable de espacio en el disco. Utilice el subcomando cleanup para administrar estos artefactos, como se muestra en el siguiente ejemplo:

PS C:\migrations_workspace> eb migrate cleanup Are you sure you would like to cleanup older artifacts within ./migrations/? (Y/N):

Para forzar la limpieza sin confirmación, utilice la opción --force:

PS C:\migrations_workspace> eb migrate cleanup --force

El proceso de limpieza conserva la migración correcta más reciente del directorio de ./migrations/latest y elimina los directorios de migración más antiguos.