Назад | Перейти на главную страницу

Что более рентабельно: снимок состояния Amazon EC2 или AMI?

У меня есть инстанс Amazon EC2 на базе EBS (m4.xlarge) в рабочем состоянии. Этот, скажи example уже некоторое время используется и находится в таком состоянии, которое мы хотели бы иметь для всех наших будущих экземпляров. Какой из следующих двух подходов был бы более рентабельным?

  1. Снимок: создать снимок example. Затем каждый раз, когда требуется новый экземпляр, создавайте новый том из моментального снимка и присоединяйте его к экземпляру.

  2. AMI: создать изображение из example. В этом образе есть все необходимое, так что продолжайте запускать новые экземпляры из этого образа.

Какой из них будет более рентабельной стратегией в долгосрочной перспективе? Есть ли последствия между двумя подходами? Есть ли другие способы достичь той же цели?

Вопрос основан на неполной информации.

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

  • Если вы собираетесь создавать новые экземпляры, вам нужно начать с AMI. Вы не можете создать экземпляр без него. Когда вы запускаете инстансы, вы всегда выберите AMI, даже если это AMI с установленной на нем базовой ОС.

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


Многие возразят, что, особенно в облачной среде, лучшим подходом к предоставлению на основе снимков / образов является использование такого инструмента, как Ansible, для автоматического предоставления ваших машин, начиная с базовой установки ОС и заканчивая работающей системой со всеми зависимостями и код на месте - который позволяет вашей конфигурации существовать как набор воспроизводимых шагов, которыми вы можете управлять в системе контроля версий.

Конечно, «автоматически» звучит как волшебство. Мы не говорим о магии, мы говорим об автоматическом выполнении заранее определенного набора шагов, которые проверены и заведомо работают и дают желаемый результат.

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

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