среда, 1 марта 2017 г.

AWS Как вызвать свой скрипт при EC2 terminated

AWS EC2 Linux как бы должна по идее иметь стандартные механики старт-стопа. Так оно и есть, если делать именно Start/Stop. При отработке Terminate Instance (например в ASG убивается Instance по Scale Down) поведение будет иное чем при Stop.
Возникла задача:
При старте EC2 должна прописаться в Route 53 в виде Record Set а так же создать Health Check для использования Record Set Weighted.
И конечно же при умирании - чистить за собой эти ресурсы (Health Check и R53 Record Set нужно удалить).
Все бы хорошо - создаются записи, ресурсы при старте. При Terminated скрипты в rc0.d не отрабатываются как ожидается. Схема в этом случае меняется на вот такую - отработают скрипты, которые стартовали как systemd и прописались в /var/lock/subsys.
Поэтому в стартовый скрипт нужно добавить как минимум touch /var/lock/subsys/myService.
Скрипт Stop как и прежде должен быть в /etc/init.d и слинкован в /etc/rc0.d например механикой chkconfig.

Комментариев нет: