

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# **eb migrate**
<a name="eb3-migrate"></a>

## Description
<a name="eb3-migratedescription"></a>

Migra sites e aplicações do Internet Information Services (IIS) de um servidor Windows para o Elastic Beanstalk. O comando empacota suas aplicações, preserva suas configurações e as implanta em um novo ambiente do Elastic Beanstalk. 

Para obter mais informações sobre como migrar seus sites e aplicações do IIS, consulte [Migrar aplicações do IIS para o Elastic Beanstalk](dotnet-migrating-applications.md).

**nota**  
Antes de usar este comando, certifique-se de que seu sistema atenda aos seguintes requisitos necessários:  
Serviços de Informação da Internet (IIS) versão 7.0 ou posterior
Web Deploy 3.6 ou posterior instalado
Privilégios administrativos no Windows Server
AWS credenciais configuradas com as permissões apropriadas
Seu servidor de origem tem acesso de saída à Internet aos AWS serviços.

As etapas a seguir resumem o processo de migração: 

1. Descubra sites do IIS e suas configurações.

1. Empacote o conteúdo e a configuração da aplicação.

1. Crie um ambiente e uma aplicação do Elastic Beanstalk.

1. Implante a aplicação com configurações preservadas.

O comando cria artefatos de migração em um diretório estruturado, como mostra a lista a seguir:

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

Use **eb migrate cleanup** para gerenciar esses artefatos.

## Sintaxe
<a name="eb3-migratesyntax"></a>

**eb migrate {{[options]}}**

**eb migrate explore {{[options]}}**

**eb migrate cleanup {{[options]}}**

Quando executado sem argumentos, **eb migrate** opera no modo não interativo. Para executá-lo no modo interativo, execute **eb migrate --interactive**.

O comando do modo interativo solicita as seguintes informações:
+ Seleção de sites do IIS para migrar
+ Nomes do ambiente e da aplicação
+ Seleção da versão da plataforma
+ Tipo de instância e outras opções de configuração

## Subcomandos
<a name="eb3-migratesubcommands"></a>

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

O subcomando **eb migrate explore** examina seu servidor IIS e lista os sites disponíveis.

Use esse comando para exibir as seguintes informações:
+ Exibir todos os sites do IIS no servidor
+ Com `--verbose`, inspecione a configuração detalhada, incluindo:
  + Ligações e portas do site
  + Grupos de aplicações
  + Diretórios virtuais e seus caminhos físicos
  + Configurações de Autenticação

```
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:
...
```

### Limpeza
<a name="eb3-migratecleanup"></a>

O subcomando **eb migrate cleanup** gerencia os artefatos de migração com as seguintes ações:
+ Preservar a migração bem-sucedida mais recente em `./migrations/latest`
+ Remover diretórios de migração mais antigos
+ Manutenção de arquivos de configuração críticos

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

Use `--force` para ignorar as solicitações de confirmação durante a limpeza.

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

## Opções
<a name="eb3-migrateoptions"></a>

Nenhuma dessas opções é obrigatória. Se você executar **eb migrate** sem opção, a EB CLI será executada no modo não interativo. Com **eb migrate --interactive**, a EB CLI solicita que você insira ou selecione um valor para as configurações necessárias.


****  

|  Name (Nome)  |  Descrição  | 
| --- | --- | 
| `-a` {{application-name}}<br />or<br />`--application-name` {{application-name}} | Nome para a nova aplicação Elastic Beanstalk.<br />Tipo: string<br />Padrão: EBMigrated App | 
| `--archive` {{directory-or-zip}} | O diretório ou arquivo ZIP contendo o código-fonte gerado anteriormente por **eb migrate --archive-only**.<br />Use essa opção para implantar um pacote de migração criado anteriormente.<br />Exemplo: `--archive .\migrations\latest\upload_target` ou `--archive .\migrations\latest\upload_target.zip` | 
| `-ao`<br />or<br />`--archive-only` | Crie somente o diretório de arquivamento de destino sem implantação.<br />O diretório resultante pode ser implantado manualmente usando **eb migrate** com a opção `archive` ou **eb deploy**. | 
| `-c` {{subdomain-name}}<br />or<br />`--cname` {{subdomain-name}} | O nome do subdomínio para prefixar a entrada de CNAME DNS para seu aplicação migrado.<br />Tipo: string<br />Padrão: o nome do ambiente | 
| `-cf`<br />or<br />`--copy-firewall-config` | Copie a configuração do firewall do servidor de origem para o destino de todas as portas HTTP com associações ativas.<br />Cria regras de grupo de segurança correspondentes em AWS. | 
| `-es` {{snapshot-id}} [{{snapshot-id}} ...]<br />or<br />`--ebs-snapshots` {{snapshot-id}} [{{snapshot-id}} ...] | Lista separada por vírgulas do snapshot do Amazon EBS IDs para associar ao ambiente.<br />Exemplo: `--ebs-snapshots snap-1234567890abcdef0, snap-0987654321fedcba1` | 
| `--encrypt-ebs-volumes` | Aplique criptografia para todos os volumes do Amazon EBS. Essa é uma configuração de toda a conta que afeta toda a criação futura de volumes do Amazon EBS.  | 
| `-e` {{environment-name}}<br />or<br />`--environment-name` {{environment-name}} | Nome para o novo ambiente do Elastic Beanstalk.<br />Tipo: string<br />Padrão: EBMigrated Env<br />Restrições: deve ter entre 4 e 40 caracteres. Pode pode conter somente letras, números e hifens. Não pode começar ou terminar com um hífen (-). | 
| `--force` | Ignore os prompts de confirmação durante as operações.<br />Quando usado com o subcomando **cleanup**, remove artefatos de migração sem confirmação. | 
| `-ip` {{profile-name}}<br />or<br />`--instance-profile` {{profile-name}} | Perfil de instância para associar às EC2 instâncias Amazon do ambiente.<br />Se não for especificado, cria um perfil de instância padrão com permissões para acessar os recursos do Elastic Beanstalk. Para obter mais informações, consulte [Perfil de instância do Elastic Beanstalk](concepts-roles-instance.md).  | 
| `-i` {{instance-type}}<br />or<br />`--instance-type` {{instance-type}} | O tipo de EC2 instância da Amazon para seu ambiente do Elastic Beanstalk.<br />Tipo: string<br />Padrão: c5.2xlarge<br />Para ver os tipos de instância disponíveis, consulte [os tipos de EC2 instância](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) da *Amazon no Guia EC2 do usuário da Amazon*. | 
| `-in`<br />or<br />`--interactive` | Forçar o modo interativo para o processo de migração.<br />Solicita valores de configuração mesmo quando padrões estão disponíveis. | 
| `-k` {{key-name}}<br />or<br />`--keyname` {{key-name}} | Amazon EC2 key pair para permitir o acesso RDP às instâncias do ambiente.<br />Útil para investigar problemas no nível da instância que não são visíveis nos logs.<br />Valores válidos: um nome de par de chaves existente registrado na Amazon EC2 | 
| `-p` {{platform-version}}<br />or<br />`--platform` {{platform-version}} | Runtime da plataforma Elastic Beanstalk para o ambiente. Se não for especificado, detectado automaticamente a partir da versão host do Windows Server.<br />Exemplo: `"64bit Windows Server 2016 v2.16.2 running IIS 10.0"`<br />Para obter uma lista das versões disponíveis da plataforma, use a [lista de plataformas eb](eb3-platform.md#eb3-platform-list). | 
| `--remote` | Indica a execução da migração no modo remoto. Essa opção permite a execução a partir de um bastion host, que se conecta ao servidor de destino que contém o aplicação e as configurações a serem migradas para o Elastic Beanstalk. Em execução a partir do servidor bastion, `eb migrate` descobre configurações, organiza a lógica de migração no bastion host e, em seguida, implanta sua aplicação em um novo ambiente do Elastic Beanstalk. <br />Essa opção dispensa a necessidade de instalar a EB CLI e o Python no servidor Windows que você precisa migrar. Em vez disso, você instala o Python e a EB CLI em um bastion host, onde executa o comando **eb migrate** com a opção `--remote`. Use a opção `--target-ip` para especificar o host com as configurações do IIS a serem migradas.<br />Deve ser usado com `--target-ip`, `--username` e `--password`. | 
| `--target-ip` {{ip-address}} | Endereço IP público da máquina Windows remota que contém os servidores IIS a serem migrados.<br />Necessário ao usar `--remote`. Só pode ser especificado ao usar `--remote`. | 
| `--username` {{username}} | Nome de usuário do perfil de usuário para acessar a máquina Windows remota que contém os servidores IIS a serem migrados.<br />Necessário ao usar `--remote`. Só pode ser especificado ao usar `--remote`. | 
| `--password` {{password}} | Senha do perfil do usuário para acessar a máquina Windows remota que contém os servidores IIS a serem migrados.<br />Necessário ao usar `--remote`. Só pode ser especificado ao usar `--remote`. | 
| `-sr` {{role-name}}<br />or<br />`--service-role` {{role-name}} | Função de serviço do IAM para o Elastic Beanstalk gerenciar serviços relacionados. AWS <br />Se não for especificado, cria um perfil de serviço padrão com as permissões necessárias. Para obter mais informações, consulte [Função de serviço do Elastic Beanstalk](concepts-roles-service.md). Especifique somente o nome do perfil, não o ARN completo. O Elastic Beanstalk cria automaticamente o ARN completo.  | 
| `-s` {{site-names}}<br />or<br />`--sites` {{site-names}} | Lista separada por vírgulas dos sites do IIS para migrar. Se não for especificado, migra todos os sites disponíveis no servidor.<br />Exemplo: `--sites "Default Web Site,Intranet,API"` | 
| `--ssl-certificates` {{certificate-arn}}[,{{certificate-arn}} ...] | Lista separada por vírgulas do certificado SSL do ACM ARNs para associar ao Application Load Balancer.<br />Obrigatória ao migrar sites com associações HTTPS.<br />Exemplo: `--ssl-certificates arn:aws:acm:region:account:certificate/certificate-id` | 
| `-t {{key1}}={{value1}}[,{{key2}}={{value2}} ...]`<br />or<br />`-﻿-﻿tags {{key1}}={{value1}}[,{{key2}}={{value2}} ...]` | Lista de pares de `key=value` separados por vírgulas para marcar novos recursos no seu ambiente: ambiente, aplicação do Elastic Beanstalk, versão da aplicação.<br />Para obter mais informações, consulte [Marcação de ambientes](using-features.tagging.md). | 
| `--verbose` | Mostre informações detalhadas durante o processo de migração.<br />Quando usado com o subcomando **explore**, exibe detalhes abrangentes da configuração do site. | 
| `-vpc` {{config-file-or-string}}<br />or<br />`--vpc-config` {{config-file-or-string}} | Configuração de VPC para o ambiente, especificada como um caminho de arquivo JSON ou uma string JSON.<br />A configuração deve incluir:<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/pt_br/elasticbeanstalk/latest/dg/eb3-migrate.html) *A migração ignorará todas as configurações de VPC existentes do ambiente de origem quando você especificar o *parâmetro* *`--vpc-config`. Quando você usa esse parâmetro, a migração usará apenas as configurações de VPC especificadas no arquivo de configuração que você está passando. O uso desse parâmetro substitui o comportamento padrão de descobrir a configuração da VPC da instância de origem ou usar a VPC padrão.  | 
| [Opções comuns](eb3-cmd-options.md) |  | 

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

O comando fornece atualizações de status durante todo o processo de migração:

1. Detecção de configuração de VPC (ao executar em uma EC2 instância)

1. Progresso da geração do pacote de origem para cada site

1. Status de criação do ambiente

1. Progresso da implantação

Se for bem-sucedido, exibe os detalhes do novo ambiente, incluindo:
+ Nome e ID da do ambiente
+ Nome da aplicação
+ Região
+ Versão da plataforma
+ CNAME do ambiente

Para problemas durante a migração, use os comandos [**eb health**](eb3-health.md) e [**eb events**](eb3-events.md) para obter informações detalhadas.

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

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

Migração básica no modo interativo:

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

Migração de sites específicos com configuração 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
```

Criar um arquivo de migração sem implantação:

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

### Exemplos de configuração avançados
<a name="eb3-migrateexamples-advanced"></a>

Migração com configuração de VPC personalizada usando um arquivo 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"
```

Migrar sites com certificados SSL e cabeçalhos 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
```

Migração com configuração de snapshot do 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
```

### Exemplos de configuração de segurança
<a name="eb3-migrateexamples-security"></a>

Lidar com sites com regras de firewall complexas:

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

Migração com perfis do IAM personalizados:

```
PS C:\migrations_workspace >  eb migrate `
    --sites "SecureApp" `
    --instance-profile "CustomInstanceProfile" `
    --service-role "CustomServiceRole"
```

### Exemplos de execução remota
<a name="eb3-migrateexamples-remote"></a>

Migrar aplicações do IIS de um Windows Server 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
```

Migração remota com seleção de site específico:

```
PS C:\migrations_workspace >  eb migrate `
    --remote `
    --target-ip "192.0.2.10" `
    --username "administrator" `
    --password "YourPassword123" `
    --sites "API" `
    --instance-type "c5.large"
```