Автоматическое добавление новых бэкэндов в upstream nginx
Есть фронтэнд с несколькими бэкэндами в виде различных томкатов. Как бы реализовать такое, чтобы при запуске нового бэкэнда он автоматом прописывался в соответствующий upstream, а при остановке, соответственно, удалялся? Причина в том, что крутиться это будет на амазоне, и хотелось бы часть нагрузки вынести на дешёвые spot-инстансы, которые планируется подключать по мере надобности (например, по расписанию, когда у большинства клиентов начался рабочий день и они дружно ломанулись, либо из-за внезапного роста нагрузки на основной сервер). Амазоновский Load Balancer не слишком подходит - определённые поддомены вроде demo*, dev*, stage* (число которых тоже часто меняется) должны направляться на определённый же application-сервер, а не равномерно раскидываться на кого round-robin пошлёт. Химичить с днсами не выйдет - во-первых, у меня нет к ним доступа, а во-вторых, ждать, пока они обновятся, не вариант. Мне выдали *.site.com и всё на этом.
В данный момент рядом с nginx уже крутится один велосипед на uwsgi+python, добавляющий новые виртуальные хосты для поддоменов по шаблонам, когда пользователь жмёт кнопочку на сайте. В принципе, не слишком трудно привернуть к нему ещё одно колесо и дёргать его через тот же cloud-init, но хотелось бы понять, не является ли эта схема изначально порочной и не проглядел ли я чего-нибудь в силу малого опыта.