2016-02-22 1 views
1

Je cours une instance dans Amazon AWS et elle fonctionne sans arrêt tous les jours. J'utilise l'instance ubuntu ec2 qui exécute Apache, l'outil Mirthconnect et le serveur LAMP. Je veux exécuter cette instance uniquement sur la durée d'une journée. Je préfère ne pas utiliser d'autres services AWS tels que le cloud-watch. Existe-t-il un moyen de réaliser cela?Automatisez le démarrage et l'arrêt de l'instance AWS

Le principal objectif est d'utiliser les données de l'extraction Mirthconnect base de données MySQL

+0

Vous pouvez y parvenir est de deux liens ways.These vous aider: https://aws.amazon.com/premiumsupport/knowledge-center/stop-start-ec2-instances/ et https://alestic.com/2011/11/ec2-schedule-instance/ Le plus simple est de gérer un script shell, utilisez aws-cli pour démarrer votre instance, mais pour cela, vous aurez besoin des informations d'identification aws. – devd

Répondre

0

Je suppose que pour que vous aurez besoin d'une autre machine qui est 24x7. Sur lequel vous pouvez écrire un travail cron en python en utilisant boto ou tout autre langage comme bash.

Je ne vois pas comment vous démarrez une instance en état stopped sans utiliser d'autre machine.

Ou vous pouvez avoir un simple pi de framboise à votre domicile qui fait le travail ON-OFF pour vous en utilisant AWS CLI ou simple Python. Et à propos de ça? ;)

+0

Je veux dire, si l'instance est déjà en cours d'exécution et que nous avons juste besoin de nous arrêter à un moment précis, puis réexécutez l'instance. Exécuter un script cron-job pour arrêter et démarrer une autre instance est une bonne chose. Mais en considérant une solution à long terme, l'utilisation d'une autre instance aura plus de chances d'augmenter les coûts. Y a-t-il un autre moyen préférable que nous pouvons atteindre? –

+0

Oui Cela augmentera les coûts, mais si vous avez un RPi de rechange, vous pouvez le faire. Il y a peut-être d'autres manières possibles mais je ne les connais pas! –

+0

et pourquoi quelqu'un me rejetterait :(ce n'est pas une mauvaise approche complète! –

1

Il existe 3 solutions.

AWS Data Pipeline - Vous pouvez planifier le démarrage/arrêt de l'instance comme Cron. Cela vous coûtera une heure de l'instance t1.micro pour chaque démarrage/arrêt

AWS Lambda - Définir une fonction lambda déclenchée à une heure prédéfinie. Votre fonction lambda peut démarrer/arrêter des instances. Votre coût sera très minime ou 0 $

Écrivez un script shell et exécutez-le comme un travail cron ou exécutez-le à la demande. Le script aura la commande AWS CLI pour démarrer et arrêter l'instance.

J'ai utilisé Data Pipeline pendant longtemps avant de passer à Lambda. Data Pipeline est très trivial. Collez simplement les commandes AWS CLI pour arrêter et démarrer les instances. Lambda est plus impliqué.