У меня есть приложение php / Laravel, развернутое на машине AWS t2.small EC2, служащей моим веб-сервером. 98% дня эта маленькая машина прекрасно справляется с обслуживанием HTTP и mySQL. Тем не менее, мне нужно выполнять огромную работу по обработке / пакетированию / вычислению около часа каждый день, и я изучал, как я мог бы использовать спотовые цены Amazon, чтобы каждый день увеличивать скорость сервера для этой ежедневной рабочей нагрузки.
Мое приложение использует очереди для запуска различных заданий, и я надеялся, что смогу использовать AWS SDK, чтобы автоматически сделать выборочный запрос, а затем добавить его в кластер для завершения обработки моей очереди.
Я просто немного не уверен в том, через какой процесс я это сделаю, и подумал, что я попрошу у этого сообщества какие-нибудь указатели или учебные пособия, которые покажут, как можно использовать экземпляры Spot для этой краткосрочной обработки рабочей нагрузки?
Заранее спасибо за любые указатели или предложения!
Если ваша работа по «огромной обработке / пакетированию / вычислению» может быть прервана, то точечные экземпляры могут быть полезны для вас. Однако, если эта работа должна быть завершена до следующего дня и не может быть прервана, я бы избегал использования точечных экземпляров.
Когда вы запрашиваете Точечный экземпляр, Вы указали цену предложения. Если ваша цена предложения ниже спотовой цены, вы не получите спотовый экземпляр. Также, если неиспользуемой емкости недостаточно, вы не сможете получить точечный экземпляр.
Лучше всего будет создать и запустить более крупный экземпляр по требованию, чтобы выполнять эту работу каждую ночь.
Спотовые цены могут отличаться в зависимости от AZ. Прежде чем запрашивать место, найдите, какой AZ имеет лучшую цену. Перебирайте каждые несколько минут, пока не будет выполнено одно из этих условий. А) спотовая цена ниже, чем ваша ставка в подсети, или б) достигнет предельного времени. Если вы не можете получить спотовую цену до порогового времени, переключитесь на запрос по требованию и продолжайте.
Обратите внимание, что пороговое время должно быть очень консервативным. Спотовые экземпляры могут потерпеть неудачу (из-за повышения цен), поэтому вам следует учитывать дополнительное время для переключения на запрос по требованию и при этом соблюдать время (SLA и т. Д.) Для обработки.
Проверьте спотовую цену:
http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-price-history.html
Запросить точечный экземпляр:
http://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-instances.html