Migrer depuis AWS vers Google Cloud : migrer depuis Amazon EC2 vers Compute Engine

Last reviewed 2023-10-13 UTC

Google Cloud fournit des outils, des produits, des conseils et des services professionnels pour migrer des machines virtuelles (VM) avec leurs données depuis Amazon Elastic Compute Cloud (Amazon EC2) vers Compute Engine. Ce document explique comment concevoir, mettre en œuvre et valider un plan de migration depuis Amazon EC2 vers Compute Engine.

Ce document est destiné aux administrateurs cloud qui souhaitent en savoir plus sur la planification et la mise en œuvre d'un processus de migration. Il s'adresse également aux décisionnaires qui évaluent l'opportunité d'effectuer une migration et qui souhaitent découvrir en quoi elle pourrait consister.

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 EC2 vers Compute Engine 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 EC2 vers Compute Engine.

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

  1. Dresser un inventaire complet de vos applications
  2. Cataloguer vos charges de travail 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.

Dresser l'inventaire de vos instances Amazon EC2

Pour couvrir votre migration, vous devez créer un inventaire de vos instances Amazon EC2. Vous pouvez ensuite utiliser l'inventaire pour évaluer vos processus de déploiement et opérationnels pour le déploiement de charges de travail sur ces instances.

Pour créer l'inventaire de vos instances Amazon EC2, 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 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 EC2 et d'autres ressources AWS. Le centre de migration recommande ensuite des services Google Cloud pertinents vers lesquels migrer.

Après avoir évalué votre environnement à l'aide du centre de migration, nous vous recommandons de générer un rapport d'évaluation technique à l'aide de la CLI du client de détection du centre de migration. Pour en savoir plus, consultez la page Collecter les données des invités à partir d'instances Amazon EC2 pour l'évaluation de l'adéquation hors connexion.

Les données fournies par le centre de migration et la CLI du client de détection du 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 de développement AWS et l'interface de ligne de commande AWS.

En plus des données obtenues à partir du centre de migration et de la CLI du client de détection du centre de migration, tenez compte des points de données suivants pour chaque instance Amazon EC2 que vous souhaitez migrer :

  • La région et la zone de déploiement
  • Le type et la taille de l'instance
  • L'image AMI (Amazon Machine Image) à partir de laquelle l'instance est lancée
  • Le nom d'hôte de l'instance, et la manière dont les autres instances et charges de travail utilisent ce nom d'hôte pour communiquer avec l'instance
  • Les tags d'instance, ainsi que les métadonnées et les données utilisateur
  • Le type de virtualisation d'instance
  • L'option d'achat d'instance, telle que l'achat à la demande ou l'achat au comptant
  • La manière dont l'instance stocke les données, par exemple en utilisant les magasins d'instances et les volumes Amazon EBS
  • La configuration de la location d'instances
  • Si l'instance se trouve dans un groupe d'emplacements spécifique
  • Si l'instance se trouve dans un groupe d'autoscaling spécifique
  • Les groupes de sécurité auxquels l'instance appartient
  • Toute configuration de pare-feu réseau AWS impliquant l'instance.
  • Si les charges de travail qui s'exécutent sur l'instance sont protégées par AWS Shield et AWS WAF
  • Si vous contrôlez l'état du processeur de votre instance et la manière dont les charges de travail qui s'exécutent sur l'instance dépendent de l'état du processeur
  • La configuration du programmeur d'E/S de l'instance
  • La manière dont vous exposez des charges de travail exécutées sur l'instance à des clients exécutés dans votre environnement AWS (comme d'autres charges de travail) et à des clients externes

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

Après avoir créé l'inventaire de vos instances Amazon EC2, nous vous recommandons d'évaluer vos processus de déploiement et opérationnels. Il est essentiel de bien comprendre le fonctionnement de vos processus de déploiement et opérationnels. Il s'agit d'un élément fondamental des pratiques qui permettent de préparer et de gérer votre environnement de production et les charges de travail qui y sont exécutées.

Réfléchissez à la façon dont vous effectuez les tâches suivantes :

  • Le provisionnement et la configuration de vos ressources AWS Pour préparer votre environnement AWS, vous avez peut-être conçu et mis en œuvre des processus qui provisionnent et configurent les ressources. Par exemple, vous utilisez peut-être AWS CloudFormation ou Terraform avec des outils de gestion de la configuration afin de provisionner et configurer vos ressources cloud AWS.
  • La génération des AMI pour vos instances Amazon EC2. Il est important d'évaluer la manière dont vous générez des AMI et le type de personnalisation que vous appliquez à ces AMI. Ces informations vous aident à fournir un environnement d'exécution adapté à vos charges de travail. Par exemple, vous pouvez installer des packages de système d'exploitation (OS) ou ajuster la configuration de l'OS.
  • La génération des artefacts déployés sur vos instances Amazon EC2. Pour déployer vos charges de travail sur Amazon EC2, vous générez peut-être des artefacts déployables tels que des charges de travail empaquetées et des images de conteneurs. Recueillir des 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 sur Google Cloud. Par exemple, si vous produisez des artefacts que vous stockez dans un registre d'artefacts sur AWS, vous devez envisager de les rendre disponibles dans votre environnement Google Cloud.
  • Le déploiement d'artefacts sur vos instances Amazon EC2. Après avoir généré des artefacts déployables, vous pouvez les déployer sur Amazon EC2. 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 à la refactorisation des processus à terme. Par exemple, si vos processus de déploiement ne fonctionnent qu'avec Amazon EC2, vous devrez peut-être les refactoriser pour cibler votre environnement Google Cloud.
  • L'injection d'une configuration d'exécution. Vous pouvez injecter une configuration d'exécution pour vos instances, en initialisant des variables d'environnement et d'autres valeurs de configuration pour des instances Amazon EC2, des environnements d'exécution ou des déploiements de charges de travail spécifiques. 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 façon dont les charges de travail sont configurées sur Amazon EC2.

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. Par exemple, vous pouvez refactoriser vos processus de compilation d'artefacts pour stocker des artefacts à la fois dans AWS et dans Google Cloud pendant la migration. Le fait de disposer d'artefacts dans les deux environnements vous permet de vous concentrer sur la migration des instances Amazon EC2 sans avoir à mettre en œuvre de processus de compilation d'artefacts dans l'environnement Google Cloud cible au début de la migration.

Terminer l'évaluation

Après avoir créé les inventaires liés à votre environnement Amazon EC2, effectuez les autres étapes de la phase d'évaluation décrites dans 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

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

  1. Créez une hiérarchie de ressources.
  2. Configurez la gestion des identités et des accès.
  3. Configurez 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 page Migrer vers Google Cloud : établir vos fondations.

Migrer vos charges de travail

Pour migrer vos charges de travail depuis Amazon EC2 vers Compute Engine, procédez comme suit :

  1. Migrez des VM depuis Amazon EC2 vers Compute Engine.
  2. Exposez des charges de travail exécutées sur Compute Engine à des clients.
  3. Refactorisez les processus de déploiement et opérationnels pour cibler Google Cloud au lieu de cibler Amazon EC2.

Les sections suivantes fournissent des détails sur chacune de ces tâches.

Migrer vos VM vers Compute Engine

Pour migrer des VM depuis Amazon EC2 vers Compute Engine, nous vous recommandons d'utiliser Migrate to Virtual Machines, qui est un service entièrement géré. Pour en savoir plus, consultez la page Parcours de migration avec Migrate to VMs.

Dans le cadre de la migration, Migrate for VMs migre les instances Amazon EC2 dans leur état actuel, à l'exception des modifications de configuration requises. Si vos instances Amazon EC2 exécutent des AMI Amazon EC2 personnalisés, Migrate for VMs migre ces personnalisations vers des instances Compute Engine. Toutefois, si vous souhaitez rendre votre infrastructure reproductible, vous devrez peut-être appliquer des personnalisations équivalentes en créant des images de système d'exploitation Compute Engine dans le cadre de vos processus de déploiement et opérationnels, comme expliqué plus loin dans ce document. Vous pouvez également importer vos AMI Amazon EC2 dans Compute Engine.

Exposer des charges de travail qui s'exécutent sur Compute Engine

Après avoir migré vos instances Amazon EC2 vers des instances Compute Engine, vous devrez peut-être provisionner et configurer votre environnement Google Cloud pour exposer les charges de travail aux clients.

Google Cloud propose des services et des produits sécurisés et fiables permettant d'exposer vos charges de travail aux clients. Pour les charges de travail exécutées sur vos instances Compute Engine, vous devez configurer des ressources pour les catégories suivantes :

  • Pare-feu
  • Équilibrage de charge du trafic
  • Noms, zones et enregistrements DNS
  • Protection DDoS et pare-feu d'application Web

Pour chacune de ces catégories, vous pouvez commencer par mettre en œuvre une configuration de référence semblable à la configuration des services et ressources AWS dans la catégorie équivalente. Vous pouvez ensuite effectuer une itération sur la configuration et utiliser les fonctionnalités supplémentaires fournies par les services Google Cloud.

Les sections suivantes expliquent comment provisionner et configurer des ressources Google Cloud dans ces catégories, et comment elles sont mappées aux ressources AWS dans des catégories équivalentes.

Pare-feu

Si vous avez configuré des groupes de sécurité AWS et des stratégies et des règles de pare-feu de réseau AWS, vous pouvez configurer des stratégies et des règles de pare-feu cloud nouvelle génération. Vous pouvez également provisionner des règles VPC Service Controls pour réguler le trafic réseau au sein de votre VPC. Vous pouvez utiliser VPC Service Controls pour bloquer les connexions réseau indésirables à vos instances Compute Engine et réduire les risques d'exfiltration de données.

Par exemple, si vous utilisez des groupes de sécurité AWS pour autoriser ou refuser les connexions à vos instances Amazon EC2, vous pouvez configurer des règles de pare-feu de cloud privé virtuel (VPC) équivalentes qui s'appliquent à vos instances Compute Engine.

Équilibrage de charge du trafic

Si vous avez configuré Elastic Load Balancing (ELB) dans votre environnement AWS, vous pouvez configurer Cloud Load Balancing pour répartir le trafic réseau afin d'améliorer l'évolutivité de vos charges de travail dans Google Cloud. Cloud Load Balancing est compatible avec plusieurs produits d'équilibrage de charge mondiaux et régionaux qui fonctionnent sur différentes couches du modèle OSI, comme au niveau de la couche de transport et de la couche d'application. Vous pouvez choisir un produit d'équilibrage de charge adapté aux exigences de vos charges de travail.

Cloud Load Balancing permet également de configurer le protocole TLS (Transport Layer Security) pour chiffrer le trafic réseau. Lorsque vous configurez TLS pour Cloud Load Balancing, vous pouvez utiliser des certificats TLS autogérés ou gérés par Google en fonction de vos besoins.

Noms, zones et enregistrements DNS

Si vous utilisez Amazon Route 53 dans votre environnement AWS, vous pouvez utiliser les éléments suivants dans Google Cloud :

Par exemple, si vous avez enregistré un domaine à l'aide d'Amazon Route 53, vous pouvez le transférer vers Cloud Domains. De même, si vous avez configuré des zones DNS publiques et privées à l'aide d'Amazon Route 53, vous pouvez migrer cette configuration vers Cloud DNS.

Protection DDoS et pare-feu d'application Web

Si vous avez configuré AWS Shield et AWS WAF dans votre environnement AWS, vous pouvez utiliser Google Cloud Armor pour protéger vos charges de travail Google Cloud contre les attaques DDoS et les failles courantes.

Refactoriser les processus de déploiement et opérationnels

Après avoir migré vos VM vers Compute Engine, vous devez refactoriser vos processus pour effectuer les opérations suivantes :

  • Provisionnez et configurez des ressources dans votre environnement Google Cloud au lieu de provisionner des ressources AWS telles que des instances Amazon EC2 et des AMI Amazon EC2.
  • Créez, déployez et configurez des charges de travail dans Compute Engine au lieu de les déployer dans Amazon EC2.

Vous avez collecté des informations sur ces processus au cours de la phase d'évaluation plus tôt dans ce processus.

Le type de refactorisation que vous devez prendre en compte pour ces processus dépend de la façon dont vous avez conçu et mis en œuvre ces processus. La refactorisation dépend également de l'état final que vous souhaitez pour chaque processus. Par exemple, s'il s'agit des cas suivants :

  • Vous avez peut-être mis en œuvre ces processus dans votre environnement AWS, et vous avez l'intention de concevoir et de mettre en œuvre des processus équivalents dans Google Cloud.
  • Vous avez peut-être mis en œuvre ces processus dans un autre environnement tiers situé en dehors de votre environnement AWS. Dans ce cas, vous devez refactoriser ces processus pour cibler votre environnement Google Cloud plutôt que votre environnement AWS.
  • Une combinaison des approches précédentes.

La refactorisation des processus de déploiement et opérationnels peut être complexe et nécessiter un effort considérable. Si vous essayez d'effectuer ces tâches lors de la migration de VM, celle-ci peut devenir complexe et vous exposer à des risques. Après avoir évalué vos processus de déploiement et opérationnels, vous comprenez probablement leur conception et leur complexité. Si vous estimez que vous avez besoin d'un effort considérable pour refactoriser vos processus de déploiement et opérationnels, nous vous recommandons de refactoriser ces processus au cours d'un projet distinct dédié.

Pour en savoir plus sur la conception et la mise en œuvre des processus de déploiement sur Google Cloud, consultez les documents suivants :

Optimiser votre environnement après la migration

Une fois toutes les phases de migration terminées, la migration est considérée comme terminée. Toutefois, votre environnement Google Cloud peut nécessiter des optimisations supplémentaires. Pour en savoir plus, consultez la page Parcours de migration avec Migrate to VMs : optimiser votre environnement.

Étapes suivantes