eb migrate - 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.

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:

  1. Detecte los sitios de IIS y sus configuraciones.

  2. Contenido y configuración del contenido de la aplicación de paquete.

  3. Cree una aplicación y un entorno de Elastic Beanstalk.

  4. 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

-a nombre-de-aplicación

o

--application-name nombre-de-aplicación

Nombre para la nueva aplicación de Elastic Beanstalk.

Tipo: cadena

Valor predeterminado: EBMigratedApp

--archive directory-or-zip

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: --archive .\migrations\latest\upload_target o --archive .\migrations\latest\upload_target.zip

-ao

o

--archive-only

Cree solo el directorio de archivos de destino sin implementación.

El directorio resultante se puede implementar manualmente eb migrate con la opción archive o eb deploy.

-c nombre-de-subdominio

o bien

--cname nombre-de-subdominio

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.

-cf

o

--copy-firewall-config

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.

-es snapshot-id [snapshot-id ...]

o

--ebs-snapshots snapshot-id [snapshot-id ...]

Lista separada por comas de los ID de instantáneas de Amazon EBS para asociarlos al entorno.

Ejemplo:: --ebs-snapshots snap-1234567890abcdef0, snap-0987654321fedcba1

--encrypt-ebs-volumes

Aplica el cifrado a todos los volúmenes de Amazon EBS nuevos.

importante

Se 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.

-e environment-name

o

--environment-name environment-name

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.

--force

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.

-ip profile-name

o

--instance-profile profile-name

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.

-i instance-type

o

--instance-type instance-type

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.

-in

o

--interactive

Fuerza el modo interactivo para el proceso de migración.

Solicita los valores de configuración incluso cuando los valores predeterminados están disponibles.

-k key-name

o

--keyname key-name

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.

-p platform-version

o bien

--platform platform-version

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:: "64bit Windows Server 2016 v2.16.2 running IIS 10.0"

Para obtener una lista de las versiones de plataforma disponibles, utilice la lista de plataformas eb.

--remote

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, eb migrate detecta las configuraciones, organiza la lógica de migración en el host bastión y, a continuación, implementa la aplicación en un nuevo entorno de Elastic Beanstalk.

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 --remote. Utilice la opción --target-ip para especificar el host con las configuraciones de IIS que desea migrar.

Debe usarse con --target-ip, --username y --password.

--target-ip ip-address

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 --remote. Se puede especificar solamente cuando se usa --remote.

--username Nombre de usuario de

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 --remote. Se puede especificar solamente cuando se usa --remote.

--password Contraseña de

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 --remote. Se puede especificar solamente cuando se usa --remote.

-sr role-name

o

--service-role role-name

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.

nota

Especifique solo el nombre del rol, no el ARN completo. Elastic Beanstalk crea automáticamente el ARN completo.

-s site-names

o

--sites site-names

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:: --sites "Default Web Site,Intranet,API"

--ssl-certificates certificate-arn[,certificate-arn ...]

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:: --ssl-certificates arn:aws:acm:region:account:certificate/certificate-id

-t key1=value1[,key2=value2 ...]

o

--tags key1=value1[,key2=value2 ...]

Lista separada por comas de pares de key=value para etiquetar los nuevos recursos de su entorno: entorno, aplicación de Elastic Beanstalk, versión de la aplicación.

Para obtener más información, consulte Etiquetado de entornos.

--verbose

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.

-vpc config-file-or-string

o

--vpc-config config-file-or-string

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:

{ "id": "vpc-1234567890abcdef0", "publicip": "true|false", "elbscheme": "public|private", "ec2subnets": ["subnet-a1b2c3d4", "subnet-e5f6g7h8"], "securitygroups": "sg-123456,sg-789012", "elbsubnets": ["subnet-a1b2c3d4", "subnet-e5f6g7h8"] }
  • id: identificador de VPC (obligatorio)

  • publicip: si se deben asignar direcciones IP públicas a las instancias

  • elbscheme: esquema del equilibrador de carga (público o privado)

  • ec2subnets: lista de identificadores de subred para instancias de EC2

  • securitygroups: lista separada por comas de ID de grupos de seguridad

  • elbsubnets: lista de ID de las subredes del equilibrador de carga

importante

La migración ignorará cualquier configuración de la VPC existente en el entorno de origen cuando especifiques el parámetro --vpc-config. Cuando usa este parámetro, la migración usará solamente la configuración de la VPC especificada en el archivo de configuración que está transfiriendo. El uso de este parámetro anula el comportamiento predeterminado de detección de la configuración de VPC de la instancia de origen o de uso de la VPC predeterminada.

Opciones comunes

Output

El comando proporciona actualizaciones de estado durante todo el proceso de migración:

  1. Detección de configuración de VPC (cuando se ejecuta en una de instancia de EC2)

  2. Progreso de la generación del paquete fuente para cada sitio

  3. Estado de creación del entorno

  4. 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"