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

Автоматически прикрепить том EBS к новому спотовому инстансу?

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

У меня вопрос: как я могу автоматически смонтировать тот же том EBS на новом спотовом экземпляре после того, как цена упадет, если у него не будет ни одного из моих сценариев инициализации, которые я бы загрузил в корневой том в первый раз?

Нужно ли мне создавать собственный AMI или есть другой способ добиться этого?

Если вы просто хотите, чтобы экземпляр запускался с фиксированной начальной точкой при каждом запуске, вы можете:

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

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

Если вам нужно сохранять состояние между запусками экземпляра, вам нужно сохранить данные где-нибудь за пределами экземпляра / AMI. Например:

  1. Данные могут обновляться на S3, SimpleDB, DynamoDB, RDS и т. Д.

  2. Вы можете назначить постоянный том EBS, который экземпляр динамически подключает и монтирует при запуске. Это можно сделать с помощью сценария пользовательских данных.

Проверять, выписываться проект ec2-spotter на GitHub. Он был создан для решения описанной вами проблемы.

Проблемы (с 1 по 4), описанные в ответе @ mcenzm, реальны и правильно обрабатываются в ec2-spotter.

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

  1. Том, который вы хотите прикрепить, может не находиться в той же зоне, что и экземпляр? Зоны нельзя указать при запуске.
  2. Внутреннее присоединение с помощью сценария инициализации будет работать, но немного асинхронно, поэтому вам нужно будет проверить его или sleep 10 сказать.
  3. Я не могу понять, почему консоль AWS показывает «раздел» в качестве основного блочного устройства. Может быть, чтобы запретить нам пиратские образы Windows на другом разделе? (sda1 вместо sda). Удачи в поиске таблицы разделов.

  4. В настоящее время сложно подключиться с помощью интерфейса командной строки из внешней точки управления, что затрудняет использование снимков для управления версиями.

  5. В общем, я копирую ... tar.bz2 в другой ящик, а затем могу заполнить "рабочую область" при запуске. Это полезно только для небольших объемов данных, поэтому хорошая идея - создать основу для нового ami с обоими томами. В любом случае спотовые инстансы действительно хороши для "работы" или "перезапуска", поэтому концепция получения работы с сервера хорошо известна. Учитывая, что вы ждете максимум 9 минут для запуска, вы можете не возражать отформатировать свой (как можно меньший) диск.

    1. EBS все еще довольно ненадежный, и вам нужно доплачивать за "оптимизацию". Это все еще быстрее, чем пытаться загрузить вашу завершенную работу примерно через 90-е годы, когда цена экземпляра «занижена».

    2. Я подозреваю, что все это изменится с любым предложением "эластичного файла".

Возможное решение: запустить спотовый инстанс EC2 с EBS, затем остановить инстанс EC2, когда он вам не нужен, а затем запустить снова, так как EBS будет повторно подключен из-за новой функции.

https://aws.amazon.com/about-aws/whats-new/2020/01/amazon-ec2-spot-instances-stopped-started-similar-to-on-demand-instances/