Ec2instance automação com o script python [duplicado]

0

Pergunta

Eu estou tentando executar um script python na instância do ec2 . O python arquivo está residindo no s3. Eu sou capaz de executar manualmente a partir instância do ec2 usando a função do iam, o que permite o acesso ao s3 pasta e arquivos.

A pergunta é , como posso automatizar o início e parar de instância do ec2, sempre que necessário e como invocar /passar um arquivo python para executar ao iniciar a instância do ec2 e parar a instância uma vez que os arquivos python, completa a execução.

Obrigado, Nikhil

3

Melhor resposta

0

Suas exigências parecem ser:

  • Agende uma instância do Amazon EC2 para iniciar em um horário específico do dia
  • A instância deve executar um script Python após o início
  • Quando o script em Python foi concluída em execução, Pare a instância

Iniciar a instância do EC2 em um cronograma

Você pode usar o Amazon EventBridge para acionar um AWS função Lambda em uma agenda.

Você pode codificar a função Lambda para chamar StartInstances() na instância do EC2 para iniciá-lo.

Executar um script na inicialização

Instalar um script para o /var/lib/cloud/scripts/per-boot/ diretório. Este script pode baixar o programa Python a partir do S3 e, em seguida, executá-lo.

Quando a instância do EC2 é iniciado, ele irá automaticamente executar qualquer script no diretório.

Parar a instância quando o script for concluído

No final do script, adicione o comando:

shutdown -h now

Isto irá desligar a instância e colocar na Interrompido estado.

(Isto assume que o script está sendo executado como root. Se ele é executado como outro usuário, ele vai precisar usar sudo shutdown -h now.)

2021-11-23 12:16:28
0

Instâncias do EC2 usar cloudinit que você pode personalizar para executar um script fornecido a cada boot. Você pode usar o uso regular de ferramentas de sistemas operacionais a partir do python para encerrar sua instância (por exemplo, shutdown -h now).

2021-11-23 02:47:06
0

Aqui, outra alternativa poderia ser a utilização de lambda função em vez de instância do EC2 para executar o script em python se o máximo de tempo de execução do script está a menos de 15 minutos. Vá sem servidor com o AWS lambda, ao invés de incluir EC2. basta adicionar o seu código de script no AWS lambda e agendar função lambda a partir do evento da AWS ponte para invocá-lo.

2021-11-23 16:23:14

Em outros idiomas

Esta página está em outros idiomas

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