3.26 Les données d'utilisateur EC2 AWS
Dans cette leçon nous découvrons les EC2 User Data. Il est possible de personnaliser une instance EC2 lors de sa création en lui passant un script qui s'exécutera automatiquement au premier lancement. Ces scripts permettent d'installer des paquets, de mettre à jour le système, de télécharger du contenu, de configurer des services — bref tout ce qui peut être automatisé. Le script s'exécute avec les droits super-utilisateur.
Pour la démo, on résilie d'abord la première instance puis on en lance une nouvelle. On reste sur Amazon Linux 2 et le type t2.micro (Free Tier). Dans les Advanced details de l'étape de configuration, on trouve le champ User data où l'on colle le script :
#!/bin/bash
yum update -y
yum install -y httpd
systemctl start httpd
systemctl enable httpd
echo "<h1>Je suis le serveur $(hostname -f)</h1>" > /var/www/html/index.html
Le #!/bin/bash est obligatoire — il indique l'interpréteur. Le script met à jour le système avec yum update -y, installe Apache (httpd), démarre et active le service au boot, puis crée une page d'accueil personnalisée affichant le hostname de l'instance. Pour le reste de la configuration, on garde un stockage par défaut et on choisit le même groupe de sécurité que la première instance (ports 22 et 80 ouverts).
Une fois l'instance lancée et démarrée, on copie son IP publique dans le navigateur : la page "Je suis le serveur ip-172-31-x-x" s'affiche directement, sans qu'on ait eu à se connecter en SSH pour installer quoi que ce soit. On peut aussi se connecter en SSH avec la nouvelle paire de clés pour vérifier le contenu de /var/www/html/index.html. Les User Data sont un outil incontournable pour automatiser le déploiement et configurer ses instances de façon reproductible.