6

Мы используем S3, SimpleDB и SQS в довольно сложном проекте.Как я могу создать скрипт оповещения, когда мое использование Amazon Web Service превышает определенную сумму?

Я хотел бы иметь возможность автоматически отслеживать их использование, чтобы мы не тратили большие суммы денег, когда мы не собирались (возможно, из-за ошибки).

Есть ли способ прочитать данные об использовании всех веб-сервисов Amazon и/или текущую долларовую стоимость в реальном времени учетной записи из сценария?

Или любая служба или скрипт, который предоставляет оповещения на основе этого?

+0

Хороший вопрос - я люблю EC2, но я всегда находил, что это досадно dificult, чтобы разобраться с минимальными расходами на использование. –

+1

Возможно, вам повезло узнать об этом на форуме поддержки EC2; пожалуйста, напишите ответ, если вы его получите. –

+0

Спасибо Гарет. Я поставил вопрос здесь. Http://developer.amazonwebservices.com/connect/thread.jspa?threadID=45165 – frabcus

ответ

1

Я столкнулся с той же проблемой с экземплярами 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 и анализировать это в сценарий.

+0

Спасибо, и мы планируем, чтобы все наши экземпляры вымерли через некоторое время. Тем не менее, это все еще не останавливает ошибку, составляющую 10 000 экземпляров, и их взимают в течение часа. И это не останавливает другие ошибки при использовании SQS или S3, вызывая массовые сбои. – frabcus

2

Мы только что выпустили службу управления лабораторией, которая добавляет правила использования AWS: ограничения по времени, максимальное количество экземпляров, максимальные размеры машин и т. Д. Вы можете попробовать и посмотреть, помогает ли это: http://LabSlice.com. Поскольку это запуск, мы действительно ценим отзывы о том, как разрешать такие проблемы, как ваши (то есть, напишите мне, если вы считаете, что приложение может быть лучше изменено в соответствии с вашими требованиями).

Я не верю, что существует прямой способ контролировать расходы AWS на доллар. Я сомневаюсь, что Amazon предоставляет API для получения подробных показателей по использованию, поскольку, очевидно, это не будет в их интересах, чтобы помочь вам сократить расходы. На самом деле я столкнулся с двумя случаями, когда из-за неправильно сконфигурированных скриптов возникли неожиданно возникшие из-за неправильной настройки сценарии затраты на сюрприз, поэтому я знаю, что это может быть проблемой.

3

Amazon только что объявила, что теперь вы можете «настроить аварийные сигналы для любого показателя, который контролирует Amazon CloudWatch» (загрузка процессора, чтение и запись на диск, сетевой трафик и т. Д.). Кроме того, все экземпляры теперь имеют базовый мониторинг бесплатно.

Смежные вопросы