Migra de AWS a Google Cloud: Migra de Amazon EC2 a Compute Engine

Last reviewed 2024-11-20 UTC

Google Cloud proporciona herramientas, productos, orientación y servicios profesionales para migrar máquinas virtuales (VMs) junto con sus datos de Amazon Elastic Compute Cloud (Amazon EC2) a Compute Engine. En este documento, se analiza cómo diseñar, implementar y validar un plan para migrar de Amazon EC2 a Compute Engine.

El debate de este documento está dirigido a los administradores de la nube que deseen obtener detalles sobre cómo planificar e implementar un proceso de migración. También está dirigido a los encargados de tomar decisiones que evalúan la oportunidad de migrar y que desean explorar cómo podría ser la migración.

Este documento es parte de una serie de varias partes sobre la migración de AWS aGoogle Cloud que incluye los siguientes documentos:

Para esta migración a Google Cloud, te recomendamos que sigas el framework de migración que se describe en Migra a Google Cloud: Comienza ahora.

En el siguiente diagrama, se ilustra la ruta del recorrido de tu migración.

Ruta de migración con cuatro fases

Puedes migrar de tu entorno de origen a Google Cloud en una serie de iteraciones, por ejemplo, puedes migrar algunas cargas de trabajo primero y otras más tarde. Para cada iteración de migración independiente, debes seguir las fases del framework de migración general:

  1. Evalúa y descubre las cargas de trabajo y los datos.
  2. Planifica y compila una base en Google Cloud.
  3. Migra tus cargas de trabajo y datos a Google Cloud.
  4. Optimiza tu Google Cloud entorno.

Para obtener más información sobre las fases de este framework, consulta Migra a Google Cloud: Comienza ahora.

Para diseñar un plan de migración eficaz, te recomendamos que valides cada paso del plan y te asegures de tener una estrategia de reversión. Para ayudarte a validar tu plan de migración, consulta Migra a Google Cloud: prácticas recomendadas para validar un plan de migración.

Evalúa el entorno de origen|

En la fase de evaluación, determinarás los requisitos y las dependencias para migrar tu entorno de origen a Google Cloud.

La fase de evaluación es fundamental para el éxito de la migración. Debes obtener un conocimiento profundo sobre las cargas de trabajo que deseas migrar, sus requisitos, sus dependencias y tu entorno actual. Debes saber cuál es tu punto de partida para planificar y ejecutar de forma correcta una migración de Google Cloud.

La fase de evaluación consta de las siguientes tareas:

  1. Crea un inventario completo de tus aplicaciones.
  2. Cataloga tus cargas de trabajo según sus propiedades y dependencias.
  3. Capacita y educa a tus equipos sobre Google Cloud.
  4. Crea experimentos y pruebas de concepto en Google Cloud.
  5. Calcula el costo total de propiedad (TCO) del entorno de destino.
  6. Elige la estrategia de migración para tus cargas de trabajo.
  7. Elige tus herramientas de migración.
  8. Define el plan y el cronograma de migración.
  9. Valida tu plan de migración.

Para obtener más información sobre la fase de evaluación y estas tareas, consulta Migra a Google Cloud: Evalúa y descubre tus cargas de trabajo. Las siguientes secciones se basan en la información de ese documento.

Compila un inventario de tus instancias de Amazon EC2

Para definir el alcance de la migración, crea un inventario de tus instancias de Amazon EC2. Luego, puedes usar el inventario para evaluar los procesos operativos y de implementación a fin de implementar cargas de trabajo en esas instancias.

Para compilar el inventario de tus instancias de Amazon EC2, te recomendamos que uses Migration Center, la plataforma unificada deGoogle Cloudque te ayuda a acelerar tu recorrido a la nube de extremo a extremo de tu entorno actual a Google Cloud. Migration Center te permite importar datos desde Amazon EC2 y otros recursos de AWS. Luego, Migration Center recomienda los servicios de Google Cloud relevantes a los que puedes migrar.

Después de evaluar tu entorno con Migration Center, te recomendamos que generes un informe de evaluación de migración técnica mediante la CLI del cliente de descubrimiento de Migration Center. Si deseas obtener más información, consulta Recopila datos de invitado de instancias de Amazon EC2 para la evaluación sin conexión.

Es posible que los datos que proporcionan Migration Center y la CLI del cliente de descubrimiento de Migration Center no capturen por completo las dimensiones que te interesan. En ese caso, puedes integrar esos datos en los resultados de otros mecanismos de recopilación de datos que crees y que se basen en las APIs, las herramientas para desarrolladores y la interfaz de línea de comandos de AWS.

Además de los datos que obtienes de Migration Center y la CLI de cliente de descubrimiento de Migration Center, considera los siguientes datos para cada instancia de Amazon EC2 que deseas migrar:

  • Región y zona de implementación.
  • Tipo y tamaño de la instancia.
  • La imagen de máquina de Amazon (AMI) desde la que se inicia la instancia.
  • El nombre de host de la instancia y cómo otras instancias y cargas de trabajo usan este nombre de host para comunicarse con la instancia.
  • Las etiquetas de instancia, así como los metadatos y los datos del usuario.
  • El tipo de virtualización de instancias.
  • La opción de compra de instancias, como la compra según demanda o Spot.
  • Cómo la instancia almacena datos, como el uso de almacenes de instancias y volúmenes de Amazon EBS.
  • La configuración de usuario de la instancia.
  • Indica si la instancia se encuentra en un grupo de ubicaciones específico.
  • Indica si la instancia está en un grupo de ajuste de escala automático específico.
  • Los grupos de seguridad a los que pertenece la instancia.
  • Cualquier configuración de firewall de red de AWS que incluya la instancia.
  • Si las cargas de trabajo que se ejecutan en la instancia están protegidas por AWS Shield y AWS WAF.
  • Si controlas el estado del procesador de tu instancia y cómo las cargas de trabajo que se ejecutan en la instancia dependen del estado del procesador.
  • La configuración del programador de E/S de instancia.
  • Cómo expones las cargas de trabajo que se ejecutan en la instancia a los clientes que se ejecutan en tu entorno de AWS (como otras cargas de trabajo) y a clientes externos.

Evalúa los procesos operativos y de implementación

Es fundamental comprender claramente cómo funcionan los procesos operativos y de implementación. Estas son una parte fundamental de las prácticas que preparan y mantienen tu entorno de producción y las cargas de trabajo que se ejecutan allí.

Tus procesos operativos y de implementación podrían compilar los artefactos que tus cargas de trabajo necesitan para funcionar. Por lo tanto, debes recopilar información sobre cada tipo de artefacto. Por ejemplo, un artefacto puede ser un paquete de sistema operativo, un paquete de implementación de aplicación, una imagen de sistema operativo, una imagen de contenedor o cualquier otro elemento.

Además del tipo de artefacto, considera cómo completas las siguientes tareas:

  • Desarrolla tus cargas de trabajo. Evalúa los procesos que los equipos de desarrollo tienen implementados para compilar tus cargas de trabajo. Por ejemplo, ¿cómo diseñan, codifican y prueban tus cargas de trabajo tus equipos de desarrollo?
  • Genera los artefactos que implementes en tu entorno de origen. Para implementar tus cargas de trabajo en tu entorno de origen, es posible que generes artefactos implementables, como imágenes de contenedores o de sistemas operativos, o que personalices artefactos existentes, como imágenes de sistemas operativos de terceros, instalando y configurando software. La recopilación de información sobre cómo generas estos artefactos te ayuda a garantizar que los artefactos generados sean adecuados para la implementación enGoogle Cloud.
  • Almacena los artefactos. Si produces artefactos que almacenas en un registro de artefactos en tu entorno de origen, debes hacer que los artefactos estén disponibles en tu entorno de Google Cloud . Para ello, puedes emplear estrategias como las siguientes:

    • Establece un canal de comunicación entre los entornos: Haz que los artefactos de tu entorno de origen sean accesibles desde el entorno deGoogle Cloud destino.
    • Refactoriza el proceso de compilación de artefactos: Completa una refactorización menor de tu entorno de origen para que puedas almacenar artefactos en el entorno de origen y en el de destino. Este enfoque admite tu migración, ya que compila la infraestructura como un repositorio de artefactos antes de que tengas que implementar procesos de compilación de artefactos en el entorno Google Cloudde destino. Puedes implementar este enfoque directamente o basarte en el enfoque anterior de establecer un canal de comunicación primero.

    Tener artefactos disponibles en los entornos de origen y de destino te permite enfocarte en la migración sin tener que implementar procesos de compilación de artefactos en el entorno Google Cloud de destino como parte de la migración.

  • Escanea y firma el código. Como parte de los procesos de compilación de artefactos, es posible que uses el análisis de código para protegerte contra vulnerabilidades comunes y la exposición de red no deseada, y la firma de código para garantizar que solo se ejecute código de confianza en tus entornos.

  • Implementa artefactos en tu entorno de origen. Después de generar artefactos implementables, es posible que los implementes en tu entorno de origen. Te recomendamos que evalúes cada proceso de implementación. La evaluación ayuda a garantizar que tus procesos de implementación sean compatibles con Google Cloud. También te ayuda a comprender el esfuerzo que se necesitará para refactorizar los procesos con el tiempo. Por ejemplo, si tus procesos de implementación solo funcionan con tu entorno de origen, es posible que debas refactorizarlos para orientarlos a tu entorno de Google Cloud .

  • Incorpora la configuración del entorno de ejecución. Es posible que estés insertando una configuración del entorno de ejecución para clústeres, entornos de ejecución o implementaciones de cargas de trabajo específicos. La configuración puede inicializar variables de entorno y otros valores de configuración, como secretos, credenciales y claves. Para garantizar que los procesos de inserción de configuración del entorno de ejecución funcionen en Google Cloud, te recomendamos que evalúes cómo estás configurando las cargas de trabajo que se ejecutan en tu entorno de origen.

  • Registro, supervisión y generación de perfiles. Evalúa los procesos de registro, supervisión y generación de perfiles que tienes implementados para supervisar el estado de tu entorno de origen, las métricas de interés y cómo consumes los datos que proporcionan estos procesos.

  • Autenticación: Evalúa cómo te autenticas en tu entorno de origen.

  • Aprovisiona y configura tus recursos. Para preparar tu entorno de origen, es posible que hayas diseñado e implementado procesos que aprovisionen y configuren recursos. Por ejemplo, puedes usar Terraform junto con herramientas de administración de configuración para aprovisionar y configurar recursos en tu entorno de origen.

Planifica y compila tu base

En la fase de planificación y compilación, aprovisionarás y configurarás la infraestructura para hacer lo siguiente:

  • Admite tus cargas de trabajo en tu entorno de Google Cloud .
  • Conectar tu entorno de origen y tu entorno de Google Cloud para completar la migración

La fase de planificación y compilación se compone de las siguientes tareas:

  1. Compila una jerarquía de recursos.
  2. Configura la administración de identidades y accesos (IAM) de Google Cloud.
  3. Configura la facturación.
  4. Configura la conectividad de red.
  5. Endurece tu seguridad.
  6. Configurar el registro, la supervisión y las alertas

Para obtener más información sobre cada una de estas tareas, consulta Migra a Google Cloud: planifica y construye tu base.

Migra tus cargas de trabajo

Para migrar tus cargas de trabajo de Amazon EC2 a Compute Engine, debes hacer lo siguiente:

  1. Migrar las VMs de Amazon EC2 a Compute Engine
  2. Migra los discos de tu VM al disco persistente.
  3. Exponer las cargas de trabajo que se ejecutan en Compute Engine a los clientes
  4. Refactorizar los procesos operativos y de implementación para orientarlos aGoogle Cloud en lugar de Amazon EC2.

En las siguientes secciones, se proporcionan detalles sobre cada una de estas tareas.

Migrar tus VM a Compute Engine

Para migrar VMs de Amazon EC2 a Compute Engine, te recomendamos que uses Migrate to Virtual Machines, que es un servicio completamente administrado. Para obtener más información, consulta Proceso de migración con Migrate to VMs.

Como parte de la migración, Migrate for VMs migra las instancias de Amazon EC2 en su estado actual, además de los cambios de configuración necesarios. Si tus instancias de Amazon EC2 ejecutan AMI de Amazon EC2 personalizadas, Migrate for VMs migra estas personalizaciones a instancias de Compute Engine. Sin embargo, si quieres que tu infraestructura se pueda reproducir, es posible que debas aplicar personalizaciones equivalentes mediante la compilación de imágenes del sistema operativo de Compute Engine como parte de tus procesos operativos y de implementación, como se explica más adelante en este documento. También puedes importar tus AMI de Amazon EC2 a Compute Engine.

Migra los discos de tu VM a Persistent Disk

También puedes usar Migrate to VMs para migrar discos de tus VMs de Amazon EC2 de origen a Persistent Disk, con interrupciones mínimas en las cargas de trabajo que se ejecutan en las VMs de Amazon EC2. Para obtener más información, consulta Cómo migrar discos de VMs y conectarlos a una VM nueva.

Por ejemplo, puedes migrar un disco de datos conectado a una VM de Amazon EC2 a un disco persistente y conectarlo a una nueva VM de Compute Engine.

Expón cargas de trabajo que se ejecutan en Compute Engine

Después de migrar tus instancias de Amazon EC2 a las instancias de Compute Engine, es posible que debas aprovisionar y configurar tu entorno de Google Cloudpara exponer las cargas de trabajo a los clientes.

Google Cloud ofrece servicios y productos seguros y confiables para exponer las cargas de trabajo a los clientes. En las cargas de trabajo que se ejecutan en tus instancias de Compute Engine, configura recursos para las siguientes categorías:

  • Firewalls
  • Balanceo de cargas de tráfico
  • Nombres DNS, zonas y registros
  • Protección contra DDoS y firewalls de aplicaciones web

Para cada una de estas categorías, puedes comenzar por implementar una configuración de referencia similar a la forma en que configuraste los servicios y recursos de AWS en la categoría equivalente. Luego, puedes iterar en la configuración y usar funciones adicionales que proporcionan los servicios de Google Cloud .

En las siguientes secciones, se explica cómo aprovisionar y configurar recursos deGoogle Cloud en estas categorías y cómo se asignan a los recursos de AWS en categorías similares.

Firewalls

Si configuraste los grupos de seguridad de AWS y las políticas y reglas de firewall de red de AWS, puedes configurar las políticas y las reglas de firewall de nueva generación de Cloud. También puedes aprovisionar reglas de Controles del servicio de VPC para regular el tráfico de red dentro de tu VPC. Puedes usar los Controles del servicio de VPC para controlar el tráfico saliente de tus instancias de Compute Engine y ayudar a mitigar el riesgo de robo de datos.

Por ejemplo, si usas grupos de seguridad de AWS para permitir o denegar conexiones a tus instancias de Amazon EC2, puedes configurar reglas de firewall de nube privada virtual (VPC) similares que se apliquen a tus instancias de Compute Engine.

Si usas protocolos de acceso remoto, como SSH o RDP, para conectarte a tus VMs de Amazon EC2, puedes quitar la dirección IP pública de la VM y conectarte a ella de forma remota con Identity-Aware Proxy (IAP). El reenvío de TCP de IAP te permite establecer un túnel encriptado. Puedes usar el túnel para reenviar SSH, RDP y otro tráfico de Internet a las VMs sin asignarles direcciones IP públicas. Debido a que las conexiones del servicio de IAP provienen de un rango de direcciones IP públicas reservadas, debes crear reglas de firewall de VPC que coincidan. Si tienes VMs basadas en Windows y activaste el firewall de Windows, verifica que el firewall de Windows no esté configurado para bloquear las conexiones de RDP desde IAP. Para obtener más información, consulta Soluciona problemas de RDP.

Balanceo de cargas de tráfico

Si configuraste Elastic Load Balancing (ELB) en tu entorno de AWS, puedes configurar Cloud Load Balancing para distribuir el tráfico de red a fin de ayudar a mejorar la escalabilidad de tus cargas de trabajo en Google Cloud. Cloud Load Balancing admite varios productos de balanceo de cargas globales y regionales que funcionan en diferentes capas del modelo OSI, por ejemplo, en la capa de transporte y en la capa de la aplicación. Puedes elegir un producto de balanceo de cargas que sea adecuado para los requisitos de tus cargas de trabajo.

Cloud Load Balancing también admite la configuración de la seguridad de la capa de transporte (TLS) para encriptar el tráfico de red. Cuando configuras TLS para Cloud Load Balancing, puedes usar certificados TLS autoadministrados o administrados por Google, según tus requisitos.

Nombres DNS, zonas y registros

Si usas Amazon Route 53 en tu entorno de AWS, puedes usar lo siguiente en Google Cloud:

Por ejemplo, si registraste un dominio con Amazon Route 53, puedes transferir el registro de dominio a Cloud Domains. Del mismo modo, si configuraste zonas DNS públicas y privadas con Amazon Route 53, puedes migrar esa configuración a Cloud DNS.

Protección contra DSD y firewalls de aplicaciones web

Si configuraste AWS Shield y AWS WAF en tu entorno de AWS, puedes usar Google Cloud Armor para proteger tus cargas de trabajo de Google Cloud ataques de DDoS y vulnerabilidades comunes.

Refactoriza los procesos operativos y de implementación

Después de refactorizar tus cargas de trabajo, refactoriza tus procesos operativos y de implementación para que realicen las siguientes acciones:

  • Aprovisiona y configura recursos en tu entorno Google Cloud en lugar de aprovisionar recursos en tu entorno de origen.
  • Compila y configura cargas de trabajo, y, luego, impleméntalas en tu Google Clouden lugar de hacerlo en tu entorno de origen.

Recopilaste información sobre estos procesos durante la fase de evaluación antes en este proceso.

El tipo de refactorización que debes considerar para estos procesos depende de cómo los diseñaste y cómo los implementaste. La refactorización también depende de cuál sea el estado final de cada proceso. Por ejemplo, considera lo siguiente:

  • Es posible que hayas implementado estos procesos en tu entorno de origen y quieras diseñar e implementar procesos similares en Google Cloud. Por ejemplo, puedes refactorizar estos procesos para usar Cloud Build, Cloud Deploy y Infrastructure Manager.
  • Es posible que hayas implementado estos procesos en otro entorno de terceros fuera de tu entorno de origen. En este caso, debes refactorizar estos procesos para orientar tu entorno de Google Cloud en lugar del entorno de origen.
  • Una combinación de los enfoques anteriores.

La refactorización de los procesos operativos y de implementación puede ser complejo y puede requerir un esfuerzo significativo. Si intentas realizar estas tareas como parte de la migración de tu carga de trabajo, la migración puede volverse más compleja y exponerte a riesgos. Después de evaluar los procesos operativos y de implementación, es probable que comprendas el diseño y la complejidad. Si estimas que necesitas un esfuerzo sustancial para refactorizar tus procesos operativos y de implementación, te recomendamos que consideres la refactorización de estos procesos como parte de un proyecto independiente y dedicado.

Para obtener más información sobre cómo diseñar e implementar procesos de implementación en Google Cloud, consulta los siguientes vínculos:

En este documento, se enfocan los procesos de implementación que producen los artefactos para implementarlos y, luego, implementarlos en el entorno de ejecución de destino. La estrategia de refactorización depende en gran medida de la complejidad de estos procesos. En la siguiente lista, se describe una posible estrategia general de refactorización:

  1. Aprovisiona repositorios de artefactos en Google Cloud. Por ejemplo, puedes usar Artifact Registry para almacenar artefactos y compilar dependencias.
  2. Refactoriza tus procesos de compilación para almacenar artefactos en tu ambiente de origen y en Artifact Registry.
  3. Refactorizar tus procesos de implementación para implementar tus cargas de trabajo en tu entorno deGoogle Cloud de destino Por ejemplo, puedes comenzar por implementar un subconjunto pequeño de tus cargas de trabajo en Google Cloud, con artefactos almacenados en Artifact Registry. Luego, aumentas gradualmente la cantidad de cargas de trabajo implementadas en Google Cloud, hasta que todas las cargas de trabajo que se migrarán se ejecuten en Google Cloud.
  4. Refactoriza tus procesos de compilación para almacenar artefactos solo en Artifact Registry.
  5. Si es necesario, migra las versiones anteriores de los artefactos para implementarlos desde los repositorios de tu entorno de origen a Artifact Registry. Por ejemplo, puedes kopy las imágenes de contenedor a Artifact Registry.
  6. Inhabilita los repositorios de tu entorno de origen cuando ya no los necesites.

Para facilitar las posibles reversiones debido a problemas imprevistos durante la migración, puedes almacenar imágenes de contenedores en tus repositorios de artefactos actuales en Google Cloud mientras la migración a Google Cloud está en curso. Por último, como parte de la baja de tu entorno de origen, puedes refactorizar los procesos de compilación de imágenes de contenedor para almacenar artefactos solo en Google Cloud .

Aunque es posible que no sea fundamental para el éxito de una migración, es posible que debas migrar las versiones anteriores de tus artefactos desde tu entorno de origen a tus repositorios de artefactos en Google Cloud. Por ejemplo, para admitir la reversión de las cargas de trabajo a puntos arbitrarios en el tiempo, es posible que debas migrar versiones anteriores de tus artefactos a Artifact Registry. Para obtener más información, consulta Cómo migrar imágenes desde un registro de terceros.

Si usas Artifact Registry para almacenar tus artefactos, te recomendamos que configures controles para ayudarte a proteger tus repositorios de artefactos, como el control de acceso, la prevención de robo de datos, el análisis de vulnerabilidades y la autorización binaria. Para obtener más información, consulta Controla el acceso y protege los artefactos.

Optimiza tu Google Cloud entorno

La optimización es la última fase de la migración. En esta fase, iteras en tareas de optimización hasta que tu entorno de destino cumpla con tus requisitos de optimización. Los pasos de cada iteración son los siguientes:

  1. Evalúa tu entorno actual, los equipos y el ciclo de optimización.
  2. Establece tus requisitos y objetivos de optimización.
  3. Optimiza el entorno y los equipos.
  4. Ajustar el bucle de optimización

Repite esta secuencia hasta que hayas alcanzado tus objetivos de optimización.

Para obtener más información sobre cómo optimizar tu entorno de Google Cloud , consulta Migra a Google Cloud: Optimiza tu entorno y Marco de trabajo de la arquitectura deGoogle Cloud : Optimización del rendimiento.

¿Qué sigue?

Colaboradores

Autor: Marco Ferrari | Arquitecto de soluciones de nube