У меня есть приложение, которое я хочу перенести на EC2. Скорее всего, он будет полностью бездействовать больше половины дня, поэтому я пытаюсь найти хорошее решение для запуска и остановки его по мере необходимости. Запуск с нуля занимает несколько минут, поэтому было бы неплохо, если бы я мог перевести ОС в спящий режим для более быстрого возобновления работы. Я видел пару дискуссий на форуме по теме гибернации в EC2, но никогда не было ничего убедительного. Кто-нибудь нашел для этого рабочее решение или хотя бы какие-то ресурсы, которые могли бы мне помочь?
Это обсуждалось на форумах EC2.
Основные моменты, прямо из уст Амазонки:
если вам удастся перевести ОС в спящий режим, ваш экземпляр все равно будет находиться в рабочем состоянии, т.е. вы будете платить за экземпляр.
как вы планируете вывести этот экземпляр из спящего состояния.
Это действительно не похоже на то, что это будет работать. Мы рекомендуем вам настроить свой экземпляр на автоматический запуск всех необходимых вам сервисов во время загрузки и использовать функцию остановки / запуска экземпляров, поддерживаемых EBS, в качестве решения вашей проблемы.
(или, говоря простым языком - не беспокойтесь. Это не сэкономит вам денег и, вероятно, все равно не сработает)
Наткнувшись на этот вопрос, теперь гибернация EC2 поддерживается в Ubuntu 18.04.
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html#hibernating-prerequisites
Я просто перевел в спящий режим Windows AMI на базе EBS, а затем перезапустил его, и он снова заработал нормально. Я предполагаю, что Linux работает так же (до тех пор, пока он сохраняет данные гибернации на томе EBS, а затем отключает виртуальную машину).
(гибернация была отключена в AMI, я включил с помощью
powercfg /H on
а затем переход в режим гибернации с
shutdown /h
)
PS: Обратите внимание на это: когда экземпляр останавливается, а затем запускается снова, все хранилища экземпляров сбрасываются! Операционным системам не нравится изменение содержимого диска между спящим режимом и возобновлением. (после возобновления работы ОС может по-прежнему показывать некоторые остатки предыдущего содержимого диска, которое кэшируется в файловом кеше ОС)
Старый вопрос, но похоже, что эта функция была реализована, по крайней мере, для Amazon Linux 1 с зашифрованным корневым томом. Надеюсь, поддержка Ubuntu на подходе.
https://aws.amazon.com/blogs/aws/new-hibernate-your-ec2-instances/