Мне нужно запустить сценарий очистки каждый раз, когда мой экземпляр места запланирован для завершения. У меня есть две причин для прекращения:EC2 уведомление о прекращении экземпляра экземпляра при уменьшении масштаба
- Ценовой, например спота превышает мое предложение
- даунскейлинга вызванного масштабирования политики AutoScaling группы (на основе среднего использования кластера процессора в 5 мин, случайный экземпляр прекращается).
Мне понравился простой скрипт ниже, который я нашел на блоге this. Он охватывает первый случай и дает мне 2 минуты для очистки перед выключением.
Есть ли простой способ получить такое 2-минутное уведомление для второго случая?
Возможно, предупреждение будет доступно через тот же URL-адрес?
#!/bin/bash
while true
do
if [ -z $(curl -Is http://169.254.169.254/latest/meta-data/spot/termination-time | head -1 | grep 404 | cut -d \ -f 2) ]
then
logger "Running shutdown hook."
# Call your shutdown script here.
break
else
# Spot instance not yet marked for termination.
sleep 5
fi
done
Но что, если экземпляр EC2 не находится в группе Auto scaling? В моем случае я использую EMR, в котором все экземпляры являются точными экземплярами в группе экземпляров задачи. И в EMR нет концепции группы автомасштабирования. Как я могу получить сигнал о завершении? – devsda