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

Сохранение постоянной файловой системы пользователя на спотовых инстансах AWS EC2

Заметил, что после нового амазонки AWS EC2 точечный экземпляр запускается автоматически (у меня эта опция включена), состояние файловой системы не является текущим (представляет последнее состояние перед тем, как предыдущий спотовый экземпляр автоматическое отключение из-за того, что текущая цена превышает установленный мной лимит). Я предполагаю, что начальное состояние файловой системы недавно запущенного спотового экземпляра основано на AMI что я использую для автоматический запуск точечный экземпляр. У меня есть следующие вопросы:

Возможно ли, и если да, то что можно сделать, чтобы автоматизировать сохранение состояния файловой системы перед автоматическим выключением и восстановление во время автоматического запуска нового спотового экземпляра? Если это невозможно, по крайней мере, можно ли автоматизировать загрузку и запуск сценариев оболочки, которые приведут систему в желаемое состояние (автоматическое обновление системы через apt-get, получите последний исходный код через git, и т.д.)?

Спасибо!

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

Видеть http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts-spot-instances-applications-ebs.html

Спотовые экземпляры (и на самом деле весь EC2) оптимизированы для случаев использования, когда вам не нужно поддерживать состояние. При настройке запроса спотового экземпляра вы указали идентификатор AMI, который каждый экземпляр использует для загрузки. Как вы обнаружили, изменения не возвращаются в этот AMI.

Если вам действительно нужна общая файловая система, настройте долго работающий (не спотовый экземпляр) сервер в EC2 и экспортируйте файловую систему NFS оттуда в свои спотовые экземпляры.

Если все, что вам действительно нужно сделать, - это запустить несколько команд при загрузке, чтобы обновить что-то и развернуть код, это можно сделать с помощью текста пользовательских данных, который вы можете настроить в запросе спотового экземпляра. Просто напишите сценарий оболочки, чтобы делать то, что вы хотите, а затем укажите это в качестве пользовательских данных в своем спотовом запросе (или любой другой конфигурации запуска экземпляра EC2). Этот сценарий будет выполняться от имени пользователя root при загрузке экземпляра.