Ec2instance de automatización con secuencia de comandos de python [duplicar]

0

Pregunta

Estoy tratando de ejecutar una secuencia de comandos de python en la instancia de ec2 . El archivo de python es que residen en el s3. Yo soy capaz de ejecutar manualmente desde la instancia de ec2 con función de iam que permiten el acceso a s3 de carpetas y archivos.

La pregunta es, ¿cómo puedo automatizar el inicio y parada de la instancia de ec2 siempre que sea necesario y cómo invocar /pasar un archivo de python para ejecutar al iniciar la instancia de ec2 y detener la instancia una vez que los archivos de python finaliza la ejecución.

Gracias, Nikhil

3

Mejor respuesta

0

Sus necesidades parecen ser:

  • Programar una instancia de Amazon EC2 para comenzar a una hora específica cada día
  • La instancia debe ejecutar una secuencia de comandos de Python después de iniciar
  • Cuando la secuencia de comandos de Python se ha terminado de ejecutar, Detener la instancia

Inicio de la instancia de EC2 en un horario

Puede utilizar Amazon EventBridge para desencadenar una de AWS Lambda función de una programación.

Puede el código de la función Lambda para llamar StartInstances() en la instancia de EC2 para iniciarlo.

Ejecutar una secuencia de comandos de inicio

Instalar un script en el /var/lib/cloud/scripts/per-boot/ directorio. Esta secuencia de comandos puede descargar el programa en Python desde el S3 y, a continuación, ejecútelo.

Cuando la instancia de EC2 se inicia, se ejecuta automáticamente cualquier secuencia de comandos en el directorio.

Detener la instancia cuando el script finaliza

Al final de la secuencia de comandos, agregue el comando:

shutdown -h now

Este se apague la instancia y el lugar en el Parado del estado.

(Esto supone que la secuencia de comandos se ejecuta como root. Si se está ejecutando como otro usuario, deberá utilizar sudo shutdown -h now.)

2021-11-23 12:16:28
0

Las instancias de EC2 uso cloudinit que usted puede personalizar para ejecutar un script determinado en cada arranque. Usted puede utilizar el uso regular de os de herramientas de python para el apagado de la instancia (por ejemplo, shutdown -h now).

2021-11-23 02:47:06
0

Aquí otra alternativa podría ser utilizar la función lambda en lugar de la instancia de EC2 para ejecutar la secuencia de comandos de python si el máximo tiempo de ejecución del script está a menos de 15 minutos. Ir serverless con AWS lambda en lugar de EC2. sólo tiene que añadir su código de secuencia de comandos en AWS lambda y horario de la función lambda de AWS puente de eventos para invocarlo.

2021-11-23 16:23:14

En otros idiomas

Esta página está en otros idiomas

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