Migre uma aplicação web do ASP.NET para o AWS Elastic Beanstalk

com o Windows Web Application Migration Assistant (WWAMA)

Visão geral

A finalidade deste laboratório é migrar um exemplo de aplicação web do ASP.NET para um ambiente gerenciado do AWS Elastic Beanstalk usando o Windows Web Application Migration Assistant (WWAMA). Informações adicionais sobre o Windows Web Application Migration Assistant está disponível aqui.

Resultado esperado

Você migrará um exemplo de aplicação web do ASP.NET para um ambiente totalmente gerenciado do AWS Elastic Beanstalk.

Pré-requisitos

Você precisará de uma conta da AWS e permissões do IAM para criar uma instância do EC2, um par de chaves, um grupo de segurança, um usuário do IAM e um ambiente do Elastic Beanstalk. Este tutorial mostrará como implantar um modelo do AWS CloudFormation que provisiona automaticamente o exemplo de site em uma instância do EC2 que será a aplicação web de origem para a migração.  

Sobre este tutorial
Duração 15 minutos                                           
Custo Qualificado para o nível gratuito
Caso de uso Migração de aplicações do Windows
Produtos AWS Elastic Beanstalk
Público Desenvolvedor
Nível Iniciante
Data da última atualização 3/30/2020

1. Cadastre-se na AWS

O modelo do CloudFormation usado neste tutorial executa uma instância t2.micro do EC2. O tipo de instância t2.micro é parte do nível gratuito. Se um tipo diferente de instância for selecionado, haverá custos do EC2. Você pode estimar os custos do EC2 na página de definição de preço do EC2.

 

Você já tem uma conta? Faça login

2. Instalação e configuração

Use o CloudFormation para executar a instância do EC2 que hospedará o exemplo de site. Em seguida, instale as permissões necessárias do IAM.

a. Execute uma instância do EC2 por meio do CloudFormation

Use o CloudFormation para executar uma instância do EC2 em US-East-1.

Executar a pilha do CloudFormation >>

Em seguida, clique em Próximo.

Selecione um par de chaves existente ou crie um par de chaves se você não tivrer um. Em seguida, clique em Próximo.

Na tela Configurar opções da pilha, clique em Próximo. Na parte inferior da tela Revisar, clique em Criar pilha.  

 

Depois de criar a pilha, você verá o status dela mudar para “CREATE_COMPLETE”.

 

b. Crie o usuário do IAM

Fazer login no console do IAM >>

No menu de navegação à esquerda, clique em Usuários, em seguida clique em Adicionar usuário.

Insira o Nome de usuário MigrationUser, marque a caixa Acesso programático, em seguida clique em Próximo: Permissões.

Clique em Anexar políticas existentes diretamente e digite Beanstalk na barra de pesquisa para filtrar as políticas.

Clique na caixa de seleção referente às políticas a seguir, gerenciadas pela AWS, em seguida clique em Próximo: Tags.

  • IAMReadOnlyAccess
  • AWSElasticBeanstalkFullAccess

 

Clique em Próximo: Revisar, em seguida clique em Criar usuário.


 

 

Depois que o usuário é criado, clique em Download CSV quando a tela aparecer.

 

 

3. Faça login no console do EC2 e configure o para executar a ferramenta WWAMA

a. Navegue até o console do EC2 e faça login

Faça login no EC2 aqui >>

Depois de ter feito login no console do EC2, selecione a instância do WWAMA e clique em Conectar.

Clique no arquivo Download Remote Desktop e salve o arquivo RDP. Em seguida, clique em Obter senha e faça upload de seu arquivo de par de chaves para obter sua senha do Windows Server. Você verá a senha em texto sem formatação. Copie-a, pois você precisará dela na próxima etapa.

 

 

Faça login na instância do EC2 usando o arquivo RDP que você salvou anteriormente e forneça sua senha.

 

 

b. Abra um terminal do PowerShell no Windows Server do EC2

Abra um terminal do PowerShell como Administrador e execute os comandos fornecidos no exemplo abaixo à direita para configurar as credencias da AWS. Substitua ACCESS_KEY e SECRET_ACCESS_KEY pelos valores contidos no arquivo .CSV obtido por download durante a criação do MigrationUser.

 

PS C:\> Import-Module AWSPowerShell
PS C:\> Set-AWSCredential -AccessKey ACCESS_KEY -SecretKey SECRET_ACCESS_KEY -StoreAs default

c. Extraia os arquivos do Migration Assistant

O download do assistente de migração foi feito anteriormente na unidade C:\ pelo modelo do CloudFormation. O arquivo é wwama.zip.

Clique com o botão direito em wwama.zip e extraia o assistente.

d. Veja o exemplo de site antes da migração

Abra um navegador web na instância Windows Server do EC2 e navegue até http://localhost/. Você verá o exemplo de site que será migrado pelo assistente de migração.

4. Execute o Migration Assistant

a. Execute o script MigrateIISWebsiteToElasticBeanstalk.ps1

No terminal do PowerShell que você abriu anteriormente, execute o script de migração.

O assistente solicita a localização de seu arquivo de credenciais. Pressione ENTER para ignorar.

Quando o Nome do perfil da AWS for solicitado, digite default.

   

PS C:\> .\MigrateIISWebsiteToElasticBeanstalk.ps1

b. Selecione a região da AWS

Insira a região da AWS em que você quer executar o ambiente do Elastic Beanstalk. Por exemplo: us-east-1. Para obter uma lista de regiões da AWS em que o Elastic Beanstalk está disponível, consulte AWS Elastic Beanstalk Endpoints e Cotas na Referência geral da AWS.

 

Enter the AWS Region (default us-east-1):

c. Selecione a aplicação web que você quer migrar

O assistente descobre quaisquer sites em execução no seu servidor IIS e os lista, como no exemplo abaixo.

 

 

Digite o número 2 para migar o exemplo de site.

Enter the number of the website to migrate: (default 1):

d. Atualize as strings de conexão

O assistente solicitará que você atualize quaisquer strings de conexão selecionadas acima, pressione ENTER já que não há strings de conexão nesta aplicação.

Esta mensagem será exibida:

“O assistente de migração não encontrou nenhuma string de conexão”.

Enter the number of the connection string you would like to update, or press ENTER:

e. Instale sua aplicação do Elastic Beanstalk

A seguir, dê um nome para sua nova aplicação do Elastic Beanstalk.

 

 

Quando solicitada a seleção da versão do Windows Server, digite “6” e pressione Enter.

Enter a unique name for your new Elastic Beanstalk application:

Insira o tipo de instância em que sua aplicação será executada. Digite t2.micro. Consulte os Tipos de instância do Amazon EC2 para ver uma lista completa.

Enter the instance type (default t3.medium) : t2.micro

Em seguida, o assistente de migração migra sua aplicação para o Elastic Beanstalk.

 

Quando a migração estiver concluída, você verá uma mensagem de êxito na CLI.

 

5. Navegue até sua aplicação web hospedada no Elastic Beanstalk

Agora que a migração do site foi bem-sucedida, verifique se o site está ativo e funcionando.

a. Acesse no navegador web

Você pode obter o URL da saída do script do PowerShell.

Insira o URL no seu navegador web e você deve ver sua aplicação web, agora em execução no Elastic Beanstalk.

 

b. Acesse no console do Elastic Beanstalk.

Você também pode visualizar o ambiente do Elastic Beanstalk do Console AWS. Certifique-se de estar vendo o console da mesma região em que implantou sua aplicação. Sinta-se à vontade para explorar o que pode fazer com sua aplicação usando o menu no lado esquerdo.

 

6. Limpeza de recursos

Nesta etapa final, você limpará e excluirá todos os seus recursos.

a. Exclua a aplicação do Elastic Beanstalk

Vá para o console do Elastic Beanstalk e clique no menu Ações no lado direito. Em seguida, selecione Encerrar ambiente.

 

 

b. Exclua a pilha do CloudFormation

Acesse o console do CloudFormation e exclua a pilha do CloudFormation WWAMAStack criada no início do laboratório.

 

 

Parabéns

Você migrou com êxito um aplicativo web do ASP.NET para um ambiente totalmente gerenciado do Elastic Beanstalk usando o Windows Web Application Migration Assistant (WWAMA).


O AWS Elastic Beanstalk é um serviço de fácil utilização para implantação e escalabilidade de aplicações e serviços da web desenvolvidos com Java, .NET, PHP, Node.js, Python, Ruby, Go e Docker em servidores familiares como Apache, Nginx, Passenger e IIS.

Basta fazer o upload de seu código e o Elastic Beanstalk se encarrega automaticamente da implementação, desde o provisionamento de capacidade, o balanceamento de carga e a escalabilidade automática até o monitoramento da saúde do aplicativo. Ao mesmo tempo, você mantém total controle sobre os recursos da AWS que possibilitam a operação do seu aplicativo e pode acessar os recursos subjacentes a qualquer momento.

Visite AWS Elastic Beanstalk para saber mais.

Este tutorial foi útil para você?