Google Cloud oferece ferramentas, produtos, orientações e serviços profissionais para migrar máquinas virtuais (VMs) juntamente com os respetivos dados do Amazon Elastic Compute Cloud (Amazon EC2) para o Compute Engine. Este documento aborda como conceber, implementar e validar um plano para migrar do Amazon EC2 para o Compute Engine.
A discussão neste documento destina-se a administradores da nuvem que pretendam detalhes sobre como planear e implementar um processo de migração. Também se destina a decisores que estão a avaliar a oportunidade de migrar e que querem explorar como pode ser a migração.
Este documento faz parte de uma série de vários artigos sobre a migração da AWS para a Google Cloud , que inclui os seguintes documentos:
- Comece a usar
- Migre do Amazon EC2 para o Compute Engine (este documento)
- Migre do Amazon S3 para o Cloud Storage
- Migre do Amazon EKS para o Google Kubernetes Engine
- Migre do Amazon RDS e do Amazon Aurora para MySQL para o Cloud SQL para MySQL
- Migre do Amazon RDS e do Amazon Aurora para PostgreSQL para o Cloud SQL para PostgreSQL e o AlloyDB para PostgreSQL
- Migre do Amazon RDS para SQL Server para o Cloud SQL para SQL Server
- Migre do AWS Lambda para o Cloud Run
Para esta migração para Google Cloud, recomendamos que siga a estrutura de migração descrita no artigo Migrar para Google Cloud: introdução.
O diagrama seguinte ilustra o caminho do seu percurso de migração.
Pode migrar do ambiente de origem para o ambiente de destino Google Cloud numa série de iterações. Por exemplo, pode migrar algumas cargas de trabalho primeiro e outras mais tarde. Para cada iteração de migração separada, segue as fases da estrutura de migração geral:
- Avalie e descubra as suas cargas de trabalho e dados.
- Planeie e crie uma base em Google Cloud.
- Migre as suas cargas de trabalho e dados para o Google Cloud.
- Otimize o seu Google Cloud ambiente.
Para mais informações sobre as fases desta estrutura, consulte o artigo Migre para Google Cloud: comece.
Para criar um plano de migração eficaz, recomendamos que valide cada passo do plano e se certifique de que tem uma estratégia de reversão. Para ajudar a validar o seu plano de migração, consulte o artigo Migre para Google Cloud: práticas recomendadas para validar um plano de migração.
Avalie o ambiente de origem
Na fase de avaliação, determina os requisitos e as dependências para migrar o seu ambiente de origem para o Google Cloud.
A fase de avaliação é fundamental para o sucesso da sua migração. Tem de adquirir conhecimentos profundos sobre as cargas de trabalho que quer migrar, os respetivos requisitos, as respetivas dependências e o seu ambiente atual. Tem de compreender o seu ponto de partida para planear e executar com êxito uma Google Cloud migração.
A fase de avaliação consiste nas seguintes tarefas:
- Crie um inventário abrangente das suas cargas de trabalho.
- Catalogue as suas cargas de trabalho de acordo com as respetivas propriedades e dependências.
- Forme e eduque as suas equipas sobre Google Cloud.
- Crie experiências e provas de conceito em Google Cloud.
- Calcular o custo total de propriedade (TCO) do ambiente de destino.
- Escolha a estratégia de migração para as suas cargas de trabalho.
- Escolha as ferramentas de migração.
- Defina o plano de migração e a linha cronológica.
- Valide o seu plano de migração.
Para mais informações sobre a fase de avaliação e estas tarefas, consulte o artigo Migre para Google Cloud: avalie e descubra as suas cargas de trabalho. As secções seguintes baseiam-se nas informações desse documento.
Crie um inventário das suas instâncias do Amazon EC2
Para definir o âmbito da migração, crie um inventário das suas instâncias do Amazon EC2. Em seguida, pode usar o inventário para avaliar a implementação e os processos operacionais para implementar cargas de trabalho nessas instâncias.
Para criar o inventário das suas instâncias do Amazon EC2, recomendamos que use o Migration Center, a plataforma unificada daGoogle Cloud' que ajuda a acelerar o seu percurso na nuvem ponto a ponto do seu ambiente atual para o Google Cloud. O centro de migração permite-lhe executar uma descoberta de inventário na AWS.
Os dados que o Migration Center e a CLI do cliente de descoberta do Migration Center fornecem podem não captar totalmente as dimensões que lhe interessam. Nesse caso, pode integrar esses dados com os resultados de outros mecanismos de recolha de dados que criar com base nas APIs AWS, nas ferramentas para programadores da AWS e na interface de linha de comandos da AWS.
Além dos dados que obtém do centro de migração e da CLI do cliente de descoberta do centro de migração, considere os seguintes pontos de dados para cada instância do Amazon EC2 que quer migrar:
- Região e zona de implementação.
- Tipo e tamanho da instância.
- A imagem da máquina da Amazon (AMI) a partir da qual a instância está a ser iniciada.
- O nome de anfitrião da instância e como outras instâncias e cargas de trabalho usam este nome de anfitrião para comunicar com a instância.
- As etiquetas da instância, bem como os metadados e os dados do utilizador.
- O tipo de virtualização da instância.
- A opção de compra da instância, como a compra a pedido ou a compra spot.
- Como a instância armazena dados, como a utilização de armazenamentos de instâncias e volumes do Amazon EBS.
- A configuração de arrendamento da instância.
- Se a instância está num grupo de posicionamentos específico.
- Se a instância está num grupo de escalamento automático específico.
- Os grupos de segurança aos quais a instância pertence.
- Qualquer configuração da firewall de rede da AWS que envolva a instância.
- Se as cargas de trabalho executadas na instância estão protegidas pelo AWS Shield e pelo AWS WAF.
- Se está a controlar o estado do processador da sua instância e como as cargas de trabalho que são executadas na instância dependem do estado do processador.
- A configuração do programador de E/S da instância.
- Como está a expor cargas de trabalho executadas na instância a clientes executados no seu ambiente da AWS (como outras cargas de trabalho) e a clientes externos.
Avalie os seus processos de implementação e operacionais
É importante ter uma compreensão clara do funcionamento dos processos de implementação e operacionais. Estes processos são uma parte fundamental das práticas que preparam e mantêm o seu ambiente de produção e as cargas de trabalho que são executadas nesse ambiente.
Os seus processos de implementação e operacionais podem criar os artefactos de que as suas cargas de trabalho precisam para funcionar. Por conseguinte, deve recolher informações sobre cada tipo de artefacto. Por exemplo, um artefacto pode ser um pacote do sistema operativo, um pacote de implementação de aplicações, uma imagem do sistema operativo, uma imagem de contentor ou outra coisa.
Além do tipo de artefacto, considere como conclui as seguintes tarefas:
- Desenvolva as suas cargas de trabalho. Avalie os processos que as equipas de desenvolvimento têm em vigor para criar as suas cargas de trabalho. Por exemplo, como é que as suas equipas de desenvolvimento estão a conceber, programar e testar as suas cargas de trabalho?
- Gere os artefactos que implementa no seu ambiente de origem. Para implementar as suas cargas de trabalho no ambiente de origem, pode gerar artefactos implementáveis, como imagens de contentores ou imagens de sistemas operativos, ou pode personalizar artefactos existentes, como imagens de sistemas operativos de terceiros, instalando e configurando software. A recolha de informações sobre como está a gerar estes artefactos ajuda a garantir que os artefactos gerados são adequados para implementação noGoogle Cloud.
Armazenar os artefactos. Se produzir artefactos que armazena num registo de artefactos no seu ambiente de origem, tem de disponibilizar os artefactos no seu ambiente de destino. Google Cloud Pode fazê-lo através de estratégias como as seguintes:
- Estabeleça um canal de comunicação entre os ambientes: torne os artefactos no ambiente de origem acessíveis a partir do ambiente de destinoGoogle Cloud .
- Refatore o processo de criação de artefactos: conclua uma refatoração menor do seu ambiente de origem para que possa armazenar artefactos no ambiente de origem e no ambiente de destino. Esta abordagem suporta a sua migração através da criação de infraestrutura, como um repositório de artefactos, antes de ter de implementar processos de compilação de artefactos no ambiente de destino. Google CloudPode implementar esta abordagem diretamente ou basear-se na abordagem anterior de estabelecer primeiro um canal de comunicação.
A disponibilidade de artefactos nos ambientes de origem e de destino permite-lhe concentrar-se na migração sem ter de implementar processos de criação de artefactos no ambiente de destino Google Cloud como parte da migração.
Leia e assine o código. Como parte dos processos de compilação de artefactos, pode estar a usar a análise de código para ajudar a proteger-se contra vulnerabilidades comuns e a exposição não intencional da rede, bem como a assinatura de código para ajudar a garantir que apenas o código fidedigno é executado nos seus ambientes.
Implemente artefactos no seu ambiente de origem. Depois de gerar artefactos implementáveis, pode implementá-los no seu ambiente de origem. Recomendamos que avalie cada processo de implementação. A avaliação ajuda a garantir que os seus processos de implementação são compatíveis com o Google Cloud. Também ajuda a compreender o esforço necessário para, eventualmente, refatorar os processos. Por exemplo, se os seus processos de implementação funcionarem apenas com o ambiente de origem, pode ter de refatorá-los para segmentar o ambiente de destino. Google Cloud
Injetar configuração de tempo de execução. Pode estar a injetar a configuração de tempo de execução para clusters, ambientes de tempo de execução ou implementações de cargas de trabalho específicos. A configuração pode inicializar variáveis de ambiente e outros valores de configuração, como segredos, credenciais e chaves. Para ajudar a garantir que os processos de injeção de configuração de tempo de execução funcionam no Google Cloud, recomendamos que avalie como está a configurar as cargas de trabalho que são executadas no seu ambiente de origem.
Registo, monitorização e criação de perfis. Avalie os processos de registo, monitorização e criação de perfis que tem implementados para monitorizar o estado do ambiente de origem, as métricas de interesse e a forma como está a consumir os dados fornecidos por estes processos.
Autenticação. Avalie a forma como está a fazer a autenticação no seu ambiente de origem.
Aprovisione e configure os seus recursos. Para preparar o ambiente de origem, pode ter concebido e implementado processos que aprovisionam e configuram recursos. Por exemplo, pode estar a usar o Terraform juntamente com ferramentas de gestão de configuração para aprovisionar e configurar recursos no seu ambiente de origem.
Planeie e crie a sua base
Na fase de planeamento e criação, aprovisiona e configura a infraestrutura para fazer o seguinte:
- Suporte as suas cargas de trabalho no seu Google Cloud ambiente.
- Ligue o ambiente de origem e o ambiente Google Cloud para concluir a migração.
A fase de planeamento e criação é composta pelas seguintes tarefas:
- Crie uma hierarquia de recursos.
- Configure Google Cloud's Identity and Access Management (IAM).
- Configure a faturação
- Configure a conetividade de rede.
- Reforce a sua segurança.
- Configure o registo, a monitorização e os alertas.
Para mais informações sobre cada uma destas tarefas, consulte o artigo Migre para o Google Cloud: planeie e crie a sua base.
Migre as suas cargas de trabalho
Para migrar as suas cargas de trabalho do Amazon EC2 para o Compute Engine, faça o seguinte:
- Migre VMs do Amazon EC2 para o Compute Engine.
- Migre os discos da VM para o disco persistente.
- Exponha cargas de trabalho executadas no Compute Engine a clientes.
- Refatore os processos de implementação e operacionais para segmentar o Google Cloud em vez de segmentar o Amazon EC2.
As secções seguintes fornecem detalhes sobre cada uma destas tarefas.
Migre as suas VMs para o Compute Engine
Para migrar VMs do Amazon EC2 para o Compute Engine, recomendamos que use o Migrate to Virtual Machines, que é um serviço totalmente gerido. Para mais informações, consulte o artigo Percurso de migração com a ferramenta Migrate to VMs.
Como parte da migração, o Migrate for VMs migra as instâncias do Amazon EC2 no respetivo estado atual, exceto as alterações de configuração necessárias. Se as suas instâncias do Amazon EC2 executarem AMIs do Amazon EC2 personalizadas, o Migrate for VMs migra estas personalizações para instâncias do Compute Engine. No entanto, se quiser tornar a sua infraestrutura reproduzível, pode ter de aplicar personalizações equivalentes criando imagens do sistema operativo do Compute Engine como parte dos seus processos de implementação e operacionais, conforme explicado mais adiante neste documento.
Migre os discos da VM para o disco persistente
Também pode usar o Migrate to VMs para migrar discos das suas VMs do Amazon EC2 de origem para o disco persistente, com interrupções mínimas nas cargas de trabalho que estão a ser executadas nas VMs do Amazon EC2. Para mais informações, consulte o artigo Migre discos de VMs e anexe-os a uma nova VM.
Por exemplo, pode migrar um disco de dados associado a uma VM do Amazon EC2 para um disco persistente e associá-lo a uma nova VM do Compute Engine.
Exponha cargas de trabalho executadas no Compute Engine
Depois de migrar as suas instâncias do Amazon EC2 para instâncias do Compute Engine, pode ter de aprovisionar e configurar o seu ambiente para expor as cargas de trabalho aos clientes. Google Cloud
AGoogle Cloud oferece serviços e produtos seguros e fiáveis para expor as suas cargas de trabalho aos clientes. Para cargas de trabalho executadas nas suas instâncias do Compute Engine, configura recursos para as seguintes categorias:
- Firewalls
- Balanceamento de carga de tráfego
- Nomes, zonas e registos DNS
- Proteção DDoS e firewalls de aplicações Web
Para cada uma destas categorias, pode começar por implementar uma configuração de base semelhante à forma como configurou os serviços e os recursos da AWS na categoria equivalente. Em seguida, pode iterar na configuração e usar funcionalidades adicionais fornecidas pelos serviços. Google Cloud
As secções seguintes explicam como aprovisionar e configurar Google Cloud recursos nestas categorias e como são mapeados para recursos da AWS em categorias semelhantes.
Firewalls
Se configurou grupos de segurança da AWS e políticas e regras da firewall de rede da AWS, pode configurar políticas e regras da firewall de nova geração da nuvem. Também pode aprovisionar regras do VPC Service Controls para regular o tráfego de rede dentro da sua VPC. Pode usar os VPC Service Controls para controlar o tráfego de saída das suas instâncias do Compute Engine e ajudar a mitigar o risco de exfiltração de dados.
Por exemplo, se usar grupos de segurança da AWS para permitir ou negar ligações às suas instâncias do Amazon EC2, pode configurar regras de firewall da nuvem privada virtual (VPC) semelhantes que se aplicam às suas instâncias do Compute Engine.
Se usar protocolos de acesso remoto, como SSH ou RDP, para estabelecer ligação às suas VMs do Amazon EC2, pode remover o endereço IP público da VM e estabelecer ligação à VM remotamente com o proxy com reconhecimento de identidade (IAP). O encaminhamento TCP do IAP permite-lhe estabelecer um túnel encriptado. Pode usar o túnel para encaminhar SSH, RDP e outro tráfego da Internet para VMs sem atribuir endereços IP públicos às VMs. Uma vez que as ligações do serviço IAP têm origem num intervalo de endereços IP públicos reservados, tem de criar regras de firewall da VPC correspondentes. Se tiver VMs baseadas no Windows e tiver ativado a Firewall do Windows, verifique se a Firewall do Windows não está configurada para bloquear ligações RDP do IAP. Para mais informações, consulte o artigo Resolução de problemas do RDP.
Balanceamento de carga de tráfego
Se configurou o Elastic Load Balancing (ELB) no seu ambiente da AWS, pode configurar o balanceamento de carga da nuvem para distribuir o tráfego de rede e ajudar a melhorar a escalabilidade das suas cargas de trabalho no Google Cloud. O Cloud Load Balancing suporta vários produtos de balanceamento de carga globais e regionais que funcionam em diferentes camadas do modelo OSI, como na camada de transporte e na camada de aplicação. Pode escolher um produto de equilíbrio de carga adequado aos requisitos das suas cargas de trabalho.
O Cloud Load Balancing também suporta a configuração do Transport Layer Security (TLS) para encriptar o tráfego de rede. Quando configura o TLS para o Cloud Load Balancing, pode usar certificados TLS autogeridos ou geridos pela Google, consoante os seus requisitos.
Nomes, zonas e registos DNS
Se usar o Amazon Route 53 no seu ambiente AWS, pode usar o seguinte em Google Cloud:
- Cloud Domains para registar os seus domínios DNS.
- Cloud DNS para gerir as suas zonas de DNS públicas e privadas e os seus registos de DNS.
Por exemplo, se registou um domínio através do Amazon Route 53, pode transferir o registo do domínio para o Cloud Domains. Da mesma forma, se configurou zonas DNS públicas e privadas através do Amazon Route 53, pode migrar essa configuração para o Cloud DNS.
Proteção contra DDoS e firewalls de aplicações Web
Se configurou o AWS Shield e o AWS WAF no seu ambiente AWS, pode usar o Google Cloud Armor para ajudar a proteger as suas cargas de trabalho Google Cloud contra ataques DDoS e explorações comuns.
Refatore os processos de implementação e operacionais
Depois de refatorar as cargas de trabalho, refatore os processos de implementação e operacionais para fazer o seguinte:
- Aprovisione e configure recursos no seu Google Cloud ambiente em vez de aprovisionar recursos no seu ambiente de origem.
- Crie e configure cargas de trabalho e implemente-as no Google Cloud em vez de as implementar no seu ambiente de origem.
Recolheu informações sobre estes processos durante a fase de avaliação anteriormente neste processo.
O tipo de refatoração que tem de considerar para estes processos depende de como os concebeu e implementou. A refatoração também depende do estado final que quer para cada processo. Por exemplo, considere o seguinte:
- Pode ter implementado estes processos no seu ambiente de origem e pretender criar e implementar processos semelhantes no Google Cloud. Por exemplo, pode refatorar estes processos para usar o Cloud Build, o Cloud Deploy e o Infrastructure Manager.
- Pode ter implementado estes processos noutro ambiente de terceiros fora do seu ambiente de origem. Neste caso, tem de refatorar estes processos para segmentar o seu ambiente Google Cloud em vez do ambiente de origem.
- Uma combinação das abordagens anteriores.
A refatoração dos processos de implementação e operacionais pode ser complexa e exigir um esforço significativo. Se tentar realizar estas tarefas como parte da migração da carga de trabalho, a migração da carga de trabalho pode tornar-se mais complexa e expô-lo a riscos. Depois de avaliar a implementação e os processos operacionais, é provável que compreenda o respetivo design e complexidade. Se estimar que precisa de um esforço substancial para refatorar a implementação e os processos operacionais, recomendamos que considere refatorar estes processos como parte de um projeto separado e dedicado.
Para mais informações sobre como conceber e implementar processos de implementação no Google Cloud, consulte:
- Migre para Google Cloud: implemente as suas cargas de trabalho
- Migre para Google Cloud: migre de implementações manuais para implementações automatizadas em contentores
Este documento centra-se nos processos de implementação que produzem os artefactos a implementar e implementam-nos no ambiente de tempo de execução de destino. A estratégia de refatoração depende muito da complexidade destes processos. A lista seguinte descreve uma possível estratégia de refatoração geral:
- Aprovisione repositórios de artefactos em Google Cloud. Por exemplo, pode usar o Artifact Registry para armazenar artefactos e criar dependências.
- Refatore os processos de compilação para armazenar artefactos no ambiente de origem e no Artifact Registry.
- Refatore os processos de implementação para implementar as cargas de trabalho no ambiente de destinoGoogle Cloud . Por exemplo, pode começar por implementar um pequeno subconjunto das suas cargas de trabalho no Google Cloud, usando artefactos armazenados no Artifact Registry. Em seguida, aumenta gradualmente o número de cargas de trabalho implementadas em Google Cloudaté que todas as cargas de trabalho a migrar sejam executadas emGoogle Cloud.
- Refatore os processos de compilação para armazenar artefactos apenas no Artifact Registry.
- Se necessário, migre versões anteriores dos artefactos para implementação a partir dos repositórios no ambiente de origem para o Artifact Registry. Por exemplo, pode copiar imagens de contentores para o Artifact Registry.
- Desative os repositórios no seu ambiente de origem quando já não precisar deles.
Para facilitar as reversões eventuais devido a problemas inesperados durante a migração, pode armazenar imagens de contentores nos seus repositórios de artefactos atuais enquanto a migração para o Google Container Registry estiver em curso. Google Cloud Google Cloud Por último, como parte da desativação do ambiente de origem, pode refatorar os processos de criação de imagens de contentores para armazenar artefactosGoogle Cloud apenas.
Embora possa não ser crucial para o sucesso de uma migração, pode ter de migrar as versões anteriores dos seus artefactos do ambiente de origem para os repositórios de artefactos no Google Cloud. Por exemplo, para suportar a reversão das suas cargas de trabalho para pontos arbitrários no tempo, pode ter de migrar versões anteriores dos seus artefactos para o Artifact Registry. Para mais informações, consulte Migre imagens de um registo de terceiros.
Se estiver a usar o Artifact Registry para armazenar os seus artefactos, recomendamos que configure controlos para ajudar a proteger os seus repositórios de artefactos, como o controlo de acesso, a prevenção de exfiltração de dados, a análise de vulnerabilidades e a autorização binária. Para mais informações, consulte o artigo Controle o acesso e proteja os artefactos.
Otimize o seu Google Cloud ambiente
A otimização é a última fase da migração. Nesta fase, itera nas tarefas de otimização até que o ambiente de destino cumpra os requisitos de otimização. Os passos de cada iteração são os seguintes:
- Avalie o seu ambiente, equipas e ciclo de otimização atuais.
- Estabeleça os seus requisitos e objetivos de otimização.
- Otimize o seu ambiente e as suas equipas.
- Ajuste o ciclo de otimização.
Repete esta sequência até atingir os seus objetivos de otimização.
Para mais informações sobre a otimização do seu Google Cloud ambiente, consulte Migrar para Google Cloud: otimize o seu ambiente e Google Cloud Framework bem arquitetado: otimização do desempenho.
O que se segue?
- Leia acerca de outras migrações da AWS para Google Cloud .
- Saiba como comparar os serviços da AWS e do Azure com os serviços Google Cloud Google Cloud.
- Saiba quando encontrar ajuda para as suas migrações.
- Para ver mais arquiteturas de referência, diagramas e práticas recomendadas, explore o Centro de arquitetura na nuvem.
Colaboradores
Autor: Marco Ferrari | Arquiteto de soluções na nuvem