

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**
<a name="eb3-migrate"></a>

## Description (Descripción)
<a name="eb3-migratedescription"></a>

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](dotnet-migrating-applications.md).

**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
AWS credenciales configuradas con los permisos adecuados
El servidor de origen tiene acceso saliente a los AWS servicios de Internet.

El proceso de migración se resumen en los siguientes pasos: 

1. Detecte los sitios de IIS y sus configuraciones.

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

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

1. 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
<a name="eb3-migratesyntax"></a>

**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
<a name="eb3-migratesubcommands"></a>

### explore
<a name="eb3-migrateexplore"></a>

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
<a name="eb3-migratecleanup"></a>

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
<a name="eb3-migrateoptions"></a>

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.


****  

|  Name  |  Descripción  | 
| --- | --- | 
| `-a` {{application-name}}<br />o bien<br />`--application-name` {{application-name}} | Nombre para la nueva aplicación de Elastic Beanstalk.<br />Tipo: cadena<br />Predeterminado: aplicación EBMigrated | 
| `--archive` {{directory-or-zip}} | El directorio o archivo ZIP que contiene el código fuente generado previamente por **eb migrate --archive-only**.<br />Use esta opción para implementar un paquete de migración creado anteriormente.<br />Ejemplo: `--archive .\migrations\latest\upload_target` o `--archive .\migrations\latest\upload_target.zip` | 
| `-ao`<br />o<br />`--archive-only` | Cree solo el directorio de archivos de destino sin implementación.<br />El directorio resultante se puede implementar manualmente **eb migrate** con la opción `archive` o **eb deploy**. | 
| `-c` {{subdomain-name}}<br />o<br />`--cname` {{subdomain-name}} | Nombre del subdominio que se va a incluir como prefijo en la entrada DNS de CNAME de la aplicación migrada.<br />Tipo: cadena<br />Valor predeterminado: nombre del entorno. | 
| `-cf`<br />o<br />`--copy-firewall-config` | Copie la configuración del firewall del servidor de origen en el destino para todos los puertos HTTP con enlaces activos.<br />Crea las reglas del grupo de seguridad correspondientes en AWS. | 
| `-es` {{snapshot-id}} [{{snapshot-id}} ...]<br />o<br />`--ebs-snapshots` {{snapshot-id}} [{{snapshot-id}} ...] | Lista separada por comas de instantáneas de Amazon EBS IDs para asociarlas al entorno.<br />Ejemplo: `--ebs-snapshots snap-1234567890abcdef0, snap-0987654321fedcba1` | 
| `--encrypt-ebs-volumes` | Aplica el cifrado a todos los volúmenes de Amazon EBS nuevos. 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}}<br />o<br />`--environment-name` {{environment-name}} | Nombre del nuevo entorno de Elastic Beanstalk.<br />Tipo: cadena<br />Predeterminado: Env EBMigrated<br />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.<br />Cuando se usa con un subcomando **cleanup**, elimina los artefactos de migración sin confirmación. | 
| `-ip` {{profile-name}}<br />o<br />`--instance-profile` {{profile-name}} | Perfil de instancia para asociarlo a las EC2 instancias de Amazon del entorno.<br />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](concepts-roles-instance.md).  | 
| `-i` {{instance-type}}<br />o<br />`--instance-type` {{instance-type}} | El tipo de EC2 instancia de Amazon para el entorno de Elastic Beanstalk.<br />Tipo: cadena<br />Valor predeterminado: c5.2xlarge<br />Para ver los tipos de instancias disponibles, consulta los [tipos de EC2 instancias de](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) *Amazon en la Guía del EC2 usuario de Amazon*. | 
| `-in`<br />o<br />`--interactive` | Fuerza el modo interactivo para el proceso de migración.<br />Solicita los valores de configuración incluso cuando los valores predeterminados están disponibles. | 
| `-k` {{key-name}}<br />o<br />`--keyname` {{key-name}} | Amazon EC2 key pair para permitir el acceso RDP a las instancias del entorno.<br />Es útil para investigar problemas a nivel de instancia que no están visibles en los registros.<br />Valores válidos: un nombre de key pair existente registrado en Amazon EC2 | 
| `-p` {{platform-version}}<br />o<br />`--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.<br />Ejemplo: `"64bit Windows Server 2016 v2.16.2 running IIS 10.0"`<br />Para obtener una lista de las versiones de plataforma disponibles, utilice la [lista de plataformas eb](eb3-platform.md#eb3-platform-list). | 
| `--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. <br />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.<br />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.<br />Obligatorio cuando se utiliza `--remote`. Se puede especificar solamente cuando se usa `--remote`. | 
| `--username` {{username}} | 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.<br />Obligatorio cuando se utiliza `--remote`. Se puede especificar solamente cuando se usa `--remote`. | 
| `--password` {{password}} | 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.<br />Obligatorio cuando se utiliza `--remote`. Se puede especificar solamente cuando se usa `--remote`. | 
| `-sr` {{role-name}}<br />o<br />`--service-role` {{role-name}} | Función de servicio de IAM para Elastic Beanstalk a fin de gestionar los servicios relacionados. AWS <br />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](concepts-roles-service.md). Especifique solo el nombre del rol, no el ARN completo. Elastic Beanstalk crea automáticamente el ARN completo.  | 
| `-s` {{site-names}}<br />o<br />`--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.<br />Ejemplo: `--sites "Default Web Site,Intranet,API"` | 
| `--ssl-certificates` {{certificate-arn}}[,{{certificate-arn}} ...] | Lista separada por comas del certificado SSL de ACM ARNs para asociarlo al Application Load Balancer.<br />Se requiere cuando se migran sitios con enlaces HTTPS.<br />Ejemplo: `--ssl-certificates arn:aws:acm:region:account:certificate/certificate-id` | 
| `-t {{key1}}={{value1}}[,{{key2}}={{value2}} ...]`<br />o<br />`-﻿-﻿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.<br />Para obtener más información, consulte [Entornos de etiquetado](using-features.tagging.md). | 
| `--verbose` | Muestre información detallada durante el proceso de migración.<br />Cuando se usa con un subcomando **explore**, muestra detalles completos de la configuración del sitio. | 
| `-vpc` {{config-file-or-string}}<br />o<br />`--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.<br />La configuración debe incluir lo siguiente:<pre>{<br />    "id": "vpc-1234567890abcdef0",<br />    "publicip": "true|false",<br />    "elbscheme": "public|private",<br />    "ec2subnets": ["subnet-a1b2c3d4", "subnet-e5f6g7h8"],<br />    "securitygroups": "sg-123456,sg-789012",<br />    "elbsubnets": ["subnet-a1b2c3d4", "subnet-e5f6g7h8"]<br />}</pre>[See the AWS documentation website for more details](http://docs.aws.amazon.com/es_es/elasticbeanstalk/latest/dg/eb3-migrate.html) *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](eb3-cmd-options.md) |  | 

## Output
<a name="eb3-migrateoutput"></a>

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 EC2 instancia)

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

1. Estado de creación del entorno

1. 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
+ Region
+ Versión de la plataforma
+ CNAME del entorno

Si hay problemas durante la migración, use los comandos [**eb events**](eb3-events.md) y [**eb health**](eb3-health.md) para obtener información detallada.

## Ejemplos
<a name="eb3-migrateexamples"></a>

### Uso básico
<a name="eb3-migrateexamples-basic"></a>

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
<a name="eb3-migrateexamples-advanced"></a>

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
<a name="eb3-migrateexamples-security"></a>

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
<a name="eb3-migrateexamples-remote"></a>

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"
```