Автоматически подключить EBS-том к новому точечному экземпляру?


14

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

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

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

Ответы:


11

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

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

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

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

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

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


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

1
Когда вы создаете запрос спота, вы указываете пользовательские данные, которые должны передаваться каждому новому экземпляру спота.
Эрик Хаммонд,

Ах, я не понял, с облаком-init ставить #! Сначала в пользовательских данных исполняется скрипт. Спасибо
Джефф

3
@Jeff: Да, я изобрел это, и популярные AMI приняли его :-) alestic.com/2009/06/ec2-user-data-scripts
Эрик Хаммонд,

Вдобавок к этому, возможно ли, чтобы точечный экземпляр монтировал определенный том EBS в качестве корневого диска при запуске?
Дерек Моррисон

5

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

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


Не знаю, кто это проголосовал, но это значит, что я могу перестать тратить время, пытаясь его кодировать! Любить это.
Джереми

3

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

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

    введите описание изображения здесь

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

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

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

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


1
1. Вы указываете подсеть, которая связана с зоной AZ. 2. Дождаться появления / dev / xvdx легко. 3. Насколько это актуально?
Морган Кристиансон

0

Возможное решение для запуска точечного инстанса 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/

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.