AWS Auto Scaling - подождите x минут до завершения работы сервера.

У меня есть приложение, которое постоянно собирает данные из активных подключений, а затем записывает скомпилированные / пакетные данные в конце каждой минуты.

У меня Amazon Auto Scaling работает с этими серверами. Проблема в том, что ... когда группа уменьшена, мне нужно, чтобы серверы записывали свои данные за последнюю минуту до того, как произойдет завершение после удаления из ELB.

Есть ли способ удалить экземпляр из балансировщика нагрузки, а затем иметь период ожидания X минут перед завершением работы экземпляра? (В идеале я бы подождал 2-5 минут до завершения экземпляра)

Любое руководство поможет

Спасибо


person miskiw    schedule 23.09.2013    source источник
comment
возможный дубликат: stackoverflow.com/ questions / 11208869 /   -  person yegor256    schedule 24.09.2013
comment
Я видел этот пост ... в нем в основном говорится, что это невозможно ... все можно сделать ... просто ищу способы, которыми люди это сделали. Я удивляюсь, если я могу сделать экземпляр нездоровым, а затем делать что-то вручную, если нужно.   -  person miskiw    schedule 25.09.2013


Ответы (1)


Один из вариантов - самостоятельно справиться с увольнением. Вместо того, чтобы настраивать автомасштабирование для уменьшения масштаба вашей группы экземпляров, поместите логику для определения необходимости завершения экземпляра в самом экземпляре. Как только вы решите, что экземпляр должен завершиться самостоятельно, выполните всю необходимую работу перед завершением, а затем вызовите команду as-terminate-instance-in-auto-scaling-group с параметром --decrement-desired-capacity, чтобы завершить работу экземпляра. Например.:

as-terminate-instance-in-auto-scaling-group --decrement-desired-capacity i-d15ea5e

См. Эту ветку форума AWS: https://forums.aws.amazon.com/thread.jspa?messageID=407743&tstart=0#407743.

person amolbk    schedule 28.10.2013