Вы можете сэкономить 50 % на счете AWS EC2 с помощью спотовых инстансов

Вы можете сэкономить 50 % на счете AWS EC2 с помощью спотовых инстансов
Вы можете сэкономить 50 % на счете AWS EC2 с помощью спотовых инстансов

Спотовые инстансы разработаны с учетом меняющихся рабочих нагрузок с гибким временем начала и окончания. Но при использовании с Auto Scaling он может стать заменой инстансов по требованию за небольшую часть стоимости.

Спотовые инстансы экономят около 50-70 %

Спотовые инстансы - это особый вид инстансов EC2, которые позволяют AWS продавать свободные вычислительные мощности, часто с большими скидками. Они могут быть прекращены AWS в любое время с уведомлением за две минуты, но показатели прекращения довольно низкие (менее 5% в месяц в большинстве случаев), и они в любом случае предназначены для использования в группе автоматического масштабирования.

Цены на спотовые инстансы колебались в течение дня, как на фондовом рынке, что затрудняло оценку общих ежемесячных затрат на эксплуатацию парка постоянно доступных спотовых инстансов и приводило к довольно частому прекращению работы инстансов.

Однако AWS исправила эту проблему в начале 2018 года, и теперь спотовые инстансы работают совсем по-другому. Вместо того, чтобы делать ставки на свободные вычислительные мощности и позволять сообществу определять цену, AWS устанавливает цену на минимальное значение, по которому они готовы продать свои свободные вычислительные мощности.

Это приводит к тому, что цены на спотовые инстансы довольно постоянны, а также действуют гораздо дольше. Большинство колебаний происходит в течение месяца, а не беспорядочных ежедневных всплесков. Большинство примеров, таких как серия

c5, остаются довольно плоскими:

c5 большие цены
c5 большие цены

В некоторых экземплярах почти нет колебаний, например, в серии

t2

/

t3. Текущие цены на спотовые инстансы можно просмотреть в консоли EC2 в разделе «Спотовые запросы» > «История цен»:

Просмотрите текущие цены на спотовые инстансы из консоли EC2 в разделе
Просмотрите текущие цены на спотовые инстансы из консоли EC2 в разделе

"История цен"." />

В среднем вы, скорее всего, сможете сэкономить не менее 50%, а в большинстве последних экземпляров - до 70%. AWS утверждает, что спотовые инстансы могут сэкономить вам «до» 90 %, но это в основном просто маркетинг, поскольку единственные 90 % экономии приходятся на более старые типы инстансов, которые AWS больше редко продает.

Это помещает спотовые экземпляры в очень полезное место. Они стоят примерно столько же, сколько 3-летний контракт на зарезервированный инстанс, без очевидного недостатка, связанного с 3-летним контрактом.

Автоматическое масштабирование устраняет недостатки спотовых инстансов

Можно подумать, что большая экономия средств будет компенсирована другим недостатком, но на самом деле это не так. Основная проблема со спотовыми инстансами заключается в том, что они могут быть остановлены AWS в любое время с уведомлением всего за две минуты. Звучит как проблема, но с Auto Scaling эта проблема сведена к минимуму.

Auto Scaling - это функция AWS, которая масштабирует архитектуру вашего сервера в соответствии со спросом. Если ваш веб-сервер становится перегруженным, автоматически создается новый, чтобы сбалансировать нагрузку. Это требует, чтобы вы автоматизировали жизненный цикл вашего сервера, от установки пакетов до запуска и запуска вашего кода, но в противном случае настроить довольно просто.

Auto Scaling пытается поддерживать целевое количество серверов, и в случае сбоя одного из ваших серверов можно запустить новый сервер на замену. Это также работает для спотовых инстансов - в случае, если AWS восстанавливает вычислительные мощности, на его месте может быть создан новый спотовый инстанс. Если у вас есть несколько экземпляров в группе Auto Scaling, у вас не будет простоев. Время, необходимое для настройки автоматического масштабирования, является единственным недостатком спотовых инстансов, но вам нужно сделать это только один раз, чтобы ежемесячно экономить кучу денег на вычислительных затратах.

Спотовые инстансы очень хороши, по сравнению с ними стоимость On-Demand выглядит странно завышенной. Спотовые инстансы, похоже, представляют собой реальную цену, по которой AWS готова продавать свои инстансы - они хотят, чтобы вы адаптировались к их схеме масштабируемых сервисов, использующих парки серверов, так как это лучше как для роста вашего бизнеса, так и для прибыли AWS, и они используют более низкие цены, чтобы побудить вас настроить автоматическое масштабирование. Автоматическое масштабирование само по себе также экономит деньги, а в сочетании со спотовыми инстансами оно делает запуск масштабируемых рабочих нагрузок, таких как веб-серверы, намного дешевле, чем зарезервированные инстансы.

Конечно, если все, что вам нужно, это один веб-сервер и вы хотите, чтобы он был доступен 100% времени, может иметь смысл использовать зарезервированный экземпляр (что сэкономит вам аналогичную сумму денег), а не настраивать группу Auto Scaling. Спотовые инстансы оправданы только в том случае, если у вас более одного инстанса, в противном случае вы можете столкнуться с коротким временем простоя, если AWS вернет инстанс.

Как работать с автоматическим масштабированием

Вы можете прочитать наше полное руководство по настройке автоматического масштабирования, но суть его довольно проста.

Во-первых, вам нужно найти способ автоматизировать жизненный цикл вашего сервера. Вы должны создать скрипт построения, который может обрабатывать все настройки, которые вы обычно делаете, если бы вы вручную создавали новый сервер. Хотя это может занять некоторое время, это гарантирует, что масштабирование может происходить автоматически. Чтобы ускорить создание новых экземпляров, создайте собственный образ AMI, который включает в себя все предустановленное программное обеспечение (и даже ваш собственный код, если вы выберете).

Далее создайте новую конфигурацию запуска на вкладке Auto Scaling в консоли EC2. Эта конфигурация содержит всю информацию о том, как серверы запускаются в группу Auto Scaling, такую как тип экземпляра, образы и сценарии запуска. На вкладке «Подробности настройки» установите флажок «Запросить спотовые инстансы».

Создайте новую конфигурацию запуска на вкладке «Автоматическое масштабирование», а на вкладке «Сведения о настройке» установите флажок «Запросить спотовые инстансы»
Создайте новую конфигурацию запуска на вкладке «Автоматическое масштабирование», а на вкладке «Сведения о настройке» установите флажок «Запросить спотовые инстансы»

Использование спотовых инстансов в группе автомасштабирования не имеет особых недостатков, если только ваше приложение действительно не может справиться с прерываниями на уровне сервера. Хорошее эмпирическое правило заключается в том, что если ваше приложение можно легко сбалансировать по нагрузке, оно, скорее всего, не будет иметь проблем с использованием спотовых инстансов.