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
À 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 :
- Un utilisateur AWS avec les autorisations requises, telles que définies dans la documentation Intialisations et autorisations de AWS Application Migration Service.
- Paramètres réseau tels que définis dans la documentation Préparations à l’établissement du réseau.
- 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.
- Les informations d’identification de la machine virtuelle source avec les autorisations nécessaires pour télécharger et installer l’agent SSM.
- 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
- 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).
- 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
- Lorsque les trois points de terminaison Amazon VPC sont créés, vous verrez le résultat suivant (figure 4).
É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.
- 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).
- Pour supprimer les outils VMware des images VMware, vous devez créer une action personnalisée. Sélectionnez Créer une action (figure 6).
- 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.
- Paramètres d’action
- Nom de l’action : CleanupVMwareTools-Windows.
- Sélectionnez l’option Activer cette action.
- Nom du document Systems Manager : AWS-RunPowerShellScript.
- Description : Exécutez un script PowerShell pour nettoyer les images Windows des outils VMware.
- Systèmes d’exploitation : Windows
- 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.) :
- 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 }
- WorkingDirectory: C:\Program Files\
- Délai d’exécution : 300
- Commandes :
- Paramètres d’action
- 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.
- Paramètres de l’action :
- Nom de l’action : CleanupVMwareTools-Linux.
- Sélectionnez l’option Activer cette action.
- Nom du document Systems Manager : AWS-RunShellScript
- Description : Exécutez un script Shell pour nettoyer les images Linux des outils VMware.
- Systèmes d’exploitation : Linux.
- Paramètres d’action :
-
- Commandes :
rm -f ./VMware
- Délai d’exécution : 300
Le modèle post-lancement (figure 9) montrera les deux actions nouvellement créées. Assurez-vous qu’ils sont définis comme Actifs.
É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.
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).
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.
- Dans la colonne Cycle de vie de migration, le statut du serveur doit indiquer Prêt pour le test.
- Dans la colonne État de la réplication des données, le statut du serveur doit être Sain.
- 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.
- Accédez à la page Serveurs source.
- Cochez la case située à côté de chaque serveur que vous souhaitez tester.
- Sélectionnez le menu Test et Basculement.
- 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).
- 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.
- 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
- Vous pouvez confirmer le lancement réussi de l’instance de test en observant divers indicateurs sur la page Serveurs sources (figure 13).
- Dans la colonne Alertes, le statut Lancé indique le lancement d’une instance de test pour ce serveur.
- Dans la colonne Cycle de vie de la migration, vous verrez le statut Test en cours.
- Dans la colonne Étape suivante, elle indique Terminer le test et marquer comme « Prêt pour le basculement ».
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.
- Sélectionnez Serveurs source et ouvrez les Paramètres de post-lancement
- 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
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).
Étape 6 – Lancer une instance de basculement
- 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.
- Sélectionnez le menu Test et basculement (Figure 16).
- Sous la section Test, sélectionnez l’option « Marquer comme « Prêt pour le basculement » ».
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).
- Le statut du cycle de vie de la migration est Prêt pour le basculement.
- Le statut de réplication des données est Sain.
- 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.
Pour lancer une instance de basculement pour un ou plusieurs serveurs sources.
- Visitez la page Serveurs sources et sélectionnez chacun des serveurs que vous souhaitez activer.
- Sélectionnez le menu Test et basculement.
- Sous Basculement (Figure 18), sélectionnez Lancer des instances basculées.
- Une fenêtre contextuelle s’affiche montrant les instances de basculement avec leurs noms respectifs qui seront lancées. Confirmer en sélectionnant Lancer.
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.
Sélectionnez votre serveur source pour afficher les détails de la tâche (Figure 20).
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) :
- Choisissez chaque serveur source que vous souhaitez couper.
- Sélectionnez : Finaliser le basculement.
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 :
- Commandes :
-
- Paramètres de l’action :