Новые инстансы никогда не будут подниматься за 1 наносекунду, да и за 1 секунду тоже. Для переживания пиков надо заранее увеличивать размер кластера.
По поводу ASG на основе своего AMI: образ надо регулярно обновлять дабы не отставать по системным пакетам и уменьшать время деплоя кода. Процесс простой: создаёте копию текущего Launch configuration с новым AMI ID, переключаете на него ASG (
настройки терминации инстансов по-умолчанию сами выводят инстансы по старости их конфига).
Про деплой кода при старте: ваша мысль верная, с помощью
User-Data (скрипт на баше или cloud-init - по вкусу), заодно избавляет от заморочек с уведомлением ASG о готовности инстанса т.к. является частью стандартного процесса запуска.