Migração de servidores para AWS com MGN
Como realizar a migração de servidores para AWS com o Application Migration Service
Irei fazer este post em um formato um pouco diferente, tipo Workshop e no final insira nos comentários o que você achou.
Cenário de Negócio
Cenário fictício e qualquer semelhança com a sua empresa é coincidência.
A empresa/cliente está interessada em migrar os servidores atualmente hospedados no provedor Azure para a nuvem da AWS.
Para isso, planejamos utilizar a estratégia de re-host/Lift-and-Shift, garantindo que a migração entre os provedores de nuvem ocorra com o menor tempo de inatividade possível e o menor período de manutenção.
O que utilizaremos?
Para o cenário proposto, vamos empregar o AWS Application Migration Service ou MGN na AWS. Com o MGN, podemos migrar servidores entre diferentes nuvens ou data centers on-premises para a AWS. Isso proporciona um fluxo completo de migração, abrangendo fases de replicação de dados, testes (pré-produção) e produção.
Arquitetura geral do serviço AWS MGN
Arquitetura de migração
O que você precisa saber para o mundo real?
Informações que utilizaremos
- Informações do usuário IAM:
Usuário: SVC-MGN-Migration-Agent
Chave e senha: São randomizadas, no ato da criação do usuário do IAM
- Informações de rede:
CIDR DA VPC-PRD | 10.77.0.0/16 |
Qtd de Subnets | 2 |
SBNT-PRD-PUBLIC-AZ1a | 10.77.1.0/24 |
SBNT-PRD-PUBLIC-AZ1b | 10.77.2.0/24 |
CIDR DA VPC-MIGRATION | 10.150.0.0/16 |
Qtd de Subnets | 2 |
SBNT-MIGRATION-STAGING-AZ1a | 10.77.1.0/24 |
SBNT-MIGRATION-STAGING-AZ1B | 10.77.2.0/24 |
Requisitos do Workshop
- Conta do Azure
- Conta da AWS
Roteiro do Workshop
- Azure: Criar Grupo de recursos
- Azure: Criar servidor Linux
- Azure: Criar servidor Windows
- Azure: Editar regras de segurança
- AWS: Criar rede de Produção e Migração
- AWS: Criar regras de segurança
- AWS: Criação do usuário IAM
- AWS: Ativar e configuração do serviço AWS Application Migration Service (MGN)
- AWS: Instalação do Agent nos servidores Linux e Windows
- AWS: Realizar testes
- AWS: Realizar a virada final
Passo a passo
Azure: Criação do grupo de recursos
- Passo 01: Criação do grupo de recursos na região escolhida
Na barra de pesquisa, procure por Resource Groups e clique em Create.
Selecione a subscrição desejada, insira um novo para o grupo de recursos e clique em Review + create
- Passo 02: Criação do servidor Linux e Windows
Na barra de pesquisa, procure por Virtual Machines
Clique em Create, para iniciar as etapas de criação da máquina virtual Linux
Selecione o grupo de recursos, nome da máquina virtual, região desejada, o tipo e a imagem que será utilizada para instalar o sistema operacional. Neste workshop utilizei o Ubuntu Server 22.04 LTS, mas utilize a distribuição que desejar.
Selecione o tamanho, o tipo da chave de acesso (SSH), e para Linux a porta de conexão (porta 22 protocolo TCP)
Selecione o tipo do disco desejado
Selecione a Subnet, o IP publico (opcional) e a porta de acesso (no caso é a porta 22, para conexão SSH no servidor Linux.
Na parte de gerenciamento, foi habilitado o desligamento automático para 19hs a fim de, caso eu esqueça a máquina virtual, o Azure desligará automaticamente, fazendo com que eu economize custos.
Com todas as etapas configuradas, por fim, clique em Create para ser iniciada a criação da máquina virtual Linux
Validando o acesso ao servidor criado. Utilizei o software PuTTY, para realizar a conexão ao servidor Linux. Após inserir o IP público da máquina virtual (não estou utilizando uma VPN para me conectar no ambiente), para informar a chave privada clique em Connection >> SSH >> Auth >> Credential e no campo Private key file for authentication clique em Browse para selecionar a chave de acesso à máquina virtual.
Se apareceu a mensagem a seguir, significa que você esta com acesso à máquina virtual e precisa aceitar a relação de confiança desta conexão.
Utilizei o usuário padrão azureuser para me autenticar na máquina virtual
- Passo 03 – Criando uma máquina virtual Windows Server
Na barra de pesquisa, procure por Virtual Machines
Clique no botão create
Selecione o grupo de recursos, a subnet, o tipo e a imagem do sistema operacional
Selecione o tamanho da máquina virtual, insira um usuário e senha, e especifique a porta de acesso 3389 (RDP – Remote Desktop Protocol)
Para armazenamento, selecione o tamanho do disco desejado e o tipo. Neste caso, escolhi 128 GB para armazenamento do sistema operacional e o tipo do HD foi o SSD.
Selecione a subnet desejada e um endereço de IP público, para conexão à máquina virtual. (Não tenho VPN configurada neste ambiente, portanto o acesso será restrito ao IP da minha residência).
Na parte de gerenciamento, foi habilitado o desligamento automático para 19hs a fim de, caso eu esqueça a máquina virtual, o Azure desligará automaticamente, fazendo com que eu economize custos.
Ao final das configurações iniciais, clique em Create para efetuar a criação da máquina virtual Windows Server.
Validando o acesso ao servidor criado. Utilizei o software Área de trabalho remoto, para acessar à máquina virtual. Utilizei o IP público atribuído à máquina virtual Windows e o usuário/senha criada anteriormente.
- Passo 04: Ajustes nas regras de segurança do Azure
Quando criamos as regras de segurança, das máquinas virtuas Linux e Windows, informamos apenas a porta de conexão e não restringimos a origem da conexão. Iremos fazer isso agora. Vamos restringir a origem de conexão para o endereço de IP da minha residência.
Grupo de Segurança para o servidor Linux:
Na máquina virtual Linux, procure no menu esquerdo, o botão Segurança e clique em grupos de segurança. Aparecerá um aviso (em laranja) para chamar a sua atenção, justamente, pois a regra de segurança esta estritamente permissiva. Clique no alerta, e no campo Souce, selecione a opção My IP address, que automaticamente irá identificar o IP da sua residência e clique em Save.
Grupo de Segurança para o servidor Windows:
Na máquina virtual Windows, procure no menu esquerdo, o botão Segurança e clique em grupos de segurança. Aparecerá um aviso (em laranja) para chamar a sua atenção, justamente, pois a regra de segurança esta estritamente permissiva. Clique no alerta, e no campo Souce, selecione a opção My IP address, que automaticamente irá identificar o IP da sua residência e clique em Save.
- Passo 05: Criação da rede (VPC) de Produção e Migração na AWS
VPC de Produção
Na barra de pesquisa da AWS, procure pelo serviço VPC e clique no botão Create VPC e logo em seguida, selecione o método rápido para criar a VPC e preencha as informações, conforme sua preferência de nomenclatura e endereçamento da rede.
Preencha as informações conforme sua escolha, sobre as zonas de disponibilidades, a quantidade de subnets públicas e privadas, se você entender necessidade em adicionar um NAT Gateway ou VPCs endpoints fique a vontade. Aqui para este workshop, não haverá necessidade.
Iremos agora personalizar as subnets da VPC de Produção
Antes:
Depois:
Vamos habilitar a entrega de IP Público em todas as subnets públicas da VPC de Produção. Selecione a subnet com nomenclatura como pública, e nas configurações, habilite a entrega automática de IP Público.
VPC de Migração
Preencha as informações conforme sua escolha, sobre as zonas de disponibilidades, a quantidade de subnets públicas e privadas, se você entender necessidade em adicionar um NAT Gateway ou VPCs endpoints fique a vontade. Aqui para este workshop, não haverá necessidade.
Iremos agora personalizar as subnets da VPC de Migração
Antes:
Depois:
Vamos habilitar a entrega de IP Público em todas as subnets públicas da VPC de Produção. Selecione a subnet com nomenclatura como pública, e nas configurações, habilite a entrega automática de IP Público.
- Passo 06: Criação das regras de segurança
Aproveitando que estamos no painel do serviço VPC, no menu à esquerda, procure pela opção Security, selecione a opção Security Groups e clique no botão Create security group.
Observação: Crie regras de segurança separadas para cada sistema operacional, neste caso do workshop
Regra 01: Para a regra de segurança para acesso ao servidor Linux, adicione uma regra de entrada com a porta 22 protocolo TCP.
Regra 02: Para a regra de segurança para acesso ao servidor Windows, adicione uma regra de entrada com a porta 3389 protocolo TCP.
- Passo 07: Criação do usuário do IAM
Este usuário, será utilizado pelo serviço AWS MGN (Application Migration Service)
Na barra de pesquisa, procure pelo serviço IAM. No menu a esquerda, na sessão Access management, clique na opção User e clique no botão Create user. Dê um nome de sua preferência para este usuário. Este usuário não terá a necessidade de acessar a console da AWS, portanto a opção ficará desmarcada.
Nas permissões do usuário do IAM, iremos associar três políticas do IAM, relacionadas ao agente do serviço AWS MGN (Application Migration Service). E na sequência, clicar no botão Create user
Agora iremos, criar a credencial deste usuário IAM, para utilizarmos no serviço AWS MGN (Application Migration Service) nas próximas etapas. Com os detalhes do usuário do IAM aberto, selecione a aba Security credentials, e clique no botão Create access key. Onde será exibido algumas opções de uso, e neste workshop optei em selecionar a opção CLI (Command Line Interface). Com a chave e o segredo criado, faça o download ou copie a guarde esta informação em outro local.
- Passo 08: Ativação e configurações do AWS MGN (Application Migration Service)
Na barra de pesquisa, procure por MGN ou AWS Application Migration Service e clique no botão Get started
A primeira que vamos fazer, é alterar a subnet de replicação padrão, para a subnet personalizada, que criamos em uma das etapas anteriores. No menu à esquena, em Security, clique na opção Replication template, na sequencia clique no botão Edit e selecione uma das duas subnets que criamos.
Outra alteração de rede importante, é alterar a subnet padrão, para inicialização das instancias EC2. No menu à esqueda, na opção Settings, clique na opção Launch Template, seleione uma das subnets de produção (criada em etapas anteriores) e, para agilizar um pouco, altere os grupos de segurança conforme a necessidade e por fim, clique em Salve Template.
- Passo 09: Instalação do agente AWS MGN nas máquinas virtual Linux e Windows
Lembrando que estas máquinas virtuais, onde serão instalados os agentes do AWS MNG, estão hospedadas no Azure.
Servidor Linux: No menu à esqueda, clique na opção Source Servers e clique no botão Add Server, selecione o sistema operacional Linux, escolha a opção que irá reaplicar todos os discos do sistema operacional, preencha as informações do usuário do IAM e copie as linhas de comando para realizar o download do agente e a instalação do agente do serviço AWS MGN
O resultado da execução das linhas de comando
Status da replicação dos discos para AWS
Servidor Windows: No menu à esqueda, clique na opção Source Servers e clique no botão Add Server, selecione o sistema operacional Windows, escolha a opção que irá reaplicar todos os discos do sistema operacional, preencha as informações do usuário do IAM e copie as linhas de comando para realizar o download do agente e a instalação do agente do serviço AWS MGN
Instalação do agente do AWS MGN no Windows Server
Status da replicação dos discos para AWS
- Passo 10: Realização de testes
Visão geral dos testes da migração
- Passo 11: Realizando a virada
Visão geral da virada da migração
No console do serviço AWS MGN (Application Migration Service), escolha o servidor e clique em Cutover Complete. A partir deste momento, você podera fazer o login nas instancias e de fato eles estaram rodando definitivamente na AWS.
Consideração final
Caso você esteja seguindo as etapas, para praticar em laboratório, não se esqueça de excluir os recursos criados no Azure e também na AWS.
Conclusão
Seguindo este guia passo a passo, você poderá efetuar a migração de servidores do provedor de nuvem Azure para o provedor AWS.
É fundamental destacar que este processo foi desenvolvido para fornecer uma compreensão básica de como uma migração funciona. Portanto, esteja atento às caracteristicas específicas de cada ambiente e/ou cenário de migração.
Despedida e agradecimentos.
Espero ter ajudado. Deixe seu feedback nos comentários logo abaixo, não esqueça de se inscrever, compartilhe nas redes sociais e fique ligado nas novidades. Abraços!