🇫🇷 Créer une AMI avec Packer
Édité: 2023-07-06 10:41
Packer est un utilitaire créé par nos amis d’Hashicorp, les crĂ©ateurs de Terraform, afin de crĂ©er des images serveur dĂ©ployables vers n’importe quel cloud.
Ici, nous allons nous intĂ©resser Ă comment crĂ©er une image EC2 (les serveurs d’AWS), c’est-Ă -dire une AMI sur AWS en crĂ©ant une image Ubuntu avec Docker et Docker-compose prĂ©-installĂ©.
Qu’est-ce qu’une AMI ?
AMI signifie Amazone Machine Images. Il s’agit d’une image de machine EC2 qui permet de lancer une instance rapidement. Les AMI sont très pratiques si vous avez besoin de reproduire une configuration Ă plusieurs reprises.
Vous pourriez tout Ă fait exĂ©cuter le mĂŞme script d’initialisation Ă chaque nouvelle instance EC2. Ou bien, en utilisant une AMI vous gagnez en simplicitĂ© et en temps en ayant une machine dĂ©jĂ configurĂ© selon vos besoins.
C’est quoi Packer ?
Packer vous permet donc de crĂ©er aisĂ©ment des images Ă l’aide de fichier de configuration. Cette approche sous forme de code est très pratique pour permettre de versionner ces images.
Installation
Je suis sous MacOS. Vous pouvez retrouver les autres commandes ici.
Installons Packer Ă l’aide de Brew :
1brew install packer
Pour vĂ©rifier que l’installation s’est bien passĂ©e :
1packer
Devrait vous sortir :
1Usage: packer [--version] [--help] <command> [<args>]
2
3Available commands are:
4 build build image(s) from template
5 console creates a console for testing variable interpolation
6 fix fixes templates from old versions of packer
7 fmt Rewrites HCL2 config files to canonical format
8 hcl2_upgrade transform a JSON template into an HCL2 configuration
9 init Install missing plugins or upgrade plugins
10 inspect see components of a template
11 plugins Interact with Packer plugins and catalog
12 validate check that a template is valid
13 version Prints the Packer version
CrĂ©ation de l’image
Dans un nouveau dossier packer
, créons un fichier docker-ami.pkr.hcl
. Ouvrons le avec notre IDE favoris et commenc
Déploiement
Nous allons maintenant voir comment créer notre AMI.
Tout d’abord il faut initialiser le rĂ©pertoire :
1packer init .
Cela permet Ă Packer d’installer les plug-ins que nous avons dĂ©fini dans le bloc packer
. Il faut relancer la commande si vous avez modifier ce dernier.
Un petit coup de formatage :
1packer fmt .
Et nous validons le fichier :
1packer validate .
Si Packer nous dit The configuration is valid.
, nous pouvons lancer la crĂ©ation de l’image :
1packer build docker-ami.pkr.hcl
Add AMI article