Migrar da AWS para o Google Cloud: migrar do Amazon EKS para o GKE

Last reviewed 2023-09-30 UTC

O Google Cloud fornece ferramentas, produtos, orientações e serviços profissionais para migrar do Amazon Elastic Kubernetes Service (Amazon EKS) para o Google Kubernetes Engine (GKE). Neste documento, ajudamos a projetar, implementar e validar um plano para migrar do Amazon EKS para o GKE. Este documento também fornece orientações se você estiver avaliando a oportunidade de migrar e quiser explorar como pode ser esse processo. Além de ser executado no Amazon Elastic Compute Cloud (Amazon EC2), o Amazon EKS tem algumas outras opções de implantação, como o Amazon EKS nas saídas da AWS e o Amazon EKS em qualquer lugar. Este documento se concentra no Amazon EKS no EC2.

Este documento faz parte de uma série com várias partes sobre migração da AWS para o Google Cloud que inclui os seguintes documentos:

Esta série presume que você leu e está familiarizado com os seguintes documentos:

No diagrama a seguir, confira o caminho da sua jornada de migração. Em cenários de migração, a fase de implantação é equivalente a executar um processo de migração.

Caminho de migração com quatro fases.

É possível migrar do Amazon EKS para o GKE em uma série de iterações. Por exemplo, é possível migrar algumas cargas de trabalho primeiro e outras mais tarde. Para cada iteração de migração separada, siga as fases do framework de migração geral:

  1. Avaliar e descobrir suas cargas de trabalho e seus dados.
  2. Planejar e criar uma base no Google Cloud.
  3. Migrar suas cargas de trabalho e seus dados para o Google Cloud.
  4. Otimizar seu ambiente do Google Cloud.

Para mais informações sobre as fases desse framework, consulte Migrar para o Google Cloud: primeiros passos.

Avaliar o ambiente de origem

Na fase de avaliação, você determina os requisitos e as dependências dos recursos que quer migrar do Amazon EKS para o GKE.

A fase de avaliação consiste nas tarefas a seguir:

  1. Crie um inventário abrangente de cargas de trabalho e dados.
  2. Catalogue suas cargas de trabalho e dados de acordo com as propriedades e dependências.
  3. Treine e instrua suas equipes no Google Cloud.
  4. Criar experimentos e provas de conceito no Google Cloud.
  5. Calcular o custo total de propriedade (TCO) do ambiente de destino.
  6. Decidir a ordem e a prioridade das cargas de trabalho que você quer migrar.

Para mais informações sobre a fase de avaliação e essas tarefas, consulte Migrar para o Google Cloud: avaliar e descobrir cargas de trabalho. As seções a seguir são baseadas nas informações desse documento.

Criar seus inventários

Para definir o escopo da migração, crie dois inventários: um dos clusters do Amazon EKS e uma das cargas de trabalho implantadas nesses clusters. Depois de criar esses inventários, avalie os processos operacionais e de implantação para implantar cargas de trabalho nos clusters.

Criar o inventário de clusters e cargas de trabalho do Amazon EKS

Para criar o inventário dos clusters do Amazon EKS, recomendamos que você use a Central de migração, a plataforma unificada do Google Cloud que ajuda a acelerar sua jornada de nuvem de ponta a ponta. do ambiente atual para o Google Cloud. A Central de migração permite importar dados do Amazon EKS e de outros recursos da AWS. Em seguida, a Central de migração recomenda serviços relevantes do Google Cloud para que você possa migrar.

Ao criar o inventário dos clusters do Amazon EKS, talvez você descubra que alguns dos clusters precisam ser desativados como parte da migração. Verifique se o plano de migração inclui a suspensão do uso desses recursos.

Os dados fornecidos pela Central de migração podem não capturar totalmente as dimensões em que você tem interesse. Nesse caso, é possível integrar esses dados aos resultados de outros mecanismos de coleta de dados criados com base em APIs e ferramentas de desenvolvedor da AWS e na interface de linha de comando da AWS.

Além dos dados recebidos da Central de migração, considere os seguintes pontos de dados para cada cluster do Amazon EKS que você quer migrar:

  • Siga as orientações na seção Criar seus inventários de "Como migrar o Kubernetes para o GKE". Nesse documento, descrevemos como criar os inventários dos clusters e das cargas de trabalho do Kubernetes. Também é aplicável à criação do inventário dos seus ambientes do Amazon EKS.
  • Considere aspectos e recursos específicos do Amazon EKS para cada cluster do Amazon EKS, incluindo:
    • Clusters particulares
    • Controle de acesso de endpoint do cluster
    • Criptografia do secret
    • Grupos de nós gerenciados e nós autogerenciados
    • Tags em recursos do Amazon EKS
    • AMIs personalizadas da Amazon no EKS
    • Uso do Amazon EKS Fargate
    • Uso do Prometheus gerenciado do Amazon EKS
    • Configuração da autenticação do OpenID Connect
  • Avalie como você está se autenticando nos clusters do Amazon EKS e como configurou o AWS Identity and Access Management (IAM) para o Amazon EKS.
  • Avalie a configuração de rede dos clusters do Amazon EKS.
  • Avalie todos os requisitos regulamentares e de conformidade e se você está atendendo a esses requisitos no momento.

Avaliar os processos operacionais e de implantação

Depois de criar os inventários dos clusters e cargas de trabalho do Amazon EKS, recomendamos que você avalie seus processos operacionais e de implantação. É fundamental ter um entendimento claro de como seus processos operacionais e de implantação funcionam. Eles são parte fundamental das práticas que preparam e mantêm o ambiente de produção e as cargas de trabalho executadas nele.

Os processos operacionais e de implantação podem criar os artefatos necessários para as cargas de trabalho funcionarem. Portanto, colete informações sobre cada tipo de artefato. Por exemplo, um artefato pode ser um pacote de sistema operacional, um pacote de implantação de aplicativo, uma imagem de sistema operacional, uma imagem de contêiner ou qualquer outra coisa.

Além do tipo de artefato, considere como você conclui as seguintes tarefas:

  • Gere os artefatos implantados no Amazon EKS. Para implantar suas cargas de trabalho no Amazon EKS, você pode gerar artefatos implantáveis, como imagens de contêiner. A coleta de informações sobre como você gera esses artefatos ajuda a garantir que os artefatos gerados sejam adequados para implantação no Google Cloud. Por exemplo, se você produzir artefatos que armazena em um Artifact Registry na AWS, precisará disponibilizar os artefatos no ambiente do Google Cloud. Para fazer isso, use estratégias como as seguintes:
    • Estabeleça um canal de comunicação entre os ambientes: torne os artefatos no ambiente de origem acessíveis pelo ambiente de destino do Google Cloud. Isso ajuda a se preparar para o uso final do Artifact Registry.
    • Refatorar o processo de compilação do artefato:conclua uma pequena refatoração do ambiente de origem para que seja possível armazenar artefatos nos ambientes de origem e de destino. Essa abordagem oferece suporte à migração por meio da criação de uma infraestrutura como um repositório de artefatos antes da implementação dos processos de compilação de artefatos no ambiente de destino do Google Cloud. É possível implementar essa abordagem diretamente ou aproveitar a abordagem anterior de estabelecer um canal de comunicação primeiro.
  • Implante artefatos nos clusters do Amazon EKS. Depois de gerar artefatos implantáveis, você pode implantá-los no Amazon EKS. Recomendamos que você avalie cada processo de implantação. A avaliação ajuda a garantir que os processos de implantação sejam compatíveis com o Google Cloud. Isso também ajuda você a entender o esforço necessário para refatorar os processos eventualmente. Por exemplo, se os processos de implantação funcionam apenas com o Amazon EKS, talvez seja necessário refatorá-los para segmentar seu ambiente do Google Cloud.
  • Injetar a configuração do ambiente de execução. Você pode estar injetando configuração de tempo de execução para clusters do Amazon EKS, ambientes de execução ou implantações de carga de trabalho específicos. A configuração pode inicializar variáveis de ambiente e outros valores de configuração, como secrets, credenciais e chaves. Para ajudar a garantir que os processos de injeção de configuração do ambiente de execução funcionem no Google Cloud, recomendamos que você avalie como está configurando atualmente as cargas de trabalho em execução no Amazon EKS.

Depois de avaliar seus processos operacionais e de implantação, também recomendamos avaliar como esses processos podem facilitar a migração para o Google Cloud e como eles ajudam a reduzir o escopo e o risco da migração.

Concluir a avaliação

Depois de criar os inventários do ambiente do Amazon EC2, conclua o restante das atividades da fase de avaliação, conforme descrito em Migrar para o Google Cloud: avaliar e descobrir cargas de trabalho.

Planejar e criar sua base

Na fase de planejamento e criação, você provisiona e configura a infraestrutura para fazer o seguinte:

  • Oferecer suporte às cargas de trabalho no ambiente do Google Cloud.
  • Conectar os ambientes da AWS e do Google Cloud para concluir a migração.

Criar sua base no Google Cloud

A fase de criação e planejamento é composta pelas seguintes tarefas:

  1. Criar uma hierarquia de recursos.
  2. Configurar o Identity and Access Management (IAM) do Google Cloud.
  3. configurar o faturamento
  4. Configurar a conectividade de rede.
  5. Aumentar sua segurança.
  6. Configurar a geração de registros, o monitoramento e os alertas.

Para mais informações sobre cada uma dessas tarefas, consulte a seção Planejar e criar a base em "Migrar contêineres para o Google Cloud: migrar o Kubernetes para o GKE".

Migrar dados e implantar cargas de trabalho

Na fase de implantação, faça o seguinte:

  1. Provisione e configure o ambiente do GKE.
  2. Configure os clusters do GKE.
  3. Migre dados do seu ambiente de origem para o Google Cloud.
  4. Implante as cargas de trabalho no ambiente do GKE.
  5. Valide suas cargas de trabalho.
  6. Exponha cargas de trabalho em execução no GKE.
  7. Desloque o tráfego do ambiente de origem para o ambiente do GKE.
  8. Desativar o ambiente de origem.

Para informações sobre como concluir cada uma dessas tarefas, consulte a seção Implantar suas cargas de trabalho em "Migrar contêineres para o Google Cloud: migrar o Kubernetes para o GKE". As seções a seguir integram as considerações nesse documento.

Migrar dados

A seção Migrar dados em "Migrar contêineres para o Google Cloud: migrar o Kubernetes para o GKE" contém informações sobre a migração de dados de um ambiente genérico do Kubernetes para o GKE. As recomendações nesta seção são aplicáveis à migração de dados do Amazon EKS para o GKE. Para planejar a migração, integre as informações genéricas do ambiente no documento vinculado com as seções a seguir específicas da migração de dados do Amazon EKS para o GKE.

A AWS oferece várias opções de armazenamento de dados para o Amazon EKS. Este documento se concentra nos seguintes cenários de migração de dados:

  • Migre dados de volumes do Amazon EBS para recursos PersistentVolume do GKE.
  • Copie dados dos volumes do Amazon EBS para o Amazon S3 ou para o Cloud Storage e migre os dados para os recursos PersistentVolume do GKE.

Migrar dados de volumes do Amazon EBS para PersistentVolumes do GKE

É possível migrar dados de volumes do Amazon EBS para recursos PersistentVolume do GKE usando uma das seguintes abordagens:

  • Copie dados diretamente dos volumes do Amazon EBS para os discos permanentes do Compute Engine:
    1. Provisione instâncias do Amazon EC2 e anexe os volumes do Amazon EBS que contêm os dados a serem migrados.
    2. Provisione instâncias do Compute Engine com discos permanentes vazios que tenham capacidade suficiente para armazenar os dados a serem migrados.
    3. Execute uma ferramenta de sincronização de dados, como o rsync, para copiar dados dos volumes do Amazon EBS para os discos permanentes do Compute Engine.
    4. Remover os discos permanentes das instâncias do Compute Engine.
    5. Desative as instâncias do Compute Engine.
    6. Configure os discos permanentes como recursos PersistentVolume do GKE.
  • Migre instâncias do Amazon EC2 e volumes do Amazon EBS para o Compute Engine:
    1. Provisione instâncias do Amazon EC2 e anexe os volumes do Amazon EBS que contêm os dados a serem migrados.
    2. Migre as instâncias do Amazon EC2 e os volumes do Amazon EBS para o Compute Engine com o Migrate for Virtual Machines.
    3. Remover os discos permanentes das instâncias do Compute Engine.
    4. Desative as instâncias do Compute Engine.
    5. Configure os discos permanentes como recursos PersistentVolume do GKE.

Para mais informações sobre como migrar instâncias do Amazon EC2 para o Compute Engine, consulte Migrar da AWS para o Google Cloud: migrar do Amazon EC2 para o Compute Engine.

Para mais informações sobre o uso de discos permanentes do Compute Engine como recursos do PersistentVolume GKE, consulte Como usar discos permanentes preexistentes como PersistentVolumes.

Copiar dados de volumes do Amazon EBS para uma mídia provisória e migrar para PersistentVolumes do GKE

Em vez de migrar diretamente dos volumes do Amazon EBS para os recursos PersistentVolume do GKE diretamente, é possível usar uma mídia provisória, como um armazenamento de objetos:

  1. Faça upload de dados de volumes do Amazon EBS para uma mídia temporária, como um bucket do Amazon S3 ou do Cloud Storage.
  2. Faça o download dos dados da mídia provisória para seus recursos PersistentVolume do GKE.

Em determinados cenários, o uso de várias mídias pode simplificar a transferência de dados com base nas configurações de rede e segurança. Por exemplo, é possível fazer o upload inicial dos dados para um bucket do S3, copiá-los desse bucket para um bucket do Cloud Storage e, por fim, fazer o download dos dados para os volumes permanentes. Seja qual for a abordagem escolhida, para garantir uma transição tranquila enquanto observa considerações importantes, recomendamos que você consulte Migrar da AWS para o Google Cloud: migrar do Amazon S3 para o Cloud Storage.

Escolha uma opção de migração

A melhor opção de migração depende das suas necessidades e requisitos específicos, como as considerações a seguir:

  • A quantidade de dados que você precisa migrar.
    • Se você tiver uma pequena quantidade de dados para migrar, como alguns arquivos de dados, use ferramentas como o rsync para copiar os dados diretamente nos discos permanentes do Compute Engine. Essa opção é relativamente rápida, mas pode não ser adequada para uma grande quantidade de dados.
    • Se você tiver uma grande quantidade de dados para migrar, use o Migrate to Virtual Machines para migrar os dados para o Compute Engine. Essa opção é mais complexa do que copiar dados diretamente, mas é mais confiável e escalável.
  • O tipo de dados que você precisa migrar.
  • Sua conectividade de rede entre os ambientes de origem e de destino.
    • Se você não conseguir estabelecer a conectividade de rede direta entre as instâncias do AWS EC2 e do Compute Engine, use o Amazon S3 ou o Cloud Storage para armazenar os dados temporariamente durante a migração para o Compute Engine. Essa opção pode ser mais barata porque não será necessário manter as instâncias do EC2 e do Compute Engine em execução simultaneamente.
  • Seu cronograma de migração.
    • Se você tiver uma largura de banda de rede limitada ou uma grande quantidade de dados e sua linha do tempo não estiver limitada, considere usar um Transfer Appliance para mover os dados do AWS para Google Cloud.

Independente da opção escolhida, é importante testar a migração antes de ativá-la. Eles ajudam a identificar possíveis problemas e a garantir que a migração seja bem-sucedida.

Otimizar o ambiente após a migração

Quando você terminar todas as fases de migração, a migração será considerada concluída. No entanto, seu ambiente do GKE pode precisar de mais otimizações. Para mais informações, consulte Migrar o Kubernetes para o GKE: otimizar o ambiente.

A seguir