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.

0
Anshul Walia 4 nov. 2019 à 10:14

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

Données utilisateur AWS-EC2

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

aws-ec2-cli-userdata

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.

1
Adiii 4 nov. 2019 à 07:35