Кодовая база моего приложения написана на Django, а конвейер развертывания - на AWS.
Использование конвейера кода AWS с: службами Code Deploy и Code Build.
Проблема заключается в том, что при выполнении миграций базы данных возникают взаимоблокировки из-за других сервисов / контейнеров EC2 / ECS2, которые все еще работают во время миграции.
Как я могу остановить все контейнеры ECS и предотвратить их запуск до завершения миграции?
Решением было бы создать еще один шаг в конвейере кода перед этапом миграции и использовать aws-cli, чтобы установить число задач для каждой службы ECS на 0, и каким-то образом подождать, пока все они будут остановлены.
После этого запустите миграцию и верните обратно сервисы ECS.
Есть ли лучшее, более простое решение, чем использование aws-cli и создание пользовательских сценариев?
Конвейер развертывания должен сначала остановить все другие службы, запустить миграцию, а затем запустить все службы. Простои в этом случае не проблема.