Boto Exécuter la commande du shell sur une instance ec2
Je suis novice à l'EC2 et boto. J'ai un EC2 instance en cours d'exécution et je veux exécuter une commande shell, comme par exemple apt-get update
par boto.
J'ai beaucoup cherché et trouvé une solution à l'aide de user_data
dans le run_instances de commande, mais que si l'instance est déjà lancé?
Je ne sais même pas si c'est possible. Aucune idée de ce document de référence sera d'une grande aide.
- Grâce Steffen pour le montage. Souvenez-vous le des corrections.
- Connexes: Comment SSH et exécuter des commandes dans EC2 avec boto3?
Vous devez vous connecter pour publier un commentaire.
Le nom de boto.gérer.cmdshell module peut être utilisé pour ce faire. Pour l'utiliser, vous devez avoir le paramiko paquet installé. Un exemple simple d'utilisation:
Qui a été tapé à partir de la mémoire, mais je pense que c'est correct.
Vous pouvez aussi consulter Tissu (http://docs.fabfile.org/) qui a les mêmes fonctionnalités, mais a également beaucoup plus sophistiquée des caractéristiques et des capacités.
cmdshell
vous devez installer paramiko. Il n'est pas répertorié comme une dépendance dans boto, car il peut être difficile à installer sur certaines plates-formes etcmdshell
n'est pas de base de boto fonctionnalité.ssh_client.run('ls -al')
doivent se terminer avant la prochaine occurrence de l'exécution de la commande?Je pense que vous pouvez utiliser un tissu pour votre exigences. Il suffit de cocher le tissu wrapper une fois . Vous pouvez exécuter la commande à distance de shell du serveur par le biais de la bibliothèque de tissu.
Il est très facile à utiliser et vous pouvez intégrer à la fois boto et de tissu . Ensemble, ils travaillent brillant.
Plus la même commande peut exécuter pour un nombre n de nœuds. Qui, je crois, pourrait être à vos exigences
Juste check it out.
Oui, vous pouvez le faire avec AWS gestionnaire de Systèmes. AWS Gestionnaire de Systèmes d'Exécution de Commande vous permet à distance et en toute sécurité d'exécuter des commandes sur EC2 ainsi serveur sur site. Ci-dessous sont les étapes de haut niveau pour atteindre cet objectif.
Joindre Instance rôle IAM:
L'instance ec2 doit avoir un rôle IAM avec la politique AmazonSSMFullAccess. Ce rôle permet à l'instance de communiquer avec le directeur des Systèmes d'API.
Installer SSM de l'Agent:
L'instance EC2 doit avoir SSM agent est installé. Le SSM processus de l'Agent de la commande exécuter les demandes & la configuration de l'instance conformément à la commande.
Exécuter la commande :
Exemple d'utilisation via AWS CLI:
Exécutez la commande suivante pour récupérer les services en cours d'exécution sur l'instance. Remplacer Instance-ID de l'ec2 id d'instance.
Des informations plus détaillées: https://www.justdocloud.com/2018/04/01/run-commands-remotely-ec2-instances/