Je vais lancer quelques instances ec2 avec jenkins en utilisant aws cli, puis je veux faire ssh dans ces instances et y installer des packages. utilisez le plugin SSH car je ne connais pas l'ip au préalable. Toute aide serait appréciée.
1 réponse
Je veux ssh dans ces instances et y installer des paquets
Si c'est la seule raison pour laquelle vous souhaitez utiliser ssh, je ne recommanderai pas d'installer le package à l'aide de ssh après la création de l'instance. mieux mettre ces installations en commande dans les données utilisateur ou créer une AMI qui a déjà ces packages.
Données utilisateur et scripts shell
Si vous connaissez les scripts shell, c'est la manière la plus simple et la plus complète d'envoyer des instructions à une instance au lancement. L'ajout de ces tâches au démarrage augmente le temps nécessaire au démarrage de l'instance. Vous devez prévoir quelques minutes de temps supplémentaire pour que les tâches se terminent avant de tester que le script utilisateur s'est terminé avec succès.
Dans l'exemple de script ci-dessous, le script crée et configure notre serveur Web.
#!/bin/bash
yum update -y
amazon-linux-extras install -y lamp-mariadb10.2-php7.2 php7.2
yum install -y httpd mariadb-server
systemctl start httpd
systemctl enable httpd
usermod -a -G apache ec2-user
chown -R ec2-user:apache /var/www
chmod 2775 /var/www
find /var/www -type d -exec chmod 2775 {} \;
find /var/www -type f -exec chmod 0664 {} \;
echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php
Utilisez-le avec AWS-cli
aws ec2 run-instances --image-id ami-a4c7edb2 --count 1 \
--instance-type t2.micro --key-name mynewkey \
--subnet-id subnet-5630306b --user-data file://ud.txt
Ainsi, l'utilisation de ce qui précède est la manière standard de gérer l'installation et la configuration d'Ec2 au moment de la création d'instance, vous n'aurez pas non plus besoin d'IP d'instance.
De nouvelles questions
bash
Pour des questions sur les scripts écrits pour le shell de commande Bash. Pour les scripts shell avec des erreurs / erreurs de syntaxe, veuillez les vérifier avec le programme shellcheck (ou sur le serveur web shellcheck à https://shellcheck.net) avant de poster ici. Les questions sur l'utilisation interactive de Bash sont plus susceptibles d'être sur le sujet sur Super User que sur Stack Overflow.