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

Удаленное упорядоченное завершение работы инстанса EC2?

Я пишу сценарий, который удаленно отключает экземпляры EC2 с помощью экземпляров ec2-terminate. Я хотел бы выполнять упорядоченное завершение работы (аналогично тем, которые запускаются командой Linux «shutdown») вместо простого отключения питания. Это дало бы мне время закрыть работающие службы и правильно размонтировать том EC2.

К сожалению, я не могу войти в эти экземпляры с помощью SSH, не выполнив много дополнительной работы. Есть ли простой способ запустить удаленное, упорядоченное завершение работы? Или мне нужно будет написать своего рода управляющего демона, который живет на сервере и который я могу ткнуть, когда хочу, чтобы сервер выключился?

Экземплярам EC2, которые были остановлены или завершены с помощью API, будут отправлены соответствующие команды, которые могут быть перехвачены демонами питания и использованы для инициирования завершения работы. Большинство операционных систем AMI и стандартных операционных систем уже знают, что делать при получении этих сигналов. То же самое и на настольных компьютерах, где кнопка питания отправляет специальное сообщение с запросом на выключение. Команда API terminate не «отключает» экземпляр.

Взгляните на экземпляры ec2-stop! Это выполняет команду shutdown -h now и отправляет экземпляр в остановленное состояние, но не завершает его работу. Если вы хотите завершить работу экземпляра, используйте после этого ec2-terminate-instance.

Как оказывается, ec2-terminate-instances делает выполнить нормальное завершение работы. Вот что я увидел, когда бежал tail -f /var/log/messages в системе во время удаленного выключения:

Apr 11 15:11:40 domU-12-31-39-09-9E-53 shutdown[22770]: shutting down for system halt
The system is going down for system halt NOW!9E-53 (Mon Apr 11 15:11:40 2011)
Apr 11 15:11:40 domU-12-31-39-09-9E-53 init: Switching to runlevel: 0
Apr 11 15:11:41 domU-12-31-39-09-9E-53 avahi-daemon[988]: Got SIGTERM, quitting.
Apr 11 15:11:41 domU-12-31-39-09-9E-53 avahi-daemon[988]: Leaving mDNS multicast group on interface eth0.IPv6 with address fe80::1031:39ff:fe09:9e53.
Apr 11 15:11:41 domU-12-31-39-09-9E-53 avahi-daemon[988]: Leaving mDNS multicast group on interface eth0.IPv4 with address 10.210.161.157.
Connection to 50.17.174.93 closed by remote host.
Connection to 50.17.174.93 closed.

Так что ничего особенного делать не надо. Экземпляр будет отключен в установленном порядке и исчезнет, ​​когда это будет сделано.