AWS Insight: RDS Read Replica

в 12:01, , рубрики: Amazon Web Services, AWS, RDS, replication, Администрирование баз данных, базы данных, Блог компании EPAM Systems, метки: , , ,

Привет сообщество! image

Сегодня бы хотелось рассказать и показать создание копии RDS инстанса только для чтения. Для многих не секрет, что при работе с высоконагруженными проектами создаются решения, когда пишется информация только в одно место, ну а читать её можно из многих источников.

AWS RDS MySQL предлагает такое решение, так сказать, «из коробки». В консоли или через CLI (API) вам предлагается создать реплику. Что же происходит «под капотом»?

  1. Создаётся образ существующего сервера. Эта операция может повлиять на I/O, как вы понимаете. Не стоит делать образ в загруженные часы.
  2. Из образа стартует новый инстанс, который конфигурится и становится репликой в режиме «только чтение» — RO.


Разрешено создавать до 5 реплик с одного сервера. Реплики, так же как и главный инстанс, могут быть созданы при помощи MultiAZ деплоймента для увеличения отказоустойчивости. В таком случае, при отказе реплики, RDS Endpoint автоматически переключается на клон инстанса в другой зоне.

Выходит, что мы можем хранить до 12 копий данных в пределах одного региона, но использовать 1 сервер для операций чтения/записи и до 5 только для чтения. Почему я отметил, что данные могут храниться в пределах региона? Потому что реплики нельзя создавать в других регионах.

Реплики могут быть разных типов с главным сервером. Стоит отметить, что сторадж для БД стоит держать одного размера, чтоб не было проблем с переполнением диска. Если увеличили диск на главном, стоит проделать те же действия на репликах.

Итак, как же мы можем создать реплику из CLI? Всё очень просто:

$ aws rds create-db-instance-read-replica --availability-zone us-east-1d --source-db-instance-identifier main --db-instance-identifier second

Здесь мы создаём новую реплику в зоне US-EAST-1D с сервера main. Имя реплики будет second.

В веб консоли всё выглядит тоже просто:
image

Жмём Create Read Replica и видим:
image

В последствии у нас будет 3 сервера в разных зонах доступности:
image

Дополнительные материалы про Read Replica:
aws.amazon.com/rds/
docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.html
www.mysqlperformanceblog.com/2012/12/20/how-to-stop-slave-on-amazon-rds-read-replica/

Автор: korjik

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js