Google Cloud proporciona herramientas, productos, orientación y servicios profesionales para migrar de Amazon Elastic Kubernetes Service (Amazon EKS) a Google Kubernetes Engine (GKE). En este documento, encontrarás ayuda para diseñar, implementar y validar un plan para migrar de Amazon EKS a GKE. En este documento, también se proporciona orientación si estás evaluando la posibilidad de migrar y deseas explorar cómo podría ser la migración. Además de ejecutarse en Amazon Elastic Compute Cloud (Amazon EC2), Amazon EKS tiene algunas otras opciones de implementación, como Amazon EKS en los resultados de AWS y Amazon EKS en cualquier lugar. Este documento se centra en Amazon EKS en EC2.
Este documento pertenece a una serie de varias partes sobre la migración de AWS a Google Cloud que incluye los siguientes documentos:
- Comenzar
- Migra de Amazon EC2 a Compute Engine
- Migra de Amazon S3 a Cloud Storage
- Migra de Amazon EKS a Google Kubernetes Engine (este documento)
- Migra de Amazon RDS para SQL Server a Cloud SQL para SQL Server
En esta serie, suponemos que leíste los siguientes documentos y los conoces:
- Migra a Google Cloud: Comienza ahora, que describe el framework general que sigues en esta migración.
- Migra a Google Cloud: Prácticas recomendadas para validar un plan de migración, que describe posibles cambios y mejoras en tu plan de migración.
En el siguiente diagrama, se ilustra la ruta del recorrido de tu migración. Para las situaciones de migración, la fase de implementación es equivalente a realizar un proceso de migración.
Puedes migrar de Amazon EKS a GKE en una serie de iteraciones. Por ejemplo, puedes migrar algunas cargas de trabajo primero y otras después. Para cada iteración de migración independiente, debes seguir las fases del framework de migración general:
- Evalúa y descubre las cargas de trabajo y los datos.
- Planifica y compila una base en Google Cloud.
- Migra tus cargas de trabajo y datos a Google Cloud.
- Optimiza tu entorno de Google Cloud.
Para obtener más información sobre las fases de este framework, consulta Migra a Google Cloud: Comienza ahora.
Evalúa el entorno de origen|
En la fase de evaluación, determinarás los requisitos y las dependencias de los recursos que deseas migrar de Amazon EKS a GKE.
La fase de evaluación consta de las siguientes tareas:
- Crea un inventario integral de tus cargas de trabajo y datos.
- Cataloga tus cargas de trabajo y datos según sus propiedades y dependencias.
- Capacita y educa a tus equipos en Google Cloud.
- Crea experimentos y pruebas de concepto en Google Cloud.
- Calcula el costo total de propiedad (TCO) del entorno de destino.
- Decide el orden y la prioridad de las cargas de trabajo que deseas migrar.
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 tus inventarios
Para definir el alcance de tu migración, crea dos inventarios: uno de tus clústeres de Amazon EKS y una de las cargas de trabajo que se implementan en esos clústeres. Después de compilar estos inventarios, evalúa los procesos operativos y de implementación para implementar cargas de trabajo en los clústeres.
Crea el inventario de tus clústeres y cargas de trabajo de Amazon EKS
Para compilar el inventario de tus clústeres de Amazon EKS, te recomendamos que uses Migration Center, la plataforma unificada de Google Cloud que 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 EKS y otros recursos de AWS. Luego, Migration Center recomienda los servicios de Google Cloud relevantes a los que puedes migrar.
Cuando compilas el inventario de tus clústeres de Amazon EKS, es posible que algunos de ellos deban retirarse como parte de tu migración. Asegúrate de que tu plan de migración incluya la eliminación de esos recursos.
Es posible que los datos que proporciona 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, considera los siguientes datos para cada clúster de Amazon EKS que desees migrar:
- Sigue las instrucciones en la sección Compila tus inventarios de “Migra Kubernetes a GKE”. En ese documento, se describe cómo compilar los inventarios de los clústeres y cargas de trabajo de Kubernetes. También se aplica a la compilación del inventario de tus entornos de Amazon EKS.
- Considera los aspectos y las funciones específicas de Amazon EKS para cada clúster de Amazon EKS, incluidos los siguientes:
- Clústeres privados
- Control de acceso al extremo del clúster
- Encriptación de secretos
- Grupos de nodos administrados y nodos autoadministrados
- Etiquetas en los recursos de Amazon EKS
- AMIs personalizadas de Amazon en EKS
- Uso de Amazon EKS Fargate
- Uso de Prometheus administrado de Amazon EKS
- Configuración de autenticación de OpenID Connect
- Evalúa cómo te autenticas en los clústeres de Amazon EKS y cómo configuraste AWS Identity and Access Management (IAM) para Amazon EKS.
- Evalúa la configuración de red de tus clústeres de Amazon EKS.
- Evalúa los requisitos normativos y de cumplimiento, y si cumples con estos.
Evalúa los procesos operativos y de implementación
Después de compilar los inventarios de los clústeres y cargas de trabajo de Amazon EKS, te recomendamos que evalúes 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í.
Los procesos operativos y de implementación pueden 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 una aplicación, una imagen de sistema operativo, una imagen de contenedor o algo más.
Además del tipo de artefacto, considera cómo completar las siguientes tareas:
- Genera los artefactos que implementes en Amazon EKS. Para implementar tus cargas de trabajo en Amazon EKS, es posible que generes artefactos implementables, como las imágenes de contenedor. 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 en Google Cloud. Por ejemplo, si produces artefactos que almacenas en un registro de artefactos en AWS, debes hacer que los artefactos estén disponibles en tu entorno de Google Cloud. Puedes hacerlo mediante el uso de estrategias como las siguientes:
- Establece un canal de comunicación entre los entornos: Haz que los artefactos en tu entorno de origen sean accesibles desde el entorno de Google Cloud de destino. Esto te ayuda a prepararte para el uso futuro de Artifact Registry.
- Refactoriza el proceso de compilación de artefactos: Completa una pequeña refactorización de tu entorno de origen para que puedas almacenar artefactos en el entorno de origen y en el de destino. Este enfoque admite la migración mediante la compilación de una infraestructura como un repositorio de artefactos antes de implementar procesos de compilación de artefactos en el entorno de Google Cloud de destino. Puedes implementar este enfoque directamente o puedes basarte en el enfoque anterior para establecer un canal de comunicación primero.
- Implementa artefactos en tus clústeres de Amazon EKS. Después de generar artefactos implementables, es posible que los implementes en Amazon EKS. 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 funcionan solo con Amazon EKS, es posible que debas refactorizarlos para que se orienten a tu entorno de Google Cloud.
- Incorpora la configuración del entorno de ejecución. Es posible que inyectes una configuración del entorno de ejecución para clústeres específicos de Amazon EKS, entornos de ejecución o implementaciones de cargas de trabajo. 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 Amazon EKS.
Después de evaluar los procesos operativos y de implementación, también te recomendamos evaluar cómo estos procesos pueden facilitar la migración a Google Cloud y cómo te ayudan a reducir el alcance y el riesgo de la migración.
Completa la evaluación
Después de compilar los inventarios de tu entorno de Amazon S3, completa el resto de las actividades de la fase de evaluación como se describe en Migra a Google Cloud: Evalúa y descubre tus cargas de trabajo.
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:
- Admitir tus cargas de trabajo en tu entorno de Google Cloud.
- Conectar tu entorno de AWS y tu entorno de Google Cloud para completar la migración.
Compila tu base en Google Cloud
La fase de planificación y compilación se compone de las siguientes tareas:
- Compila una jerarquía de recursos.
- Configura Identity and Access Management (IAM) de Google Cloud.
- Configura la facturación.
- Configura la conectividad de red.
- Endurece tu seguridad.
- Configurar el registro, la supervisión y las alertas
Para obtener más información sobre cada una de estas tareas, consulta la sección Planifica y compila tu base en “Migra contenedores a Google Cloud: migra Kubernetes a GKE”.
Migra tus datos y, luego, implementa cargas de trabajo
En la fase de implementación, debes realizar las siguientes tareas:
- Aprovisionar y configurar tu entorno de GKE.
- Configurar tus clústeres de GKE.
- Migrar datos de tu entorno de origen a Google Cloud.
- Implementar tus cargas de trabajo en tu entorno de GKE.
- Validar las cargas de trabajo.
- Exponer las cargas de trabajo que se ejecutan en GKE.
- Cambiar el tráfico del entorno de origen al entorno de GKE.
- Retirar de servicio el entorno de origen.
Para obtener información sobre cómo completar cada una de estas tareas, consulta la sección Implementa tus cargas de trabajo en “Migra contenedores a Google Cloud: Migra Kubernetes a GKE”. En las siguientes secciones, se integran las consideraciones de ese documento.
Migrar datos
La sección Migra datos en “Migra contenedores a Google Cloud: Migra Kubernetes a GKE” contiene información sobre la migración de datos de un entorno genérico de Kubernetes a GKE. Las recomendaciones de esa sección se aplican a la migración de datos de Amazon EKS a GKE. Para planificar tu migración, integra la información genérica del entorno del documento vinculado en las siguientes secciones, que son específicas de la migración de datos de Amazon EKS a GKE.
AWS ofrece varias opciones de almacenamiento de datos para Amazon EKS. Este documento se centra en las siguientes situaciones de migración de datos:
- Migra datos de volúmenes de Amazon EBS a los recursos
PersistentVolume
de GKE. - Copia datos de los volúmenes de Amazon EBS a Amazon S3 o a Cloud Storage y, luego, migra los datos a los recursos
PersistentVolume
de GKE.
Migra datos de volúmenes de Amazon EBS a PersistentVolumes de GKE
Puedes migrar datos de volúmenes de Amazon EBS a los recursos PersistentVolume
de GKE mediante uno de los siguientes enfoques:
- Copia directamente los datos de los volúmenes de Amazon EBS a los discos persistentes de Compute Engine:
- Aprovisiona las instancias de Amazon EC2 y adjunta los volúmenes de Amazon EBS que contienen los datos que se migrarán.
- Aprovisiona las instancias de Compute Engine con discos persistentes vacíos que tengan capacidad suficiente para almacenar los datos que se migrarán.
- Ejecuta una herramienta de sincronización de datos, como rsync, para copiar datos de los volúmenes de Amazon EBS a los discos persistentes de Compute Engine.
- Desconecta los discos persistentes de las instancias de Compute Engine.
- Inhabilita las instancias de Compute Engine.
- Configura los discos persistentes como recursos
PersistentVolume
de GKE.
- Migra las instancias de Amazon EC2 y los volúmenes de Amazon EBS a Compute Engine:
- Aprovisiona las instancias de Amazon EC2 y adjunta los volúmenes de Amazon EBS que contienen los datos que se migrarán.
- Migra las instancias de Amazon EC2 y los volúmenes de Amazon EBS a Compute Engine con Migrate for Virtual Machines.
- Desconecta los discos persistentes de las instancias de Compute Engine.
- Inhabilita las instancias de Compute Engine.
- Configura los discos persistentes como recursos
PersistentVolume
de GKE.
Para obtener más información sobre la migración de instancias de Amazon EC2 a Compute Engine, consulta Migra de AWS a Google Cloud: Migra de Amazon EC2 a Compute Engine.
Para obtener más información sobre el uso de discos persistentes de Compute Engine como recursos PersistentVolume
de GKE, consulta Usa discos persistentes preexistentes como PersistentVolumes.
Copia datos de volúmenes de Amazon EBS a un medio provisional y migra a PersistentVolumes de GKE
En lugar de migrar directamente de volúmenes de Amazon EBS a los recursos PersistentVolume
de GKE, puedes usar un medio provisional, como un depósito de objetos:
- Sube datos de volúmenes de Amazon EBS a un medio provisional, como un bucket de Amazon S3 o un bucket de Cloud Storage.
- Descarga los datos del medio provisional a tus recursos
PersistentVolume
de GKE.
En ciertas situaciones, el uso de varios medios puede simplificar la transferencia de datos según tus configuraciones de red y seguridad. Por ejemplo, primero puedes subir los datos a un bucket de S3, luego copiarlos del bucket de S3 a un bucket de Cloud Storage y, por último, descargar los datos en tus volúmenes persistentes. Sin importar el enfoque que elijas, para garantizar una transición sin problemas mientras tomas en cuenta consideraciones importantes, te recomendamos que revises Migra de AWS a Google Cloud: migra de Amazon S3 a Cloud Storage.
Elige una opción de migración
La mejor opción de migración depende de tus necesidades y requisitos específicos, como las siguientes consideraciones:
- La cantidad de datos que necesitas migrar.
- Si tienes que migrar una pequeña cantidad de datos, como algunos archivos de datos, considera usar herramientas como rsync para copiar los datos directamente en los discos persistentes de Compute Engine. Esta opción es relativamente rápida, pero podría no ser adecuada para grandes cantidades de datos.
- Si tienes una gran cantidad de datos que migrar, considera usar Migrate to Virtual Machines para migrar los datos a Compute Engine. Esta opción es más compleja que copiar los datos directamente, pero es más confiable y escalable.
- El tipo de datos que necesitas migrar.
- Tu conectividad de red entre los entornos de origen y de destino.
- Si no puedes establecer la conectividad de red directa entre las instancias de AWS EC2 y Compute Engine, considera usar Amazon S3 o Cloud Storage para almacenar los datos de forma temporal mientras los migras a Compute Engine. Esta opción puede ser menos costosa porque no tendrás que mantener tus instancias de EC2 y Compute Engine en ejecución de manera simultánea.
- Tu cronograma de migración.
- Si tienes un ancho de banda de red limitado o una gran cantidad de datos y tu cronograma no es estricto, también puedes usar un Transfer Appliance para mover los datos desde De AWS a Google Cloud
Sin importar la opción que elijas, es importante que pruebes tu migración antes de iniciarla. Las pruebas te ayudarán a identificar cualquier problema potencial y te ayudarán a garantizar que la migración sea exitosa.
Optimiza tu entorno después de la migración
Cuando completas todas las fases de migración, la migración se considera finalizada. Sin embargo, es posible que tu entorno de GKE necesite más optimizaciones. Para obtener más información, consulta Migra Kubernetes a GKE: Optimiza tu entorno.
¿Qué sigue?
- Obtén información sobre otros recorridos de migración de AWS a Google Cloud.
- Obtén más información sobre cómo comparar los servicios de AWS y Azure con Google Cloud.
- Obtén información sobre cuándo encontrar ayuda para tus migraciones.
- Para obtener más información sobre las arquitecturas de referencia, los diagramas y las prácticas recomendadas, explora Cloud Architecture Center.