Le Blog Amazon Web Services

Migrez des machines virtuelles VMware vers Amazon EC2 avec AWS Application Migration Service

Cet article est un guide, étape par étape, pour migrer des machines virtuelles (VM) VMware vers Amazon Elastic Compute Cloud (Amazon EC2) à l’aide du service AWS Application Migration Service. Vous apprendrez comment appliquer un script de post-lancement personnalisé pour supprimer les outils VMware exclusifs des VMs migrées.

La migration des applications VMware sur site vers Amazon EC2 peut offrir des avantages significatifs, notamment une évolutivité accrue, de meilleures performances et une réduction des coûts d’exploitation. Le service Application Migration Service simplifie ce processus en fournissant une solution de réplication transparente et automatisée au niveau des blocs pour la migration des VMs VMware vers des instances Amazon EC2. Les VMs migrées peuvent être testées sur Amazon EC2 pendant que la réplication du serveur source d’origine se poursuit. Cette solution utilise l’option de réplication basée sur un agent, car elle offre une réplication continue des données et réduit la fenêtre de basculement.

L’architecture de la solution

Cette solution (figure 1) suit les recommandations de la documentation Préparation des paramètres réseau pour le service Application Migration Service en ayant un sous-réseau de réplication dédié pour le service. Il est utilisé par le service comme zone intermédiaire pour la réplication de données à partir de vos serveurs sources. Les instances de test et de basculement sont lancées dans un autre sous-réseau dédié, appelé Ressources migrées.

Les agents AWS System Manager (agent SSM) installés dans les VMs VMware respectives initient le processus de synchronisation et la réplication des données commence dans la zone intermédiaire (sous-réseau de réplication). La réplication est gérée par les serveurs de réplication basés sur les paramètres de réplication prédéfinis. Lorsque les volumes attachés aux serveurs sources sont répliqués, le serveur est marqué comme : Prêt pour le test. En ce qui concerne les paramètres de lancement, les instances de test ou de basculement respectives sont lancées dans la zone Ressources migrées.

Cette solution tire parti des actions de post-lancement du service Application Migration Service pour installer l’agent SSM sur chaque instance de test ou de basculement lancée. L’agent SSM permet l’exécution de scripts personnalisés tels que la suppression des outils propriétaires VMware.

Cette procédure est valable à la fois pour VMware Cloud sur AWS et VMware sur site

Figure 1 : à gauche, l’environnement VMware avec les agents SSM installés. À droite, le compte AWS avec ses deux sous-réseaux : sous-réseau de réplications et sous-réseau des Ressources migrées.

À des fins de démonstration, cette solution utilise un ensemble de machines virtuelles Linux (RHEL 9) et Windows Server 2019.

Étapes de mise en œuvre

Étape 1 – Conditions préalables

Pour suivre ce guide, vous aurez besoin de :

  1. Un utilisateur AWS avec les autorisations requises, telles que définies dans la documentation Intialisations et autorisations de AWS Application Migration Service.
  2. Paramètres réseau tels que définis dans la documentation Préparations à l’établissement du réseau.
  3. Un système d’exploitation de serveur source pris en charge. Pour plus d’informations sur les systèmes d’exploitation pris en charge, reportez-vous à la section Systèmes d’exploitation pris en charge.
  4. Les informations d’identification de la machine virtuelle source avec les autorisations nécessaires pour télécharger et installer l’agent SSM.
  5. Identifiez ou créez un sous-réseau Amazon Virtual Private Cloud (Amazon VPC) à utiliser pour vos instances de test et de basculement ainsi que les groupes de sécurité Amazon EC2 respectifs.

Étape 2 – Créer des points de terminaison Amazon VPC

Les ressources de la zone intermédiaire et de la zone migrée peuvent être exploitées dans un sous-réseau privé ou public. Dans ce scénario, les deux sous-réseaux sont privés. Sans accès public à un point de terminaison HTTPS, les instances de lancement ne peuvent pas se connecter à Internet et ne peuvent donc pas exécuter le script de post-lancement. Pour permettre l’installation de l’agent SSM et l’exécution des scripts de post-lancement, trois services de point de terminaison doivent être créés :

  • com.amazonaws.<region>.ssm
  • com.amazonaws.<region>.ec2messages
  • com.amazonaws.<region>.ssmmessages
  1. Pour chaque point de terminaison Amazon VPC à créer, ouvrez le service Amazon VPC dans la console et sélectionnez : Points de terminaison, puis sélectionnez Créer un point de terminaison dans le coin supérieur droit (Figure 2).

    Figure 2 : dans la section Points de terminaison de la console de service Amazon VPC, sélectionnez Créer un point de terminaison.

  2. Sélectionnez Services AWS et créez le premier point de terminaison (Figure 3) amazonaws.<region>.ssm. Remplacez <region> par votre région AWS. Sélectionnez l’Amazon VPC cible et le service ssm. Le groupe de sécurité attaché au point de terminaison Amazon VPC doit autoriser les connexions entrantes sur le port 443 à partir du sous-réseau privé de l’instance gérée. Enfin, sélectionnez Créer un point de terminaison à la fin de la page. Répétez cette opération pour les services ssmmessages et ec2messages

    Figure 3 : créez un point de terminaison à partir de la console de service Amazon VPC.

  3. Lorsque les trois points de terminaison Amazon VPC sont créés, vous verrez le résultat suivant (figure 4).

    Figure 4 : les trois points de terminaison VPC ont été créées avec succès pour permettre l’installation de l’agent SSM

Étape 3 – Script de post-lancement pour désinstaller les outils VMware de Windows et Linux

Cette section présente la création des scripts de post-lancement personnalisés afin d’automatiser la suppression des outils VMware après le lancement du serveur source dans AWS. Veuillez noter que les modifications apportées aux scripts de post-lancement personnalisés ne s’appliqueront qu’aux serveurs sources nouvellement ajoutés. Pour les serveurs sources existants, vous modifiez le modèle de post-lancement au niveau du serveur source.

  1. Accédez au modèle de post-lancement en sélectionnant : Modèle de post-lancement dans le menu de gauche. Modifiez les paramètres d’actions post-lancement et activez la fonction de paramètres en activant i) installer l’agent Systems Manager et autoriser l’exécution d’action sur les serveurs lancés et ii) instances de test et de basculement (recommandé). Enfin, activez le chiffrement et sélectionnez Enregistrer le modèle (figure 5).

    Figure 5 — Activez l’installation de l’agent SSM pour les serveurs de test et de basculement ultérieurs lancés.

  2. Pour supprimer les outils VMware des images VMware, vous devez créer une action personnalisée. Sélectionnez Créer une action (figure 6).

    Figure 6 — Sélectionnez Créer une action dans le coin supérieur droit.

  3. Ajoutez l’entrée suivante dans les paramètres d’action (figure 7). Les scripts post-lancement sous Windows s’exécutent dans le contexte du service local.
    1. Paramètres d’action
      1. Nom de l’action : CleanupVMwareTools-Windows.
      2. Sélectionnez l’option Activer cette action.
      3. Nom du document Systems Manager : AWS-RunPowerShellScript.
      4. Description : Exécutez un script PowerShell pour nettoyer les images Windows des outils VMware.
      5. Systèmes d’exploitation : Windows
    2. Paramètres d’action (Le script suivant peut être utilisé pour désinstaller les VMware Tools après la migration à partir de Windows Server 2019.) :
      1. Commandes :
        Remove-Item –path .\VMware –recurse 
        $regpath = “HKLM:\Software\Microsoft\Windows\CurrentVersion\uninstall”
        Get-childItem $regpath | % { 
           $keypath = $_.pschildname 
           $key = Get-Itemproperty $regpath\$keypath 
           if ($key.DisplayName -match “VMware Tools”) { 
              $VMwareToolsGUID = $keypath 
           } 
           Msiexec.exe /x $VMwareToolsGUID /qn /norestart 
        }
      2. WorkingDirectory: C:\Program Files\
      3. Délai d’exécution : 300

        Figure 7 — Script PowerShell pour supprimer les outils VMware des instances répliquées lancées par Windows.

  4. Répétez les étapes ci-dessus pour l’instance Linux (figure 8). Les scripts post-lancement sous Linux s’exécutent sous l’utilisateur root.
    1. Paramètres de l’action :
      1. Nom de l’action : CleanupVMwareTools-Linux.
      2. Sélectionnez l’option Activer cette action.
      3. Nom du document Systems Manager : AWS-RunShellScript
      4. Description : Exécutez un script Shell pour nettoyer les images Linux des outils VMware.
      5. Systèmes d’exploitation : Linux.
    2. Paramètres d’action :
        1. Commandes :
          rm -f ./VMware
        2. Délai d’exécution : 300

          Figure 8 — Script shell pour supprimer les outils VMware des instances lancées par Linux répliquées.

          Le modèle post-lancement (figure 9) montrera les deux actions nouvellement créées. Assurez-vous qu’ils sont définis comme Actifs.

          Figure 9 — Vérifiez que l’installation de l’agent SSM et les deux actions de post-lancement nouvellement créées sont activées.

          Étape 4 – Ajout de serveurs sources et installation de l’agent sur les machines virtuelles

          Chaque fois que vous ajoutez un serveur source au service Application Migration Service, ses paramètres de réplication, de lancement et d’action post-lancement sont initialisés en fonction des modèles par défaut.

          Une fois que vos serveurs sources ont été ajoutés au service Application Migration Service, vous pouvez les surveiller et interagir avec eux à partir de la page Serveurs sources. Sur cette page, vous pouvez afficher tous vos serveurs sources, surveiller leur cycle de vie de migration, l’état de réplication des données, voir la prochaine étape du processus de migration pour chaque serveur et trier vos serveurs selon diverses catégories.

          Pour ajouter un serveur source Windows, sélectionnez Ajouter un serveur sur la page Serveurs source.

          Utilisez les options ci-dessous (Figure 10) pour créer la commande d’installation en ajoutant votre ID de clé d’accès IAM et votre clé d’accès secrète IAM. Copiez la commande résultante et téléchargez le programme d’installation.

          Figure 10 — Génération de la ligne de commande du programme d’installation pour l’agent de réplication AWS.

          Une fois le programme d’installation téléchargé, exécutez la commande copiée dans PowerShell. Vous devez exécuter le fichier d’installation de l’agent en tant qu’administrateur sur chaque serveur Windows (figure 11).

          Figure 11 — Exécutez la commande d’installation de l’agent sur vos serveurs sources Windows.

          Notez votre nom d’hôte et accédez à la console Application Migration Service.

          Une fois l’agent SSM installé, le serveur est ajouté à la console Application Migration Service sous Serveurs sources, où il commencera le processus de synchronisation initial.

          Étape 5 – Lancer une instance de test

          Il est essentiel de tester la migration de vos serveurs sources vers AWS avant d’effectuer le basculement afin de s’assurer de leur bon fonctionnement dans l’environnement AWS.

          Avant de lancer une instance de test, assurez-vous que vos serveurs sources sont prêts à être testés. Vérifiez le statut suivant sur la page Serveurs source.

          1. Dans la colonne Cycle de vie de migration, le statut du serveur doit indiquer Prêt pour le test.
          2. Dans la colonne État de la réplication des données, le statut du serveur doit être Sain.
          3. Dans la colonne Étape suivante, le statut du serveur doit être Lancer une instance de test.

          Pour lancer une instance de test pour un ou plusieurs serveurs sources.

          1. Accédez à la page Serveurs source.
          2. Cochez la case située à côté de chaque serveur que vous souhaitez tester.
          3. Sélectionnez le menu Test et Basculement.
          4. Sous Tests, sélectionnez Lancer des instances de test pour initier le lancement des instances de test pour le ou les serveurs sources sélectionnés (figure 12).

          Figure 12 — Sélectionnez Lancer les instances de test dans le menu déroulant Test et basculement.

          1. Une fois que la boîte de dialogue Lancement des instances de test pour les serveurs X s’affiche, sélectionnez Lancer des instances de test pour commencer le test.
          2. La console Application Migration Service indiquera que la tache a démarrée lorsqu’il aura commencé. Choisissez Afficher les détails de la tâche dans la boîte de dialogue pour afficher la tâche spécifique au lancement du test dans l’historique des lancements
          3. Vous pouvez confirmer le lancement réussi de l’instance de test en observant divers indicateurs sur la page Serveurs sources (figure 13).
            1. Dans la colonne Alertes, le statut Lancé indique le lancement d’une instance de test pour ce serveur.
            2. Dans la colonne Cycle de vie de la migration, vous verrez le statut Test en cours.
            3. Dans la colonne Étape suivante, elle indique Terminer le test et marquer comme « Prêt pour le basculement ».

              Figure 13 — Marquez le serveur comme prêt pour le basculement lorsque vos tests sont terminés.

          Une fois que vos instances de test sont lancées, accédez à l’instance Amazon EC2 pour vous y connecter. Vous pouvez également utiliser AWS SSM Session Manager (Session Manager) ou AWS SSM Fleet Manager (Fleet Manager) pour vous connecter à ces instances. Cette étape sert à vérifier leur bon fonctionnement, évaluer la connectivité et effectuer des essais d’acceptation pour votre migration.

          Lorsque votre test est terminé et que vous êtes prêt pour la phase de basculement, vous pouvez conclure le test. Pour ce faire, passez le status du cycle de vie de la migration de vos serveurs sources à « Prêt pour le basculement ». Cela signifie que tous les essais ont été terminés et que les serveurs sont prêts à être basculés. Finalement, terminez les instances de test lancées en sélectionnant « Oui, résilier les instances lancées (recommandé) » .

          Vérifiez l’exécution des scripts de post-lancement.

          1. Sélectionnez Serveurs source et ouvrez les Paramètres de post-lancement
          2. Pour la visibilité sur les actions qui seront déclenchées, filtrer par Statut d’Activation « Actif ». Les actions suivantes seront déclenchées (figure 14).
          Nettoyage de l'agent SSM
          VMwareTools-linux

          Figure 14 — Il est à noter que toutes les actions se sont déroulées avec succès.

          Lorsque l’instance est lancée, le statut d’exécution de l’installation de l’agent SSM et de CleanUpVMwareTools peut être suivi sous l’onglet Tableau de bord de la migration (Figure 15).

          Figure 15 — Il est à noter que toutes les actions se sont déroulées avec succès.

          Étape 6 – Lancer une instance de basculement

          1. Cochez la case située à côté de chaque serveur source avec une instance de test lancée pour laquelle vous souhaitez terminer le test.
          2. Sélectionnez le menu Test et basculement (Figure 16).
          3. Sous la section Test, sélectionnez l’option « Marquer comme « Prêt pour le basculement » ».

          Figure 16 — Marquer comme Prêt pour le basculement afin de lancer une instance de coupure.

          Dans la boîte de dialogue Marquer les serveurs X comme prêts pour le basculement, vous pouvez choisir de mettre fin aux instances de test. Il est recommandé de mettre fin à ces instances afin d’éviter de payer des frais, même si elles ne sont plus nécessaires. Pour procéder à la résiliation, choisissez Oui, résilier les instances lancées (recommandé), puis cliquez sur Continuer.

          La console de Application Migration Service confirme que les serveurs ont été marqués comme prêts pour le basculement.

          Avant de procéder au lancement d’une instance basculée, confirmez que vos serveurs source sont prêts pour le basculement en vérifiant le statut suivant sur la page des Serveurs sources (figure 17).

          1. Le statut du cycle de vie de la migration est Prêt pour le basculement.
          2. Le statut de réplication des données est Sain.
          3. L’étape suivante indique Résilier l’instance lancée ; lancer une instance de basculement si vous n’avez pas arrêté votre instance de test. Autrement, Lancez l’instance de basculement si vous avez mis fin à la dernière instance de test.

          Figure 17 — Validez que le statut de migration est Prêt pour le basculement et que le statut de réplication des données est Sain.

          Pour lancer une instance de basculement pour un ou plusieurs serveurs sources.

          1. Visitez la page Serveurs sources et sélectionnez chacun des serveurs que vous souhaitez activer.
          2. Sélectionnez le menu Test et basculement.
          3. Sous Basculement (Figure 18), sélectionnez Lancer des instances basculées.
          4. Une fenêtre contextuelle s’affiche montrant les instances de basculement avec leurs noms respectifs qui seront lancées. Confirmer en sélectionnant Lancer.

          Figure 18 – Sélectionnez Lancer les instances basculées dans le menu Test et basculement.

          Sur la page Serveurs sources (figure 19), la colonne Cycle de vie de la migration affiche Basculement en cours et la colonne Prochaine étape indique Finaliser le basculement.

          Figure 19 — Le cycle de vie de la migration est passé de Prêt pour le basculement à Basculement en cours.

          Sélectionnez votre serveur source pour afficher les détails de la tâche (Figure 20).

          Figure 20 — Le cycle de vie actuel est Basculement en cours, ce qui signifie que les instances de coupure sont lancées.

          Après avoir lancé vos instances de basculement, via la console Amazon EC2, vous pouvez vous connecter à l’instance à l’aide de Session Manager ou Fleet Manager. Cette étape est essentielle pour vérifier leur bon fonctionnement, confirmer la connectivité et effectuer des essais d’acceptation pour votre application.

          Lorsque vous avez terminé votre migration, finalisez le basculement (Figure 21) :

          1. Choisissez chaque serveur source que vous souhaitez couper.
          2. Sélectionnez : Finaliser le basculement.

          Figure 21 — Sélectionnez Finaliser le Basculement pour arrêter la réplication des données.

          Dans la boîte de dialogue Finaliser le basculement pour X servers, sélectionnez : Finaliser pour démarrer le basculement. Cette action mettra à jour le statut du Cycle de vie de la migration de vos serveurs sources à : Basculement terminé, indiquant un basculement et une migration réussis. Cela arrêtera également la réplication des données et éliminera les volumes Amazon Elastic Block Store (Amazon EBS) associés et les serveurs de réplication Amazon EC2. La console Application Migration Service indiquera Basculement terminé lorsque le basculement sera terminé avec succès.

          Nettoyage

          Pour éviter les frais continus, assurez-vous de nettoyer les ressources concernées, notamment :

          • Les instances Amazon EC2
          • Déconnectez les serveurs sources du service Application Migration Service
          • Supprimez les volumes Amazon EBS connectés aux instances Amazon EC2 associées à vos tests
          • Supprimer les points de terminaison Amazon VPC

          En conclusion, nous avons passé en revue la série d’étapes d’une migration à la demande transparente d’une VM VMware vers Amazon EC2. Le principal avantage de ce processus est l’automatisation, qui réduit considérablement les erreurs humaines et accélère la migration. Les actions post-lancement nettoient les images des outils VMware. Le service Application Migration Service demeure rentable, ce qui en fait une solution attrayante pour les migrations, que l’environnement VMware soit sur site, dans le cloud VMware ou sur AWS.

          Pour des ressources supplémentaires, consultez les rubriques suivantes du Guide de l’utilisateur du service Application Migration Service :

Au sujet des auteurs

Philippe Wanner

Philippe Wanner est architecte spécialiste senior chez Amazon Web Services (AWS). Son rôle consiste à conseiller les grandes organisations sur les meilleures pratiques et stratégies de migration et de modernisation couvrant l’Europe, le Moyen-Orient et l’Afrique (EMEA). Il se concentre actuellement sur un domaine multidisciplinaire autour de la transformation des entreprises, des systèmes distribués et de l’architecture sans serveur.

Simon Vaillancourt

Simon est un architecte de solutions spécialisé qui prend en charge les migrations sur Amazon Web Services (AWS), et soutient les clients du secteur public. Il est basé dans la ville de Québec, au Québec, et soutient les clients ayant des besoins spécifiques de migration VMware à travers le Canada. Il possède de nombreuses années d’expérience en TI, ayant occupé divers postes d’analyste et d’architecte en TI. Tout au long de sa carrière, il a acquis une vaste expérience des déploiements/migrations de grands centres de données et d’infrastructures, tant du point de vue des clients que des fournisseurs, dans les secteurs privé et public.