Обновление Aurora serverless с MySQL 5.6 до 5.7 с помощью CloudFormation без потерь - PullRequest
3 голосов
/ 04 августа 2020

Контекст

Мне нужно обновить производственную бессерверную базу данных Aurora с MySQL 5.6 до 5.7. Все мои ресурсы развернуты как «Инфраструктура как код» с помощью CloudFormation.

Проблема

Обновление версии движка в шаблоне CloudFormation приведет к замене базы данных, что приведет к простою и потеря данных. У меня также есть много зависимых ресурсов, которые используют базу данных ARN для подключения. (ARN в настоящее время экспортируется как перекрестная ссылка.) -run?

Заранее спасибо!

1 Ответ

0 голосов
/ 04 августа 2020

Если вы посмотрите любую документацию CloudFormation, каждый параметр будет помечен Update requires. Это позволит определить, есть ли окончательная замена или условная замена вашего ресурса (или вообще нет).

Для кластера Aurora Serverless документация содержит множество параметров, которые заставят заменить этого.

То, как вы справитесь с этим, зависит от важности ресурса, помните, что даже запуск из моментального снимка повлечет за собой потенциальное время простоя, в течение которого любые данные, записанные в исходный кластер, также будут потеряны.

Лично я бы рекомендовал обратить внимание на следующие факторы:

  • Может ли ваша система работать без этой базы данных в течение любого периода времени? Если нет, вам следует запустить обе базы данных одновременно. Затем используйте службу типа DMS для синхронизации между ними. Как только вы будете довольны, выполните переключение.
  • Может ли ваше приложение работать в режиме только для чтения? В таком случае прекратите запись в исходную БД, а затем сделайте снимок. Создайте новую БД в качестве дополнительного ресурса и запустите из моментального снимка.

Я бы посоветовал попытаться создать это как дополнительный ресурс, поскольку, в отличие от большинства ресурсов, потерю вашей БД может быть не так просто откатить, если он был удален. Только как только вы будете уверены, удалите предыдущую БД.

...