Agence web » Actualités du digital » Comment créer et utiliser des images de machines Amazon personnalisées (AMI)

Comment créer et utiliser des images de machines Amazon personnalisées (AMI)

Les AMI sont similaires aux ISO du système d'exploitation, mais sont plus qu'un simple système d'exploitation. Ce sont des modèles de base sur lesquels vous pouvez construire; ils contiennent le système d'exploitation, les logiciels préinstallés et les fichiers de configuration dont le serveur a besoin pour fonctionner.

Les AMI sont plus qu'un système d'exploitation

Il existe de nombreuses AMI «fraîches» qui ne sont qu'un système d'exploitation; par exemple, Amazon Linux 2 ou Ubuntu Server LTS 18.04 (bien qu'Amazon Linux soit livré avec l'AWS CLI préinstallée). Si vous voulez juste une installation de serveur vierge avec Linux prêt à l'emploi, vous pouvez les choisir.

Cependant, de nombreuses AMI contiennent des logiciels supplémentaires adaptés à différentes tâches. AWS a tout un navigateur communautaire pour ceux-ci, où un rapide défilement vous trouvera de nombreuses AMI comme celle-ci:

Cette AMI est basée sur Ubuntu et est livrée avec des pilotes et des logiciels destinés à être utilisés avec les GPU Nvidia pour l'apprentissage automatique. Il existe des images prédéfinies pour toutes sortes de choses sur le navigateur de la communauté.

Toutes les AMI du navigateur de la communauté ont été créées par quelqu'un et vous pouvez faire de même. Supposons que vous hébergiez une application Web et que vous souhaitiez créer un deuxième serveur, soit pour la redondance, soit simplement pour répondre à une demande croissante. Vous pouvez choisir une AMI vierge, passer un après-midi à installer tout ce dont vous avez besoin pour exécuter votre application, copier votre code et résoudre les éventuelles erreurs.

Vous pouvez également créer une AMI à partir de votre serveur actuel et créer un clone parfait en quelques minutes. Cela vous évite les maux de tête liés à la réinstallation et à la reconfiguration nginx chaque fois que vous créez une nouvelle instance.

Créez vos propres images pour empaqueter votre plate-forme

Une petite remarque: si vous prévoyez d'utiliser plusieurs serveurs pour un seul service, vous souhaiterez probablement disposer d'un Elastic Load Balancer devant eux. Cela vous permettra de pointer votre DNS vers l'équilibreur de charge et d'équilibrer le trafic entre toutes vos instances. Sans cela, il n’est pas vraiment utile d’avoir plusieurs serveurs.

La création d'une AMI est simple: vous pouvez facilement copier votre serveur actuel ou créer un nouveau serveur pour configurer l'AMI avec exactement ce que vous voulez. Quel que soit l'itinéraire que vous choisissez, lorsque vous avez terminé de configurer le serveur, accédez à EC2 Management Console et recherchez votre instance dans la liste Instances.

Cliquez avec le bouton droit sur votre instance et sélectionnez Image> Créer une image. Vous serez redirigé vers cette boîte de dialogue, où il n'y a pas grand chose à faire si ce n'est de donner à votre instance un nom et une description facultative.

Par défaut, AWS créera un instantané de votre volume EBS racine sur lequel baser votre AMI. Cet instantané comprend votre système d'exploitation, tous vos logiciels installés et vos fichiers.

Vous voudrez probablement avoir un moyen de maintenir votre code à jour après la création de l'AMI, qu'il s'agisse de créer régulièrement de nouvelles AMI pour les changements majeurs, d'utiliser la gestion de version avec git, d'exécuter des applications conteneurisées avec Docker ou simplement d'utiliser EFS pour fournir tout de vos instances avec un système de fichiers partagé.

Votre AMI prendra quelques minutes à créer, en fonction de la taille de votre volume EBS racine. Une fois cela fait, il sera visible dans l'onglet "AMI" de la console de gestion EC2.

Lorsque vous créez un nouveau serveur, vous pouvez choisir votre AMI sous l'onglet «Mes AMI»:

Vous pouvez également cliquer avec le bouton droit sur l'AMI dans l'onglet AMI pour lancer une instance à l'aide de cette AMI.

Utilisation d'AMI personnalisées comme base pour les groupes d'autoscaling

Les groupes d'autoscaling sont une fonctionnalité fantastique d'AWS: ils peuvent permettre à votre réseau de se développer pour répondre à la demande et de le réduire lorsque la demande est faible. Si une instance du groupe d'autoscaling devient défectueuse (c'est-à-dire surchargée de trafic), une nouvelle instance peut être créée automatiquement pour répondre aux besoins de trafic. Souvent, vous pouvez utiliser des instances EC2 Spot, ce qui peut être beaucoup moins cher que la location à la demande.

Lorsque vous créez un groupe d'autoscaling, vous créez un modèle de lancement qui définit les propriétés des serveurs lancés automatiquement. Une partie de ce modèle de lancement est l'AMI; Vous pouvez utiliser une AMI «de base» vierge comme Amazon Linux 2, ou vous pouvez utiliser votre propre AMI personnalisée avec votre logiciel préinstallé.

Une fois que vous avez défini votre AMI, vous pouvez créer le reste du groupe d'autoscaling comme d'habitude.

Cela aide beaucoup avec les temps de chargement des nouveaux serveurs; Si vous créez constamment de nouveaux serveurs pour répondre efficacement aux fluctuations de la demande, votre plus gros goulot d'étranglement sera le temps nécessaire pour démarrer, exécuter et traiter les demandes des clients.

Plutôt que d'attendre quelques minutes pour l'installation du logiciel, tout préinstallé sur une AMI réduit les temps de démarrage à un peu plus de 45 secondes environ pour lancer une instance EC2 ordinaire.

★★★★★