Как изменить тип экземпляра AWS-RDS без простоев?

Я использую AWS-RDS(Aurora MySQL5.6) и это кластер, он имеет один экземпляр устройства записи и один экземпляр устройства чтения. Я нахожу, что каждый экземпляр будет недоступен в течение почти 10 минут, когда я изменю его тип, это недопустимо, что я должен сделать, чтобы избежать простоя?

Вот более подробная информация:

  • Измените тип с db.t2.small на db.t2.medium
  • Версия двигателя: 5.6.10a
  • Свободная память: 300M
  • Соединения с БД (количество): ~400
  • Загрузка процессора (в процентах): ~20%

3 ответа

Вместо изменения типа текущего экземпляра модуля записи добавьте новый модуль записи с требуемым типом экземпляра:

  1. Добавьте считыватель Aurora с желаемым новым типом экземпляра (например, db.t2.medium) в кластер. Обязательно присвойте читателю наилучший приоритет, чтобы он был повышен до автора во время отработки отказа (для получения более подробной информации см. Документацию Aurora).
  2. Подождите, пока новый экземпляр не заработает.
  3. Затем выполните отказоустойчивый кластер, чтобы новый читатель был назначен писателем.
  4. Наконец, удалите предыдущий экземпляр Aurora старого типа.

Таким образом, у вас практически не будет простоев.

Если вы хотите изменить тип экземпляра считывателя:

  1. Добавьте читателя Aurora с желаемым новым типом экземпляра.
  2. Подождите, пока он не заработает.
  3. Удалить предыдущий экземпляр читателя.

На самом деле это звучит как идеальный вариант использования Serverless v2. Вам нужно будет запустить Aurora MySQL v3 (совместимый с MySQL 8.0). Но вы можете сказать: «Я хочу использовать где-то между 2 ГБ и 4 ГБ ОЗУ» (1–2 ACU), и Aurora решит, когда инстанс достаточно занят или достаточно простаивает для увеличения или уменьшения масштаба. Соединения и транзакции сохраняются во время масштабирования, поэтому нет простоев. Вы можете выбрать Serverless v2 для записи, чтения или обоих. При желании вы можете переключиться на Serverless v2 или вернуться к предопределенным классам экземпляров без необходимости повторного создания кластера.

Инструкции: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.html.

Я предполагаю, что вы используете облачное формирование или терраформирование для управления кластером и экземплярами базы данных. Я думаю, что добавление «dependsOn» в формирование облака может помочь вам в выполнении последовательного обновления.

например, экземпляр 1(читатель) зависит от экземпляра 2 (писатель)

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html

Другие вопросы по тегам