eb migrate - AWS Elastic Beanstalk

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

Descrição

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

Para obter mais informações sobre como migrar seus sites e aplicativos do IIS, consulteMigração de aplicativos IIS para o Elastic Beanstalk.

nota

Antes de usar esse comando, verifique se o sistema atende aos seguintes requisitos:

  • Serviços de Informações da Internet (IIS) versão 7.0 ou posterior

  • Web Deploy 3.6 ou posterior instalado

  • Privilégios administrativos no servidor Windows

  • 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 os sites do IIS e suas configurações.

  2. Conteúdo e configuração do aplicativo Package.

  3. Crie o ambiente e o aplicativo do Elastic Beanstalk.

  4. Implante o aplicativo com configurações preservadas.

O comando cria artefatos de migração em um diretório estruturado, conforme mostrado na 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

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, executeeb migrate --interactive.

O comando do modo interativo solicita as seguintes informações:

  • Seleção de sites do IIS para migrar

  • Nomes do ambiente e do aplicativo

  • Seleção da versão da plataforma

  • Tipo de instância e outras opções de configuração

Subcomandos

explore

O eb migrate explore subcomando 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

    • Pools de aplicativos

    • 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

O eb migrate cleanup subcomando gerencia os artefatos de migração com as seguintes ações:

  • Preservando a migração bem-sucedida mais recente em ./migrations/latest

  • Removendo 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

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

Nome

Descrição

-a application-name

or

--application-name application-name

Nome do novo aplicativo Elastic Beanstalk.

Tipo: String

Padrão: EBMigrated App

--archive directory-or-zip

O diretório ou arquivo ZIP contendo o código-fonte gerado anteriormente peloeb migrate --archive-only.

Use essa opção para implantar um pacote de migração criado anteriormente.

Exemplo: --archive .\migrations\latest\upload_target ou --archive .\migrations\latest\upload_target.zip

-ao

or

--archive-only

Crie somente o diretório de arquivamento de destino sem implantação.

O diretório resultante pode ser implantado manualmente usando eb migrate a archive opção oueb deploy.

-c subdomain-name

or

--cname subdomain-name

O nome do subdomínio para prefixar a entrada DNS CNAME do seu aplicativo migrado.

Tipo: String

Padrão: o nome do ambiente

-cf

or

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

Cria regras de grupo de segurança correspondentes em AWS.

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

or

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

Lista separada por vírgulas do snapshot do Amazon EBS IDs para associar ao ambiente.

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

--encrypt-ebs-volumes

Aplique criptografia para todos os novos volumes do Amazon EBS.

Importante

Essa é uma configuração de toda a conta que afeta toda a criação futura de volumes do Amazon EBS.

-e environment-name

or

--environment-name environment-name

Nome do novo ambiente do Elastic Beanstalk.

Tipo: String

Padrão: EBMigrated Env

Restrições: devem ter entre 4 e 40 caracteres. Só pode conter letras, números e hífens. Não pode começar ou terminar com um hífen (-).

--force

Ignore as solicitações de confirmação durante as operações.

Quando usado com o cleanup subcomando, remove artefatos de migração sem confirmação.

-ip profile-name

or

--instance-profile profile-name

Perfil de instância para associar às EC2 instâncias Amazon do ambiente.

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.

-i instance-type

or

--instance-type instance-type

O tipo de EC2 instância da Amazon para seu ambiente do Elastic Beanstalk.

Tipo: String

Padrão: c5.2xlarge

Para ver os tipos de instância disponíveis, consulte os tipos de EC2 instância da Amazon no Guia EC2 do usuário da Amazon.

-in

or

--interactive

Forçar o modo interativo para o processo de migração.

Solicita valores de configuração mesmo quando os padrões estão disponíveis.

-k key-name

or

--keyname key-name

Amazon EC2 key pair para permitir o acesso RDP às instâncias do ambiente.

Útil para investigar problemas no nível da instância que não são visíveis nos registros.

Valores válidos: um nome de par de chaves existente registrado na Amazon EC2

-p platform-version

or

--platform platform-version

Tempo de execução da plataforma Elastic Beanstalk para o ambiente. Se não for especificado, detectado automaticamente a partir da versão host do Windows Server.

Example: "64bit Windows Server 2016 v2.16.2 running IIS 10.0"

Para obter uma lista das versões disponíveis da plataforma, use a lista de plataformas web.

--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 aplicativo e as configurações a serem migradas para o Elastic Beanstalk. Executando a partir do servidor bastion, eb migrate descobre configurações, organiza a lógica de migração no host bastion e, em seguida, implanta seu aplicativo em um novo ambiente do Elastic Beanstalk.

Essa opção elimina a necessidade de instalar o EB CLI e o Python no servidor Windows que você precisa migrar. Em vez disso, você instala o Python e o EB CLI em um bastion host, onde executa o comando com a eb migrate opção. --remote Use a --target-ip opção para especificar o host com as configurações do IIS a serem migradas.

Deve ser usado com --target-ip--username, --password e.

--target-ip ip-address

Endereço IP público da máquina Windows remota que contém os servidores IIS a serem migrados.

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.

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.

Necessário ao usar--remote. Só pode ser especificado ao usar--remote.

-sr role-name

or

--service-role role-name

Função de serviço do IAM para o Elastic Beanstalk gerenciar serviços relacionados. AWS

Se não for especificado, cria uma função 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.

nota

Especifique somente o nome da função, não o ARN completo. O Elastic Beanstalk cria automaticamente o ARN completo.

-s site-names

or

--sites site-names

Lista separada por vírgula dos sites do IIS a serem migrados. Se não for especificado, migra todos os sites disponíveis no servidor.

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

Obrigatório ao migrar sites com ligações HTTPS.

Example: --ssl-certificates arn:aws:acm:region:account:certificate/certificate-id

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

or

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

Lista de key=value pares separados por vírgulas para marcar novos recursos em seu ambiente: ambiente, aplicativo Elastic Beanstalk, versão do aplicativo.

Para obter mais informações, consulte Marcação em ambientes.

--verbose

Mostre informações detalhadas durante o processo de migração.

Quando usado com o explore subcomando, exibe detalhes abrangentes da configuração do site.

-vpc config-file-or-string

or

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

Configuração de VPC para o ambiente, especificada como um caminho de arquivo JSON ou uma string JSON.

A configuração deve incluir:

{ "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: (Obrigatório) Identificador de VPC

  • publicip: se deve atribuir público IPs às instâncias

  • elbscheme: esquema de balanceamento de carga (público ou privado)

  • ec2subnets: Lista de sub-redes IDs para instâncias EC2

  • securitygroups: grupo de segurança separado por vírgula IDs

  • elbsubnets: Lista de sub-redes IDs para o balanceador de carga

Importante

A migração ignorará todas as configurações de VPC existentes do ambiente de origem quando você especificar o --vpc-config parâmetro. Quando você usa esse parâmetro, a migração usará somente as configurações de VPC especificadas no arquivo de configuração que você está transmitindo. 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

Saída

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)

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

  3. Status de criação do ambiente

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

  • Ambiente CNAME

Para problemas durante a migração, use os eb healthcomandos eb eventse para obter informações detalhadas.

Exemplos

Uso básico

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

Criação de 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çada

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"

Migração de 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

Lidando 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 funções personalizadas do IAM:

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

Exemplos de execução remota

Migrando aplicativos IIS de um servidor 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

Migração remota com seleção de local 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"