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.
eb migrate
Descripción
Migra sitios y aplicaciones de Internet Information Services (IIS) de un servidor Windows a Elastic Beanstalk. El comando empaqueta las aplicaciones, conserva sus configuraciones y las implementa en un nuevo entorno de Elastic Beanstalk.
Para obtener más información sobre cómo migrar los sitios y aplicaciones de IIS, consulte Migración de aplicaciones de IIS a Elastic Beanstalk.
nota
Antes de utilizar este comando, asegúrese de que su sistema cumpla estos requisitos:
-
Internet Information Services (IIS) versión 7.0 o posterior
-
Web Deploy 3.6 o posterior instalado
-
Privilegios administrativos en el servidor de Windows
-
Credenciales de AWS configuradas con los permisos adecuados
-
El servidor de origen tiene acceso a Internet saliente a los servicios de AWS.
El proceso de migración se resumen en los siguientes pasos:
-
Detecte los sitios de IIS y sus configuraciones.
-
Contenido y configuración del contenido de la aplicación de paquete.
-
Cree una aplicación y un entorno de Elastic Beanstalk.
-
Implemente la aplicación con la configuración conservada.
El comando crea artefactos de migración en un directorio estructurado, como se muestra en la siguiente lista:
C:\migration_workspace\ └── .\migrations\latest\ ├── upload_target.zip └── upload_target\ ├── [SiteName].zip # One ZIP per default application of IIS site ├── [SiteName-ApplicationName].zip # One ZIP per additional application ├── aws-windows-deployment-manifest.json └── ebmigrateScripts\ ├── site_installer.ps1 # Site installation scripts ├── permission_handler.ps1 # Permission management └── other helper scripts
Utilice eb migrate cleanup para administrar estos artefactos.
Sintaxis
eb migrate [options]
eb migrate explore [options]
eb migrate cleanup [options]
Cuando ejecuta sin argumentos, eb migrate funciona en modo no interactivo. Para ejecutarlo en modo interactivo, ejecute eb migrate --interactive.
El comando del modo interactivo solicita la siguiente información:
-
Selección de sitios de IIS para migrar
-
Nombres de entornos y aplicaciones
-
Selección de la versión de la plataforma
-
Tipo de instancia y otras opciones de configuración
Subcomandos
explore
El subcomando eb migrate explore examina el servidor IIS y muestra los sitios disponibles.
Utilice este comando para mostrar la siguiente información:
-
Ver todos los sitios de IIS del servidor
-
Con
--verbose, inspeccione la configuración detallada, que incluye los siguiente:-
Puertos y enlaces de sitios
-
Grupos de aplicaciones
-
Directorios virtuales y sus rutas físicas
-
Configuración de autenticación
-
PS C:\migrations_workspace > eb migrate explore
Default Web Site
Site2
site3
router
PS C:\migrations_workspace > eb migrate explore --verbose
1: Default Web Site:
- Bindings:
- *:8083:
- Application '/':
- Application Pool: DefaultAppPool
- Enabled Protocols: http
- Virtual Directories:
- /:
- Physical Path: C:\inetpub\wwwroot
- Logon Method: ClearText
- Application '/dotnet-6-0':
- Application Pool: DefaultAppPool
- Enabled Protocols: http
- Virtual Directories:
- /:
- Physical Path: C:\inetpub\AspNetCoreWebApps\CoreWebApp-6-0
- Logon Method: ClearText
- Application '/dotnet-8-0':
- Application Pool: DefaultAppPool
- Enabled Protocols: http
- Virtual Directories:
- /:
- Physical Path: C:\inetpub\AspNetCoreWebApps\CoreWebApp-8-0
- Logon Method: ClearText
2: Site2:
- Bindings:
- *:8081:
...
eliminación
El subcomando eb migrate cleanup administra los artefactos de migración con las siguientes acciones:
-
Preservar la migración exitosa más reciente en
./migrations/latest. -
Eliminar los directorios de migración más antiguos.
-
Mantener los archivos de configuración críticos.
PS C:\migrations_workspace > eb migrate cleanup
Are you sure you would like to cleanup older artifacts within `./migrations/`? (y/N):
Utilice --force para omitir las peticiones de confirmación durante la limpieza.
PS C:\migrations_workspace > eb migrate cleanup --force
Opciones
Ninguna de estas opciones es obligatoria. Si ejecuta eb migrate sin ninguna opción, la CLI de EB se ejecutará en modo no interactivo. Con eb migrate --interactive, la CLI de EB le pedirá que escriba o seleccione un valor para los ajustes necesarios.
|
Nombre |
Descripción |
|---|---|
|
o
|
Nombre para la nueva aplicación de Elastic Beanstalk. Tipo: cadena Valor predeterminado: EBMigratedApp |
|
|
El directorio o archivo ZIP que contiene el código fuente generado previamente por eb migrate --archive-only. Use esta opción para implementar un paquete de migración creado anteriormente. Ejemplo: |
|
o
|
Cree solo el directorio de archivos de destino sin implementación. El directorio resultante se puede implementar manualmente eb
migrate con la opción |
|
o bien
|
Nombre del subdominio que se va a incluir como prefijo en la entrada DNS de CNAME de la aplicación migrada. Tipo: cadena Valor predeterminado: nombre del entorno. |
|
o
|
Copie la configuración del firewall del servidor de origen en el destino para todos los puertos HTTP con enlaces activos. Crea las reglas del grupo de seguridad correspondientes en AWS. |
|
o
|
Lista separada por comas de los ID de instantáneas de Amazon EBS para asociarlos al entorno. Ejemplo:: |
|
|
Aplica el cifrado a todos los volúmenes de Amazon EBS nuevos. importanteSe trata de una configuración que se aplica a toda la cuenta y afecta toda la creación futura de volúmenes de Amazon EBS. |
|
o
|
Nombre del nuevo entorno de Elastic Beanstalk. Tipo: cadena Valor predeterminado: EBMigratedEnv Restricciones: debe tener una longitud entre 4 y 40 caracteres. Solo puede contener letras, números y guiones. No puede empezar ni terminar con un guion. |
|
|
Omite las solicitudes de confirmación durante las operaciones. Cuando se usa con un subcomando cleanup, elimina los artefactos de migración sin confirmación. |
|
o
|
Perfil de instancia para asociarlo a las instancias de Amazon EC2 del entorno. Si no se especifica, crea un perfil de instancia predeterminado con permisos para acceder a los recursos de Elastic Beanstalk. Para obtener más información, consulte Perfil de instancia de Elastic Beanstalk. |
|
o
|
El tipo de instancia de Amazon EC2 para su entorno de Elastic Beanstalk Tipo: cadena Valor predeterminado: c5.2xlarge Para conocer los tipos de instancias disponibles, consulte Tipos de instancias de Amazon EC2 en la Guía del usuario de Amazon EC2. |
|
o
|
Fuerza el modo interactivo para el proceso de migración. Solicita los valores de configuración incluso cuando los valores predeterminados están disponibles. |
|
o
|
Par de claves de Amazon EC2 para habilitar el acceso RDP a instancias del entorno. Es útil para investigar problemas a nivel de instancia que no están visibles en los registros. Valores válidos: nombre existente de par de claves registrado en Amazon EC2. |
|
o bien
|
Tiempo de ejecución de la plataforma de Elastic Beanstalk para el entorno. Si no se especifica, se detecta automáticamente desde la versión host de Windows Server. Ejemplo:: Para obtener una lista de las versiones de plataforma disponibles, utilice la lista de plataformas eb. |
|
|
Indica que se debe ejecutar la migración en modo remoto. Esta opción permite la ejecución desde un host bastión, que se conecta al servidor de destino que contiene la aplicación y las configuraciones que se van a migrar a Elastic Beanstalk. Si se ejecuta desde el servidor bastión, Esta opción elimina la necesidad de instalar la CLI de EB y Python en el servidor Windows que necesita migrar. En su lugar, instale Python y la CLI de EB en un host bastión, donde ejecute el comando eb migrate con la opción Debe usarse con |
|
|
Dirección IP pública de la máquina Windows remota que contiene los servidores IIS que se van a migrar. Obligatorio cuando se utiliza |
|
|
Nombre de usuario del perfil de usuario para acceder a la máquina Windows remota que contiene los servidores de IIS que se van a migrar. Obligatorio cuando se utiliza |
|
|
Contraseña del perfil de usuario para acceder a la máquina Windows remota que contiene los servidores de IIS que se van a migrar. Obligatorio cuando se utiliza |
|
o
|
Rol de servicio de IAM para Elastic Beanstalk para gestionar los servicios de AWS relacionados. Si no se especifica, crea un rol de servicio predeterminado con los permisos necesarios. Para obtener más información, consulte Rol de servicio de Elastic Beanstalk. notaEspecifique solo el nombre del rol, no el ARN completo. Elastic Beanstalk crea automáticamente el ARN completo. |
|
o
|
Lista separada por comas de los sitios de IIS que se van a migrar. Si no se especifica, migra todos los sitios disponibles en el servidor. Ejemplo:: |
|
|
Lista separada por comas de los ARN de certificados SSL de ACM para asociarlos al Equilibrador de carga de aplicación. Se requiere cuando se migran sitios con enlaces HTTPS. Ejemplo:: |
|
o
|
Lista separada por comas de pares de Para obtener más información, consulte Etiquetado de entornos. |
|
|
Muestre información detallada durante el proceso de migración. Cuando se usa con un subcomando explore, muestra detalles completos de la configuración del sitio. |
|
o
|
Configuración de la VPC para el entorno, especificada como una ruta de archivo JSON o una cadena JSON. La configuración debe incluir lo siguiente:
importanteLa migración ignorará cualquier configuración de la VPC existente en el entorno de origen cuando especifiques el parámetro |
Output
El comando proporciona actualizaciones de estado durante todo el proceso de migración:
-
Detección de configuración de VPC (cuando se ejecuta en una de instancia de EC2)
-
Progreso de la generación del paquete fuente para cada sitio
-
Estado de creación del entorno
-
Implementación en curso
Si se realiza correctamente, muestra los detalles del nuevo entorno, que incluyen:
-
Nombre e ID del entorno
-
Nombre de la aplicación
-
Región
-
Versión de la plataforma
-
CNAME del entorno
Si hay problemas durante la migración, use los comandos eb events y eb health para obtener información detallada.
Ejemplos
Uso básico
Migración básica en modo interactivo:
PS C:\migrations_workspace > eb migrate
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
Creating application version
Creating environment
Environment details for: EBMigratedEnv
Application name: EBMigratedApp
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: ebmigratedenv.us-west-2.elasticbeanstalk.com
Updated: 2023-03-20 15:30:45
Migración de sitios específicos con una configuración personalizada:
PS C:\migrations_workspace > eb migrate `
--sites "Default Web Site,InternalAPI" `
--application-name "CorporateApp" `
--environment-name "Production" `
--instance-type "c5.xlarge" `
--tags "Environment=Production,Team=WebOps" `
--copy-firewall-config
Creación de un archivo de migración sin implementación:
PS C:\migrations_workspace > eb migrate --archive-only
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
Generated destination archive directory at .\migrations\latest\upload_target
You can execute `eb init` and `eb create` from this directory to deploy to EB.
Ejemplos de configuración avanzados
Migración con configuración personalizada de la VPC mediante un archivo JSON:
PS C:\migrations_workspace > cat vpc-config.json
{
"id": "vpc-1234567890abcdef0",
"publicip": "false",
"elbscheme": "internal",
"ec2subnets": [
"subnet-private1",
"subnet-private2"
],
"securitygroups": [
"sg-app",
"sg-database",
"sg-monitoring"
],
"elbsubnets": [
"subnet-private1",
"subnet-private2"
]
}
PS C:\migrations_workspace eb migrate `
--sites "InternalAPI" `
--vpc-config vpc-config.json `
--instance-type "r5.xlarge" `
--tags "Environment=Internal,Security=High"
Migración de sitios con certificados SSL y encabezados de host:
PS C:\migrations_workspace > eb migrate `
--sites "SecurePortal" `
--ssl-certificates "arn:aws:acm:region:account:certificate/cert1,arn:aws:acm:region:account:certificate/cert2" `
--verbose
INFO: Detected HTTPS bindings:
- www.example.com:443
- api.example.com:443
INFO: Configuring Application Load Balancer with SSL certificates
INFO: Creating host-based routing rules:
- www.example.com -> target group 1
- api.example.com -> target group 2
Migración con configuración instantánea de EBS:fo
PS C:\migrations_workspace > eb migrate `
--sites "Default Web Site" `
--ebs-snapshots "snap-1234567890abcdef0" "snap-0987654321fedcba1" `
--encrypt-ebs-volumes
Using .\migrations\latest to contain artifacts for this migration run.
INFO: Enabling EBS encryption for all new volumes in us-west-2
INFO: Configuring environment with specified EBS snapshots
Ejemplos de configuración de seguridad
Manejo de sitios con reglas de firewall complejas:
PS C:\migrations_workspace > eb migrate `
--sites "Default Web Site,ReportingService" `
--copy-firewall-config `
--verbose
INFO: Detected the following Windows Firewall rules:
- Allow Web Traffic (TCP 80, 443)
- Allow Reporting Traffic (TCP 8081)
INFO: Creating corresponding security group rules
Migración con roles de IAM personalizados:
PS C:\migrations_workspace > eb migrate `
--sites "SecureApp" `
--instance-profile "CustomInstanceProfile" `
--service-role "CustomServiceRole"
Ejemplos de ejecución remota
Migración de aplicaciones de IIS desde un servidor de Windows remoto:
PS C:\migrations_workspace > eb migrate `
--remote `
--target-ip "192.0.2.10" `
--username "administrator" `
--password "YourPassword123" `
--application-name "RemoteApp" `
--environment-name "RemoteEnv"
INFO: Establishing SSH connection to remote host 192.0.2.10...
INFO: Connection established
INFO: Discovering IIS sites on remote host...
INFO: Found 2 sites: Default Web Site, API
INFO: Extracting site configurations...
INFO: Generating source bundle for sites, applications, and virtual directories...
Default Web Site/ -> .\migrations\latest\upload_target\DefaultWebSite.zip
API/ -> .\migrations\latest\upload_target\API.zip
Creating application version
Creating environment
Environment details for: RemoteEnv
Application name: RemoteAppstage mi
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: remoteenv.us-west-2.elasticbeanstalk.com
Updated: 2023-03-20 15:30:45
Migración remota con selección de sitios específicos:
PS C:\migrations_workspace > eb migrate `
--remote `
--target-ip "192.0.2.10" `
--username "administrator" `
--password "YourPassword123" `
--sites "API" `
--instance-type "c5.large"