2 votes

Comment démarrer automatiquement une instance EC2 uniquement lorsque le site est consulté ?

J'ai une application EC2 qui consomme beaucoup de CPU, mais elle n'est consultée que quelques heures par jour par un seul client. Je préférerais ne pas laisser une instance à forte consommation de CPU fonctionner en permanence. Existe-t-il un moyen de réduire l'utilisation de l'instance ?

Je suppose que j'ai besoin d'avoir une instance (peut-être une petite) qui tourne en permanence pour avoir quelque chose qui vérifie le trafic... et ensuite mettre en place quelque chose qui démarre/arrête l'instance à forte puissance et transmet le trafic.

Comment cela s'appelle-t-il ? Où puis-je trouver des informations sur sa configuration ? (Est-ce quelque chose que je peux faire avec apache sous ubuntu ?)

8voto

jnthnjns Points 121

L'équilibrage de charge élastique et la mise à l'échelle automatique d'Amazon pourrait être en mesure de faire cela comme une condition, mais ce qui pourrait être plus robuste est de il suffit de programmer le temps de fonctionnement pour cette instance dans une fenêtre de temps qui a du sens pour votre client.

Par exemple, cette instance est ouverte du lundi au vendredi de 9h00 à 12h00, sauf demande contraire (qui pourrait être un ticket qu'ils vous soumettent ou vous pourriez construire un frontal web sur une autre instance qui contrôle le comportement de démarrage/arrêt de l'instance).

2voto

DuStorm Points 106

Si votre instance a un "temps de fonctionnement" constant, vous pouvez la programmer pour qu'elle s'exécute à des heures spécifiques et la mettre hors service en dehors de cette fenêtre.

Vous pouvez utiliser un outil de planification maison (par exemple, exécuter quelque chose sur une autre instance) ou vous pouvez utiliser quelque chose comme Skeddly ( www.skeddly.com ) pour faire le gros du travail à votre place.

Divulgation : Je suis le PDG d'Eleven41 Software, la société derrière Skeddly.

1voto

Kevin Points 633

Si vous avez une micro instance exécutant une variante de Linux, vous pouvez facilement utiliser les outils de la ligne de commande Amazon pour démarrer et arrêter l'instance à l'aide de crontab.

pour modifier le fichier crontab, exécutez crontab -e pour le modifier et ajoutez une ligne comme celle-ci

(minute) (hour) (day of month) (month) (day of week) (command)

Ainsi, par exemple, si vous souhaitez démarrer le serveur à 5 heures du matin et l'arrêter à 22 heures tous les jours, vous utiliserez la commande suivante

0 5 * * * ec2-start-instances [instance id]
0 22 * * * ec2-stop-instances [instance id]

où vous mettez les identifiants des instances que vous voulez démarrer et arrêter.

Vous devrez installer les outils de ligne de commande ec2. Vous voudrez attribuer une IP élastique aux instances que vous souhaitez utiliser, afin qu'aucune configuration ne soit nécessaire lors de leur démarrage et que l'application qui les frappe puisse toujours les atteindre.

J'espère que cela vous aidera.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X