конфигурация aws rds multi-az

Aug 16 2020

В кластере aws rds postgresql (не aurora) есть экземпляр писателя и экземпляр читателя. Пара вопросов -

  1. В выходных данных команды describe-db-cluster отображается «MultiAZ»: true, но в описании-db-instance экземпляров этого кластера указано «MultiAZ»: false.
  • (a) Настроены ли экземпляры кластера для работы в нескольких зонах?
  • (b) Всякий раз, когда экземпляр писателя выходит из строя, я вижу, что читатель становится писателем, что немного сбивает с толку, потому что я думал, что разница между настройкой multi-az и реплики чтения заключается в том, что в случае автоматического переключения при отказе multi-az и в случае необходимости переключения реплики чтения запускаться вручную. Как получается, что реплика чтения становится первичной в случае аварийного переключения?
  • (c) Почему multi-az подтверждается на уровне кластера. Показывает ли он мульти-аз, потому что читатель и писатель находятся в разных азах?
  1. Как узнать, какой класс хранилища (подготовленный iops, gp2) используется экземплярами кластера? Я не могу понять это из выходных данных команды describe-db-instance или describe-db-cluster.

Ответы

Marcin Aug 16 2020 at 16:16

Я думаю, здесь есть некоторая путаница, что такое кластеры, полярные сияния, мульти-азимутальные и так далее.

«Кластер» относится только к Авроре. Таким образом, не существует такой вещи, как «кластер postgresql (не aurora)», и команда describe-db-clusterне будет работать с базами данных, отличными от Aurora. Если вы попытаетесь запустить его на экземпляре не aurora db, вы получите:

DBCluster <name> not found

В Aurora, MultiAZобеспечивается за счет Aurora реплики (т.е. читателей), в то время как в базах данных RDS, MultiAZобеспечивается через STAND-BY дб , например, которая отличается от чтения реплик.

Как получается, что реплика чтения становится первичной в случае аварийного переключения?

Потому что это именно то, что происходит, когда вы запускаете Аврору. В RDS резервный становится новым основным, а не репликой для чтения.

Почему multi-az подтверждается на уровне кластера. Показывает ли он мульти-аз, потому что читатель и писатель находятся в разных азах?

Да. В Aurora Multi-AZ активируется через считыватели в зонах доступности, отличных от основной.

Как узнать, какой класс хранилища (подготовленный iops, gp2) используется экземплярами кластера?

В Aurora нет такого понятия, как разные классы хранения. AWS использует различные решения для хранения данных собственной разработки .