В настоящее время я работаю над добавлением дополнительного шага в конвейер CI/CD нашей компании, чтобы мы делали резервные копии базы данных, прежде чем выполнять развертывание, которое потенциально может запускать миграции в нашей базе данных.
Чтобы сделать резервную копию, я аутентифицируюсь в Google Cloud Platform с помощью команды:
gcloud auth активировать-сервис-аккаунт --key-file /path/to/keyfile.json
После аутентификации я использую команду:
резервные копии gcloud sql create --async --instance имя_экземпляра
Мой вопрос о том, каковы последствия добавления асинхронного флага.Я понимаю, что это означает, что мой конвейер не будет ждать завершения резервного копирования, прежде чем перейти к следующему шагу, однако, если следующий шаг включает выполнение миграций, которые потенциально могут что-то сломать, значит ли это, что резервная копия, которую я сделал в предыдущий шаг может оказаться в промежуточном состоянии, когда миграция была частично выполнена?
Как Google на самом деле справляется с созданием резервных копий? Делают ли они моментальный снимок базы данных в этот момент времени, а затем делают резервную копию? Будет ли безопаснее удалить флаг --async, чтобы убедиться, что резервное копирование завершено, прежде чем запускать какие-либо потенциальные миграции?
Я пытался посмотреть документацию, но на самом деле это не вдается в подробности.