Как я себе представляю решение:
В целом правильно. Идея простая - поднять новый инстанс, перестать слать траффик на старый, подождать пока закончится обработка запросов, убить старый. Это не фантастически сложно, но надо реализовать.
Или пользоваться оркестратором - K8S, и т.п.
Еще вариант - немного дороже, но надежнее - использовать managed service - AWS Elastic Beanstalk, Google App Engine , Heroku.