Короткий ответ
Reserved instances — скидка, привязанная к конкретному типу инстанса и региону на фиксированный срок; savings plans/committed use discounts — обязательство тратить определённую сумму в час на вычисления, с гибким применением скидки к разным типам инстансов. Риск избыточного резервирования — оплата за обязательство, которое со временем перестаёт соответствовать фактическому использованию.
Как это работает подробнее
reserved instances жёстко привязаны к параметрам инстанса, поэтому при смене типа скидка может перестать применяться; savings plans привязаны к сумме расходов в час и автоматически применяются к широкому набору использования, что даёт больше гибкости при изменении инфраструктуры.
Пример кода
example.txt
Reserved Instance: m5.large, eu-west-1a, 1 год, no upfront -> скидка ~36%, привязана к типу
Compute Savings Plan: обязательство $5/час на 1 год -> скидка применяется
автоматически к любому типу/семейству инстансов в рамках этой суммыЧто использовать на практике
- Рекомендация. перед покупкой любого обязательства анализируют историю фактического использования за несколько месяцев и выбирают уровень, соответствующий консервативной оценке минимальной базовой нагрузки; большинство провайдеров позволяют продавать неиспользуемые reserved instances на вторичном рынке, что стоит учитывать как план Б.
- Проверка. отчёт об утилизации обязательств должен показывать близкую к 100% фактическую утилизацию купленной ёмкости/суммы; устойчиво низкая утилизация — сигнал, что обязательство было куплено с избытком.
Подводные камни
- Риск. фиксировать обязательство на 3 года под архитектуру, которая, как известно, будет меняться, теряя гибкость
- Риск. покупать обязательство под пиковую, а не базовую нагрузку
- Риск. не отслеживать утилизацию уже купленных обязательств, из-за чего часть скидки фактически не используется.