Migrer depuis AWS vers Google Cloud : migrer depuis Amazon EKS vers GKE

Last reviewed 2023-09-30 UTC

Google Cloud fournit des outils, des produits, des conseils et des services professionnels pour migrer d'Amazon Elastic Kubernetes Service (Amazon EKS) vers Google Kubernetes Engine (GKE). Ce document vous aide à concevoir, implémenter et valider un plan de migration d'Amazon EKS vers GKE. Il fournit également des conseils si vous étudiez l'opportunité d'effectuer une migration et si vous souhaitez découvrir à quoi elle pourrait ressembler. Outre l'exécution sur Amazon Elastic Compute Cloud (Amazon EC2), Amazon EKS propose quelques autres options de déploiement, telles que Amazon EKS sur AWS Outposts et Amazon EKS Anywhere. Ce document se concentre sur Amazon EKS sur EC2.

Ce document fait partie d'une série d'articles sur la migration depuis AWS vers Google Cloud, qui comprend les documents suivants :

Cette série suppose que vous avez lu et que vous connaissez les documents suivants :

Le diagramme suivant illustre le parcours de votre migration. Dans les scénarios de migration, la phase de déploiement correspond à l'exécution à proprement parler du processus de migration.

Chemin de migration en quatre phases

Vous pouvez migrer depuis Amazon EKS vers GKE dans une série d'itérations. Par exemple, vous pouvez commencer par migrer certaines charges de travail et en migrer d'autres ultérieurement. Pour chaque itération de migration distincte, vous suivez les phases du framework de migration général :

  1. Évaluer et découvrir vos charges de travail et vos données
  2. Planifier et établir vos fondations sur Google Cloud
  3. Migrer vos charges de travail et vos données vers Google Cloud
  4. Optimiser votre environnement Google Cloud

Pour en savoir plus sur les phases de ce framework, consultez la page Migrer vers Google Cloud : premiers pas.

Évaluer l'environnement source

Au cours de la phase d'évaluation, vous déterminez les exigences et les dépendances des ressources que vous souhaitez migrer depuis Amazon EKS vers GKE.

La phase d'évaluation comprend les tâches suivantes :

  1. Dresser un inventaire complet de vos charges de travail et de vos données
  2. Cataloguer vos charges de travail et vos données en fonction de leurs propriétés et de leurs dépendances
  3. Former et préparer vos équipes sur Google Cloud
  4. Créer des tests et des démonstrations de faisabilité sur Google Cloud
  5. Calculer le coût total de possession (TCO) de l'environnement cible
  6. Déterminer l'ordre et la priorité des charges de travail que vous souhaitez migrer

Pour en savoir plus sur la phase d'évaluation et ces tâches, consultez la page Migrer vers Google Cloud : évaluer et découvrir vos charges de travail. Les sections suivantes sont basées sur les informations de ce document.

Créer vos inventaires

Pour définir le champ d'application de votre migration, vous créez deux inventaires : l'un pour vos clusters Amazon EKS, l'autre pour les charges de travail déployées dans ces clusters. Une fois ces inventaires créés, vous évaluez vos processus de déploiement et opérationnels pour le déploiement de charges de travail dans les clusters.

Créer l'inventaire de vos clusters et charges de travail Amazon EKS

Pour créer l'inventaire de vos clusters Amazon EKS, nous vous recommandons d'utiliser le Centre de migration, la plate-forme unifiée de Google Cloud qui vous aide à accélérer votre transition vers le cloud de bout en bout, de votre environnement actuel vers Google Cloud. Le centre de migration vous permet d'importer des données depuis Amazon EKS et d'autres ressources AWS. Le centre de migration recommande ensuite des services Google Cloud pertinents vers lesquels migrer.

Lorsque vous créez l'inventaire de vos clusters Amazon EKS, vous pouvez constater que certains clusters doivent être mis hors service lors de votre migration. Assurez-vous que votre plan de migration inclut la suppression de ces ressources.

Les données fournies par le centre de migration peuvent ne pas capturer complètement les dimensions qui vous intéressent. Dans ce cas, vous pouvez intégrer ces données aux résultats d'autres mécanismes de collecte de données que vous créez et qui sont basés sur les API AWS, les outils pour les développeurs AWS et l'interface de ligne de commande AWS.

En plus des données obtenues à partir du centre de migration, tenez compte des points de données suivants pour chaque cluster Amazon EKS que vous souhaitez migrer :

  • Suivez les instructions de la section Créer vos inventaires de la page "Migrer Kubernetes vers GKE". Ce document explique comment créer les inventaires de vos clusters et charges de travail Kubernetes. Il s'applique également à la création de l'inventaire de vos environnements Amazon EKS.
  • Examinez les aspects et les fonctionnalités spécifiques à chaque cluster Amazon EKS, y compris les suivants :
    • Clusters privés
    • Contrôle des accès au point de terminaison du cluster
    • Chiffrement de secrets
    • Groupes de nœuds gérés et nœuds autogérés
    • Tags sur les ressources Amazon EKS
    • AMI Amazon personnalisées dans EKS
    • Utilisation d'Amazon EKS Fargate
    • Utilisation d'Amazon EKS Managed Prometheus
    • Configuration de l'authentification OpenID Connect
  • Évaluez la façon dont vous vous authentifiez auprès des clusters Amazon EKS et la manière dont vous avez configuré AWS Identity and Access Management (IAM) pour Amazon EKS.
  • Évaluez la configuration réseau de vos clusters Amazon EKS.
  • Évaluez vos exigences réglementaires et de conformité, et déterminez si vous y répondez.

Évaluer vos processus de déploiement et opérationnels

Après avoir créé les inventaires de vos clusters et charges de travail Amazon EKS, nous vous recommandons d'évaluer vos processus de déploiement et opérationnels. Il est essentiel de bien comprendre leur fonctionnement. Ces processus font partie intégrante des pratiques qui préparent et gèrent votre environnement de production et les charges de travail qui y sont exécutées.

Vos processus de déploiement et opérationnels peuvent créer les artefacts dont vos charges de travail ont besoin pour fonctionner. Par conséquent, vous devez collecter des informations sur chaque type d'artefact. Par exemple, un artefact peut être un package du système d'exploitation, un package de déploiement d'application, une image du système d'exploitation, une image de conteneur ou autre.

Outre le type d'artefact, réfléchissez à la façon dont vous effectuez les tâches suivantes :

  • Générer les artefacts déployés sur Amazon EKS. Pour déployer vos charges de travail sur Amazon EKS, vous pouvez générer des artefacts déployables, tels que des images de conteneurs. La collecte d'informations sur la manière dont vous générez ces artefacts vous permet de vous assurer qu'ils sont adaptés au déploiement dans Google Cloud. Par exemple, si vous produisez des artefacts que vous stockez dans un registre d'artefacts sur AWS, vous devez les rendre disponibles dans votre environnement Google Cloud. Pour ce faire, vous pouvez utiliser des stratégies telles que les suivantes :
    • Établir un canal de communication entre les environnements : rendez les artefacts de votre environnement source accessibles depuis l'environnement Google Cloud cible. Cela vous aidera à vous préparer à l'utilisation éventuelle d'Artifact Registry.
    • Refactoriser le processus de compilation des artefacts : effectuez une refactorisation mineure de votre environnement source afin de pouvoir stocker des artefacts à la fois dans l'environnement source et dans l'environnement cible. Cette approche traite votre migration en créant une infrastructure telle qu'un dépôt d'artefacts avant que vous ayez à implémenter des processus de compilation d'artefacts dans l'environnement Google Cloud cible. Vous pouvez mettre en œuvre cette approche directement ou vous appuyer sur l'approche précédente qui consiste à d'abord établir un canal de communication.
  • Déployer des artefacts dans vos clusters Amazon EKS. Après avoir généré des artefacts déployables, vous pouvez les déployer sur Amazon EKS. Nous vous recommandons d'évaluer chaque processus de déploiement. L'évaluation permet de s'assurer que vos processus de déploiement sont compatibles avec Google Cloud. Elle vous permet également de comprendre les efforts nécessaires pour refactoriser les processus à terme. Par exemple, si vos processus de déploiement ne fonctionnent qu'avec Amazon EKS, vous devrez peut-être les refactoriser pour cibler votre environnement Google Cloud.
  • Injecter une configuration d'environnement d'exécution. Vous pouvez injecter une configuration d'environnement d'exécution pour des clusters Amazon EKS, des environnements d'exécution ou des déploiements de charges de travail spécifiques. La configuration peut initialiser des variables d'environnement et d'autres valeurs de configuration telles que des secrets, des identifiants et des clés. Pour vous assurer que vos processus d'injection de configuration d'environnement d'exécution fonctionnent sur Google Cloud, nous vous recommandons d'évaluer la manière dont vous configurez les charges de travail exécutées sur Amazon EKS.

Après avoir évalué vos processus de déploiement et opérationnels, nous vous recommandons également d'évaluer comment ces processus peuvent faciliter votre migration vers Google Cloud et comment ils vous aident à réduire le champ d'application et les risques liés à la migration.

Terminer l'évaluation

Après avoir créé les inventaires de votre environnement Amazon EKS, effectuez les autres étapes de la phase d'évaluation décrites sur la page Migrer vers Google Cloud : évaluer et découvrir vos charges de travail.

Planifier et établir vos fondations

Au cours de la phase de planification et de compilation, vous provisionnez et configurez l'infrastructure pour effectuer les opérations suivantes :

  • Exécuter vos charges de travail dans votre environnement Google Cloud
  • Se connecter à votre environnement AWS et à votre environnement Google Cloud pour effectuer la migration

Établir vos fondations sur Google Cloud

La phase de planification et de compilation est composée des tâches suivantes :

  1. Créez une hiérarchie de ressources.
  2. Configurer Identity and Access Management (IAM) de Google Cloud
  3. Configurer la facturation
  4. Configurez la connectivité réseau.
  5. Renforcez votre sécurité.
  6. Configurer la journalisation, la surveillance et les alertes

Pour en savoir plus sur chacune de ces tâches, consultez la section Planifier et établir vos fondations de la page "Migrer des conteneurs vers Google Cloud : migrer Kubernetes vers GKE".

Migrer vos données et déployer des charges de travail

Lors de la phase de déploiement, procédez comme suit :

  1. Provisionnez et configurez votre environnement GKE.
  2. Configurez vos clusters GKE.
  3. Migrez des données de votre environnement source vers Google Cloud.
  4. Déployez vos charges de travail dans l'environnement GKE.
  5. Validez vos charges de travail.
  6. Exposez des charges de travail exécutées sur GKE.
  7. Basculez le trafic de l'environnement source vers l'environnement GKE.
  8. Mettez hors service l'environnement source.

Pour en savoir plus sur la réalisation de chacune de ces tâches, consultez la section Déployer vos charges de travail de la page "Migrer des conteneurs vers Google Cloud : migrer Kubernetes vers GKE". Les sections suivantes intègrent les considérations décrites dans ce document.

Migrer les données

La section Migrer les données de la page "Migrer des conteneurs vers Google Cloud : migrer Kubernetes vers GKE" contient des informations sur la migration des données d'un environnement Kubernetes générique vers GKE. Les recommandations de cette section s'appliquent à la migration des données d'Amazon EKS vers GKE. Pour planifier votre migration, intégrez les informations sur l'environnement générique du document associé aux sections suivantes spécifiques à la migration des données d'Amazon EKS vers GKE.

AWS propose plusieurs options de stockage de données pour Amazon EKS. Ce document se concentre sur les scénarios de migration de données suivants :

  • Migrer les données depuis des volumes Amazon EBS vers des ressources GKE PersistentVolume
  • Copier les données des volumes Amazon EBS vers Amazon S3 ou Cloud Storage, puis les migrer vers des ressources GKE PersistentVolume

Migrer les données depuis des volumes Amazon EBS vers des ressources GKE PersistentVolumes

Vous pouvez migrer des données depuis des volumes Amazon EBS vers des ressources GKE PersistentVolume à l'aide de l'une des approches suivantes :

  • Copier directement les données des volumes Amazon EBS sur des disques persistants Compute Engine :
    1. Provisionnez des instances Amazon EC2 et associez les volumes Amazon EBS contenant les données à migrer.
    2. Provisionnez des instances Compute Engine avec des disques persistants vides disposant d'une capacité suffisante pour stocker les données à migrer.
    3. Exécutez un outil de synchronisation de données, tel que rsync, pour copier les données des volumes Amazon EBS sur les disques persistants Compute Engine.
    4. Dissociez les disques persistants des instances Compute Engine.
    5. Mettez hors service les instances Compute Engine.
    6. Configurez les disques persistants en tant que ressources GKE PersistentVolume.
  • Migrer des instances Amazon EC2 et des volumes Amazon EBS vers Compute Engine :
    1. Provisionnez des instances Amazon EC2 et associez les volumes Amazon EBS contenant les données à migrer.
    2. Migrez les instances Amazon EC2 et les volumes Amazon EBS vers Compute Engine avec Migrate to Virtual Machines.
    3. Dissociez les disques persistants des instances Compute Engine.
    4. Mettez hors service les instances Compute Engine.
    5. Configurez les disques persistants en tant que ressources GKE PersistentVolume.

Pour en savoir plus sur la migration d'instances Amazon EC2 vers Compute Engine, consultez la page Migrer depuis AWS vers Google Cloud : migrer depuis Amazon EC2 vers Compute Engine.

Pour en savoir plus sur l'utilisation de disques persistants Compute Engine en tant que ressources GKE PersistentVolume, consultez la page Utiliser des disques persistants préexistants en tant que PersistentVolumes.

Copier les données de volumes Amazon EBS sur un support provisoire et les migrer vers des PersistentVolumes GKE

Au lieu d'effectuer la migration directement depuis des volumes Amazon EBS vers des ressources GKE PersistentVolume, vous pouvez utiliser un support provisoire comme un magasin d'objets :

  1. Importez les données des volumes Amazon EBS vers un support provisoire (par exemple, un bucket Amazon S3 ou Cloud Storage).
  2. Téléchargez les données du support provisoire sur vos ressources GKE PersistentVolume.

Dans certains cas, l'utilisation de plusieurs supports peut simplifier le transfert de données en fonction de vos configurations réseau et de sécurité. Vous pouvez par exemple importer les données dans un bucket S3, les copier depuis le bucket S3 vers un bucket Cloud Storage, puis les télécharger dans vos volumes persistants. Quelle que soit l'approche choisie, pour garantir une transition fluide tout en prenant en compte des considérations importantes, nous vous recommandons de consulter la page Migrer depuis AWS vers Google Cloud : migrer depuis Amazon S3 vers Cloud Storage.

Choisir une option de migration

L'option de migration la mieux adaptée dépend de vos besoins et de vos exigences spécifiques, y compris les suivants :

  • La quantité de données à migrer.
    • Si vous devez migrer une petite quantité de données, par exemple quelques fichiers de données, envisagez d'utiliser des outils tels que rsync pour copier les données directement sur des disques persistants Compute Engine. Cette option est relativement rapide, mais elle peut ne pas convenir pour une grande quantité de données.
    • Si vous devez migrer une grande quantité de données, envisagez d'utiliser Migrate to Virtual Machines pour migrer les données vers Compute Engine. Cette option est plus complexe que la copie directe des données, mais elle est plus fiable et évolutive.
  • Le type de données à migrer.
  • La connectivité réseau entre les environnements source et cible.
    • Si vous ne parvenez pas à établir une connectivité réseau directe entre vos instances AWS EC2 et Compute Engine, vous pouvez envisager d'utiliser Amazon S3 ou Cloud Storage pour stocker temporairement les données pendant leur migration vers Compute Engine. Cette option peut être moins coûteuse, car vous n'aurez pas à exécuter simultanément vos instances EC2 et Compute Engine.
  • Votre calendrier de migration.
    • Si votre bande passante réseau est limitée ou si vous disposez d'une grande quantité de données, et que votre calendrier n'est pas serré, vous pouvez également envisager d'utiliser Transfer Appliance pour déplacer vos données d'AWS vers Google Cloud.

Quelle que soit l'option choisie, il est important de tester votre migration avant de la publier. Les tests vous aideront à identifier les problèmes potentiels et à garantir la réussite de votre migration.

Optimiser votre environnement après la migration

Une fois toutes les phases de migration achevées, la migration est considérée comme terminée. Toutefois, votre environnement GKE peut nécessiter des optimisations supplémentaires. Pour en savoir plus, consultez la page Migrer Kubernetes vers GKE : optimiser votre environnement.

Étapes suivantes