Comment migrer un serveur GNU/Linux depuis AWS vers Jotelulu

Découvrez comment migrer une machine GNU/Linux d’Amazon Web Services (AWS) vers votre infrastructure Jotelulu de manière simple.

Parfois, vous pouvez vous retrouver dans la situation où vous souhaitez migrer des machines de votre infrastructure précédente pour les unifier et les centraliser, et pour ce faire, vous avez besoin d’extraire le serveur de son emplacement précédent, qui dans ce cas est Amazon Web Services (AWS), et de le déplacer vers un nouvel emplacement, en l’occurrence Jotelulu.

Dans ce petit tutoriel, nous allons décrire comment effectuer ce processus de manière entièrement guidée.

 

Comment migrer un serveur GNU/Linux d’AWS vers Jotelulu ?

 

Prérequis ou préconfiguration :

Pour mener à bien ce tutoriel et importer un serveur d’Amazon Web Services (AWS) dans votre abonnement de serveurs Jotelulu, il sera nécessaire :

  • D’être inscrit sur la plateforme et connecté après vous être identifié.
  • D’avoir des autorisations d’administrateur d’entreprise ou d’un abonnement de serveurs.
  • D’avoir un abonnement AWS avec au moins un serveur à exporter.

Limites :

  • AWS ne permet pas d’exporter des images contenant des logiciels tiers fournis par AWS. Par conséquent, il n’est pas possible d’exporter Windows, SQL Server ou des images créées à partir d’une image AWS Marketplace.
  • Il n’est pas possible d’exporter des images avec des instantanés de volumes EBS chiffrés dans la configuration des volumes.
  • Vous ne pouvez exporter que les volumes de données EBS spécifiés dans la configuration des volumes. Vous ne pouvez pas exporter des volumes EBS associés après le lancement de l’instance.
  • Vous ne pouvez pas exporter des images depuis Amazon EC2 si elles ont été partagées depuis un autre compte AWS.
  • Vous ne pouvez pas lancer plusieurs tâches d’exportation d’images en même temps dans la même AMI.
  • Vous ne pouvez pas avoir plus de 5 tâches de conversion simultanées par région, mais vous pouvez augmenter ce nombre jusqu’à 20 manuellement.
  • Il n’est pas possible d’exporter des machines virtuelles avec des volumes de plus de 1 To.

Étape 0. Préparation de la machine GNU/Linux

Avant de commencer le processus de migration d’AWS vers Jotelulu, vous devez effectuer une préparation préalable du serveur en vérifiant les points suivants :

  • Il faut activer SSH (Secure Shell ou Shell sécurisé) pour permettre l’accès à distance.
  • Vous devez autoriser les sessions SSH distantes à travers tout pare-feu existant sur la machine (par exemple, iptables).
  • Vous devez créer un utilisateur supplémentaire (non root) pour travailler avec lui lors de sessions SSH (par exemple, créer l’utilisateur jotelulu).
  • Vous devez vérifier que la machine virtuelle utilise GRUB (Grand Unified Bootloader) (GRUB Legacy) ou GRUB 2 comme gestionnaire de démarrage.
  • Vous devez vérifier que le serveur GNU/Linux utilise l’un des systèmes de fichiers racine suivants : EXT2, EXT3, EXT4, Btrfs, JFS ou XFS pour éviter les problèmes.

Étape 1. Préparation de la ligne de commandes AWS sur le système à partir duquel vous allez lancer la migration

Une fois que la machine virtuelle que vous souhaitez extraire est prête, la première chose à faire est de préparer le système à partir duquel vous allez lancer l’opération (généralement votre poste de travail local) pour exécuter les commandes nécessaires à l’exportation du serveur.

La première étape consiste à pouvoir exécuter des commandes « aws cli », c’est-à-dire à pouvoir exécuter des commandes de l’interpréteur de ligne de commande AWS.

Pour ce faire, vous devrez vous rendre sur la page de l’interface en ligne de commande AWS et, si vous travaillez depuis un client Windows, télécharger l’application pour système 32 bits ou 64 bits.

En revanche, si vous travaillez depuis une machine GNU/Linux, vous devrez télécharger et installer les paquets Python et Pip.

Dans le cadre de ce tutoriel, nous supposerons que le lecteur dispose d’un système Microsoft Windows et nous suivrons les procédures avec ce système.

Étape 1. Télécharger et installer la version de AWS cli correspondant à notre langue.

Pour la version Windows, une fois l’application téléchargée, nous la lancerons avec un compte doté de privilèges d’administration système, puis nous suivrons le processus d’installation, qui consiste principalement en un simple processus de « suivant-suivant ». C’est pourquoi il n’est pas inclus ici, afin de ne pas rendre le tutoriel plus long.

Une fois l’installation terminée, vous devriez ajouter l’application au chemin d’accès de Windows pour pouvoir utiliser les commandes de n’importe quel emplacement dans le système.

Pour vérifier que tout s’est déroulé correctement et que vous pouvez utiliser les commandes AWS CLI depuis l’invite de commandes, exécutez la commande « aws –version » (1), qui affiche la version du programme installée sur le système.

Étape 1. Nous vérifions la version du CLI dans AWS.

Lorsque nous sommes sûrs que tout fonctionne correctement, il est temps de passer à l’étape suivante de l’opération.

 

Étape 2. Préparation du dépôt S3 AWS

La prochaine étape consistera à déployer un compartiment S3 au sein d’AWS, qui doit être dans la même région que la machine virtuelle que vous souhaitez extraire. Par exemple, si le serveur est hébergé en Irlande (eu-west-1), le compartiment S3 doit également être déployé en Irlande (eu-west-1).

Le déploiement de ce compartiment S3 peut se faire de plusieurs manières, par exemple, depuis « aws cli », à l’aide de Terraform ou depuis la console web. Dans notre cas, nous allons voir comment le faire depuis la console web, car c’est la méthode la plus simple.

En haut de la console AWS, vous pouvez trouver la barre de recherche, où vous devez saisir « S3 » (2), et parmi les options qui s’affichent, vous devez cliquer sur « S3 » (3).

Étape 2. Nous recherchons la console S3 et la sélectionnons pour effectuer le déploiement.

Une fois dans la console S3, vous devez aller en haut à droite et cliquer sur « Créer un répositoire » (4) pour lancer la création du nouveau compartiment S3.

Étape 2. Depuis Amazon S3, cliquez sur « Créer un répositoire ».

Dans la fenêtre « Créer un répositoire », vous devez entrer le nom que vous souhaitez donner dans « Nom du répositoire » (5), et vous devez également vérifier que vous allez le déployer dans la « Région AWS » (6) que vous souhaitez utiliser, comme nous l’avons mentionné précédemment, cela doit être la même que la machine virtuelle à exporter.

De plus, dans les propriétés d’objets, vous devrez cocher « ACL activées » (7).

Étape 2. Fournir un nom et un emplacement pour le nouveau référentiel S3.

Dans la « configuration du blocage d’accès public pour ce compartiment », décochez la case « Bloquer tout l’accès public » et acceptez l’avertissement concernant la modification de la configuration (8).

Étape 2. Décochez la case « Bloquer tout l’accès public ».

Le reste de la configuration reste tel qu’il est par défaut, et il vous suffira de cliquer sur « Créer un répositoire » (9).

Étape 2. Laissez les autres paramètres avec la configuration par défaut et créez le compartiment.

À ce stade, vous devrez attendre un moment pendant que le nouveau référentiel S3 se déploie, puis une fois qu’il est déployé, vous devrez y accéder pour effectuer la configuration finale. Pour ce faire, cliquez sur le nom (10).

Étape 2. Accédez au répositoire pour sa configuration.

Le point suivant à configurer dans le nouveau compartiment est l’autorisation d’accès, vous devrez donc cliquer sur l’onglet « Autorisations » (11).

Étape 2. Accédez à l’onglet des autorisations.

Une fois sur l’onglet « Autorisations« , allez dans « Liste de contrôle d’accès (ACL) » et cliquez sur « Modifier » (12).

Étape 2. Éditez la Liste de contrôle d’accès (ACL) dans les autorisations.

Une fois dans les ACL, rendez-vous en bas et cliquez sur « Ajouter un bénéficiaire » (13). À ce moment-là, vous devrez entrer la chaîne suivante : « c4d8eabf8db69dbe46bfe0e517100c554f01200b104d59cd408e777ba442a322« , qui sert pour la France, et cochez les cases d’écriture et de lecture (14).

Une fois ajouté, cliquez sur « Enregistrer les changements » (15).

Étape 2. Éditez les ACL pour ajouter un nouvel accès.

Avec cela, nous aurons préparé le S3 pour l’exportation et pourrons passer à l’étape suivante.

 

Étape 3. Processus d’extraction de la machine virtuelle AWS.

La première chose que nous ferons dans cette section est de localiser l’identifiant de l’instance (machine virtuelle) que nous souhaitons migrer.

Pour ce faire, vous devez vous rendre sur « EC2 » (Elastic Cloud Computing), c’est-à-dire les machines virtuelles d’AWS. Pour cela, saisissez « EC2 » dans la barre supérieure (16) et cliquez sur « EC2 : Serveurs virtuels dans le cloud » (17).

Étape 3. Recherchez « EC2 » parmi les services et accédez-y.

Dans la fenêtre initiale d’EC2, cliquez sur « Instances » (18) pour accéder à la section où toutes les instances sont affichées, qu’elles soient en cours d’exécution ou non.

Étape 3. Accédez aux instances AWS.

À ce stade, vous devez localiser l’instance que vous souhaitez migrer et copier l' »ID de l’instance » (19). Vous le réservez pour une utilisation ultérieure, dans cette même étape.

Étape 3. Copiez l’ID de l’instance que vous souhaitez exporter.

La prochaine étape consiste à extraire les informations de connexion de votre utilisateur AWS afin de lancer une console PowerShell depuis votre PC et exécuter les commandes.

REMARQUE : Dans le cas de Windows, utilisez la console PowerShell, tandis que dans le cas de GNU/Linux, cela se fera à partir de la console.

Vous pouvez extraire ces informations en accédant au profil de l’utilisateur via le haut de la console Web AWS. Pour ce faire, cliquez sur le nom d’utilisateur (20) et sélectionnez « Informations d’identification de sécurité » (21).

Étape 3. Accédez aux informations d’identification de sécurité de l’utilisateur de la console AWS.

Une fois dans « Informations d’identification de sécurité », déployez « Clés d’accès (ID de clé d’accès et clé d’accès secrète) » (22).

Dans cette section, vous devez créer de nouvelles clés de connexion, alors cliquez sur « Créer une clé d’accès » (23).

Étape 3. Créez de nouvelles clés d’accès.

Une fois cela fait, une fenêtre contextuelle s’affichera, affichant l' »ID de clé d’accès » et la « clé d’accès secrète ».

À ce stade, vous devez faire deux choses : d’une part, copier ces données, que vous utiliserez pour la connexion depuis PowerShell, et d’autre part, cliquer sur « Télécharger le fichier de clés » (24) et l’enregistrer sur votre ordinateur.

Étape 3. Enregistrez les nouvelles clés d’accès fraîchement générées.

Maintenant que nous avons les informations de connexion, nous sommes prêts à lancer la console PowerShell (qui doit être exécutée avec des droits d’administrateur pour éviter les problèmes) et effectuer plusieurs opérations.

Après avoir vérifié cela, ouvrez un éditeur de texte tel que Notepad++ ou gVim pour créer un fichier appelé « file.json » avec le contenu suivant :

{
"DiskImageFormat": "VHD",
"S3Bucket": "bucketnacho01",
"S3Prefix": "vms/"
}

Où :

  • « DiskImageFormat » fait référence au format dans lequel les serveurs seront extraits, qui sera VHD dans ce cas pour être importé dans Jotelulu.
  • « S3Bucket » doit être le nom du compartiment que nous avons créé et qui recevra l’exportation de l’instance au format VHD.
  • « S3Prefix » désigne le répertoire généré pour stocker ce qui a été extrait.

Une fois créé et enregistré dans un répertoire de votre ordinateur, notez ce chemin pour l’inclure dans la commande qui sera exécutée par la suite.

REMARQUE : Dans le cas de GNU/Linux, vous devrez ajouter les autorisations de lecture à ce fichier.

Dans la console PowerShell, nous aurons besoin que notre système soit authentifié auprès de notre abonnement AWS. Pour cela, nous devrons charger les variables d’environnement, qui sont au nombre de trois :

  • $Env:AWS_DEFAULT_REGION='REGION_DE_NOTRE_MACHINE_Y_S3'

  • $Env:AWS_ACCESS_KEY_ID='CLÉ_D_ACCES'
  • $Env:AWS_SECRET_ACCESS_KEY='CLÈ_D_ACCES_SECRETE'

Les données à utiliser sont celles que vous avez obtenues précédemment.

Un exemple pourrait être :

  • $Env:AWS_DEFAULT_REGION='eu-west-1'
  • $Env:AWS_ACCESS_KEY_ID='BEGHC3T2OQ53AJHKIAZA'
  • $Env:AWS_SECRET_ACCESS_KEY='DGIjWLv0w/ad Ei1960e8ehUVfwRSTKhGrFlXE6rs'

Pour les charger, il vous suffit de les saisir directement dans la console ().

  • $Env:AWS_DEFAULT_REGION='eu-west-1'
  • $Env:AWS_ACCESS_KEY_ID='BEGHC3T2OQ53AJHKIAZA'
  • $Env:AWS_SECRET_ACCESS_KEY='DGIjWLv0w/ad Ei1960e8ehUVfwRSTKhGrFlXE6rs'

Pour vérifier le fonctionnement dans PowerShell et vérifier si les variables d’environnement ont été chargées correctement, vous pouvez utiliser la commande « echo » suivie du nom de la variable d’environnement, en effectuant une requête comme celle-ci :

echo $Env:AWS_DEFAULT_REGION
echo $Env:AWS_ACCESS_KEY_ID
echo $Env:AWS_SECRET_ACCESS_KEY
Étape 3. Chargeons les variables d’environnement pour la connexion à AWS.

Dans le cas de GNU/Linux, nous pouvons effectuer cette opération en utilisant la commande « export » de la manière suivante :

export AWS_DEFAULT_REGION='eu-west-1'
export AWS_ACCESS_KEY_ID='BEGHC3T2OQ53AJHKIAZA'
export AWS_SECRET_ACCESS_KEY='DGIjWLv0w/ad Ei1960e8ehUVfwRSTKhGrFlXE6rs'

Nous pouvons vérifier qu’elles ont été chargées en lançant un « echo » de n’importe laquelle d’entre elles, en ajoutant un symbole dollar ($) au préalable :

echo $AWS_DEFAULT_REGION

Dans ce cas, il nous renverrait « eu-west-1 », c’est-à-dire le contenu de cette variable système.

Exemple de chargement des variables d’environnement pour la connexion AWS sur Centos 7.

Ensuite, vous devez exécuter la commande « aws ec2 create-instance-export-task » (25) pour déclencher l’exportation de la machine virtuelle.

aws ec2 create-instance-export-task --instance-id <ID-INSTANCE> --target-environment microsoft --export-to-s3-task file://<ROUTE-VERS-FICHIER>

Où :

  • « <ID-INSTANCE> » doit être remplacé par l’ID de l’instance ou de la machine virtuelle que nous avons précédemment extrait.
  • « <ROUTE-VERS-FICHER> » doit représenter le chemin où le fichier « file.json » est stocké.

Un exemple pourrait être :

aws ec2 create-instance-export-task --instance-id i-whahahaha --target-environment microsoft --export-to-s3-task file://C:\import\file.json
Étape 3. Exécutez la commande d’exportation de l’instance vers notre S3.

De la même manière, vous pouvez exécuter la commande depuis un système GNU/Linux en utilisant une syntaxe identique, qui différerait seulement dans le cas du chemin vers le fichier « file.json ».

Étape 3. Lancez la migration depuis CentOS 7.

Ensuite, vous devrez naviguer jusqu’au compartiment S3 pour vérifier si les données ont été copiées.

REMARQUE : C’est un processus dont la durée d’exécution peut varier considérablement, en fonction de la taille du serveur que vous souhaitez exporter.

Une fois que vous avez localisé le compartiment vers lequel la machine virtuelle a été exportée, cliquez sur son nom (26) pour y accéder.

Étape 3. Accédez au répositoire sélectionné pour l’exportation.

Ensuite, vous devez localiser le dossier où les fichiers exportés ont été enregistrés (27), comme défini précédemment dans le fichier « file.json », qui dans cet exemple était « /vms ».

Étape 3. Localisez le dossier où vous avez enregistré l’exportation.

À ce stade, si tout s’est bien passé, vous aurez deux options : télécharger directement le VHD (28) ou copier l’URL (29) pour l’utiliser à l’étape suivante, pour la migration vers Jotelulu.

Étape 3. Copiez l’URL de téléchargement ou téléchargez le VHD directement.

Avec cela, nous avons terminé l’opération du côté d’AWS.

 

Étape 4. Téléversement de la machine vers Jotelulu

Pour commencer le processus de migration du côté de Jotelulu, vous devez ouvrir le menu des migrations situé dans la Zone Partenaires. Une fois à l’intérieur, cliquez sur « Nouvelle migration » (30).

REMARQUE : L’apparence de cette fenêtre d’accueil peut varier si des migrations ont déjà été effectuées, car vous pourrez voir une liste d’éléments migrés.

Étape 4. Démarrez une nouvelle migration depuis le menu des migrations de Jotelulu.

À ce stade, un menu guidé commencera, dans lequel vous devrez effectuer une série de sélections pour préparer le système au chargement du serveur sur Jotelulu.

La première chose à sélectionner est le type de service à migrer, qui sera dans ce cas le service de serveurs. Vous devez donc cocher « Serveurs » (31) dans le menu.

Étape 4. Sélectionnez le service de serveurs.

Ensuite, vous devrez indiquer si vous souhaitez sélectionner un serveur de type physique ou virtuel. Dans ce cas, la migration est de type virtuel, vous devez donc cocher « Virtuel » (32) dans le menu et continuer.

La section suivante concerne la manière dont le disque à importer sera chargé. Vous devez sélectionner « Disques Virtuels Compatibles » (33) car c’est le format dans lequel il est fourni depuis AWS.

Vous devez également choisir la méthode de livraison de ce disque virtuel à Jotelulu. Dans ce cas, bien que deux méthodes soient possibles, FTP ou téléchargement par URL, vous opterez pour « téléchargement par URL » (34) car c’est plus rapide, évitant l’intermédiaire du client.

REMARQUE : Lorsque vous effectuez le téléversement par URL, il doit être fait à partir de l’ordinateur où vous avez effectué l’opération AWS.

Vous devez fournir les informations sur les disques virtuels à importer (35). Pour ce faire, vous devez indiquer le nom du fichier à importer, y compris son extension (définie à l’étape 3), l’URL du disque à importer, fournie à partir du compartiment à l’étape 3, et vous devez également sélectionner s’il s’agit d’un disque système ou de données (le disque principal du système d’exploitation doit être de type système, tous les autres peuvent être de données). Enfin, vous devez donner un nom au disque qui sera utilisé pour l’identifier ultérieurement dans la console.

Enfin, cliquez sur « Suivant » (36) pour enregistrer les données et poursuivre le déploiement.

Étape 4. Sélectionnez le format et l’emplacement des données.

Vous devrez fournir des informations sur l’organisation, l’abonnement et la zone de disponibilité (37) vers laquelle vous souhaitez téléverser ce nouveau disque. Cela dépendra des organisations et abonnements attribués au client, de sorte que s’il en a plusieurs, il pourra en choisir un en fonction de ses besoins. S’il n’en a qu’un seul, il ne pourra en choisir qu’un. En ce qui concerne la zone de disponibilité, le client peut opérer de la même manière que pour les autres services.

Le dernier choix de cette section, « Voulez-vous déployer un nouveau serveur avec les disques durs importés ? » (38), dépendra de votre décision de déployer ou non cette machine virtuelle à ce moment-là, ou si vous préférez laisser l’image téléversée pour une utilisation ultérieure. Le choix le plus courant est généralement « Oui ».

Étape 4. Sélectionnez l’organisation, l’abonnement et le déploiement.

En sélectionnant « Oui », toute la configuration du serveur à migrer s’affiche, et vous devrez sélectionner toutes les informations relatives à la manière dont le nouveau serveur sera configuré dans Jotelulu.

La première chose à faire dans cette nouvelle section est de donner un nom au serveur (39), qui peut contenir des espaces, car c’est ainsi qu’il sera identifié.

Ensuite, vous devrez sélectionner le système d’exploitation (40) exécuté par ce nouveau serveur.

La prochaine étape consistera à sélectionner la taille du serveur (41), où la capacité de calcul du serveur, définie par le CPU et la RAM, sera décrite. Elle devra être dimensionnée en fonction des besoins du client.

Enfin, vous devrez sélectionner le type de réseau (42) en fonction de la nécessité d’un réseau standard ou d’une VPC.

Enfin, cliquez sur « Terminer » (43).

Étape 4. Préparez le déploiement du serveur.

Une fois ce processus terminé, les bases de la migration du serveur du côté de Jotelulu ont été établies, et cela déclenchera une série de processus internes qui aboutiront au déploiement du nouveau serveur sur la plateforme Jotelulu. Ce serveur sera accessible dans le cadre de l’abonnement aux serveurs souscrit par le client.

Conclusions et prochaines étapes : Le processus de migration de serveurs entre des environnements cloud peut être complexe, mais chez Jotelulu, nous cherchons toujours à concevoir nos processus et nos outils en pensant à la simplicité et au confort de nos clients.

C’est pourquoi la migration d’un serveur depuis AWS vers le cloud de Jotelulu est un processus simple et entièrement guidé à travers notre plateforme, qui vous permettra de rejoindre notre famille sans rencontrer de problèmes en cours de route. Cependant, si vous rencontrez des difficultés, n’hésitez pas à nous contacter pour que nous puissions vous aider.

Si, par hasard, ce contenu a suscité votre intérêt et que vous souhaitez en savoir plus sur un autre processus de migration en particulier, n’hésitez pas à consulter les tutoriels suivants :

Bienvenu chez Jotelulu !

Categorías:Migration, Serveurs

Merci de nous laisser vos coordonées, un de nos experts vous contactera dans les plus brefs délais.

growth@jotelulu.com  |  +33 1 87 65 31 20  |  jotelulu.com 

Vous pouvez vous désabonner de ces communications à tout moment. Consultez notre politique de confidentialité.