Я столкнулся с той же проблемой с экземплярами EC2, но обратился к ней по-другому - вместо того, чтобы отслеживать экземпляры, я автоматически их убивал после определенного количества времени. Из вашего описания это звучит так, как будто это не может быть практичным в вашей среде, но я думал, что буду делиться на всякий случай, если это поможет. Мой AMI был Fedora на основе, поэтому я создал следующий Баш скрипт, зарегистрировал его в качестве службы, и она была запускаться при старте:
#!/bin/bash
# chkconfig: 2345 68 20
# description: 50 Minute Kill
# Source Functions
. /etc/rc.d/init.d/functions
start()
{
# Shut down 50 minutes after starting up
at now + 50 minutes < /root/atshutdown
}
stop()
{
# Remove all jobs from the at queue because I'm not using at for anything else
for job in $(atq | awk '{print $1}')
do
atrm $job
done
}
case "$1" in
start)
start && success || failure
echo
;;
stop)
stop && success || failure
echo
;;
restart)
stop && start && success || failure
echo
;;
status)
echo $"`atq`"
;;
*)
echo $"Usage: $0 {start | stop | restart}"
RETVAL=1
esac
exit $RETVAL
Вы могли бы рассмотреть возможность сделать что-то подобное, чтобы удовлетворить ваши потребности. Если вы это сделаете, будьте особенно осторожны, чтобы остановить службу, прежде чем изменять изображение, чтобы экземпляр не выключился, прежде чем вы получите возможность переупаковать.
Если вы хотите, вы можете иметь закрытие экземпляры в фиксированное время (после того, как все уходит с работы?), Или вы могли бы пройти в Keep-Alive времени длина/выключения через -d
или -f
параметров ec2-run-instances
и анализировать это в сценарий.
Хороший вопрос - я люблю EC2, но я всегда находил, что это досадно dificult, чтобы разобраться с минимальными расходами на использование. –
Возможно, вам повезло узнать об этом на форуме поддержки EC2; пожалуйста, напишите ответ, если вы его получите. –
Спасибо Гарет. Я поставил вопрос здесь. Http://developer.amazonwebservices.com/connect/thread.jspa?threadID=45165 – frabcus