Ec2instance d'automatisation avec un script python [dupliquer]

0

La question

Je suis en train de lancer un script python sur une instance ec2 . Le fichier python est résidant sur s3. Je suis en mesure d'exécuter manuellement à partir de l'instance ec2 à l'aide iam rôle qui permettent l'accès à s3 dossier et les fichiers.

La question est , comment puis-je automatiser le démarrage et l'arrêt de l'instance ec2 chaque fois que nécessaire et comment invoquer /pass un fichier python pour exécuter lors du démarrage de l'instance ec2 et arrêt de l'instance une fois que les fichiers python termine l'exécution.

Merci, Nikhil

3

La meilleure réponse

0

Vos exigences semblent être:

  • Planifier une instance Amazon EC2 pour démarrer à une heure spécifique chaque jour
  • L'instance doit exécuter un script Python après le démarrage
  • Lorsque le script Python a fini de s'exécuter, Arrêter l'instance

Démarrer l'instance EC2 sur un calendrier

Vous pouvez utiliser Amazon EventBridge pour déclencher une AWS Lambda fonction d' un calendrier.

Vous pouvez le code de la fonction Lambda pour appeler StartInstances() sur l'instance EC2 pour le Démarrer.

Exécuter un script au démarrage

Installer un script dans le /var/lib/cloud/scripts/per-boot/ répertoire. Ce script peut télécharger le programme en Python à partir de S3 et ensuite l'exécuter.

Lorsque l'instance EC2 démarre, il va automatiquement exécuter un script dans le répertoire.

Arrêtez l'instance lorsque le script est terminé

À la fin du script, ajoutez la commande:

shutdown -h now

Cela va désactiver l'instance et le placer dans l' Arrêté de l'état.

(Cette supposons que le script est exécuté en tant que root. Si elle est en cours d'exécution comme un autre utilisateur, il faudra utiliser sudo shutdown -h now.)

2021-11-23 12:16:28
0

Les instances EC2 utilisation cloudinit lesquels vous pouvez personnaliser pour exécuter un script à chaque démarrage. Vous pouvez utiliser utilisation régulière os outils de python à l'arrêt de votre instance (par ex. shutdown -h now).

2021-11-23 02:47:06
0

Voici une autre alternative pourrait être d'utiliser une fonction lambda à la place de l'instance EC2 pour exécuter le script python si le maximum de temps d'exécution du script est à moins de 15 minutes. Aller sans serveur avec AWS lambda plutôt que EC2. ajoutez simplement le code de votre script dans AWS lambda et le calendrier d'une fonction lambda de AWS événement pont de l'invoquer.

2021-11-23 16:23:14

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................