Реплики чтения в Amazon RDS повышают производительность и надежность инстансов баз данных (БД). Такая возможность обеспечивает простое эластичное масштабирование с возможностью превышения ограничений ресурсов одного инстанса БД для выполнения рабочих нагрузок с большим количеством операций чтения. Для одного исходного инстанса БД можно создать одну или более реплик для обслуживания трафика приложений с большим количеством операций чтения с помощью различных копий данных, что позволит увеличить общую пропускную способность таких операций. Реплики чтения также могут быть назначены самостоятельными инстансами БД. Реплики чтения доступны в Amazon RDS для MySQL, MariaDB и PostgreSQL, а также для Amazon Aurora.

Для ядер БД MySQL, MariaDB и PostgreSQL Amazon RDS создает второй инстанс БД с помощью снимка состояния исходного инстанса БД. После этого при любом изменении исходного инстанса БД он обновляет реплику чтения с помощью встроенной системы асинхронной репликации движков. Реплика чтения работает как инстанс БД, разрешающий подключения только для чтения; приложения могут подключаться к реплике чтения, как к любому другому инстансу БД. Amazon RDS реплицирует все базы данных в исходном инстансе БД.

Amazon Aurora использует виртуализированный уровень хранилища на основе SSD, специально созданный для рабочих нагрузок БД. Реплики Amazon Aurora используют то же базовое хранилище, что и исходный инстанс, что позволяет сократить расходы и избавляет от необходимости копировать данные на узлы-реплики. Подробнее о репликации для Amazon Aurora см. в онлайн-документации.

Начните работать с AWS бесплатно

Создать бесплатный аккаунт

Уровень бесплатного пользования AWS с сервисом Amazon Relational Database Service (RDS) включает 750 часов работы инстанса БД Micro в месяц на один год, хранилище данных объемом 20 ГБ и 20 ГБ пространства для резервных копий.

Сведения об уровне бесплатного пользования AWS »

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

Чтобы дополнительно повысить производительность, Amazon RDS для MySQL позволяет добавлять индексы в таблицы прямо в реплике чтения, даже если их нет в ведущем инстансе.

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

Поскольку Amazon RDS для MySQL также позволяет выполнять на репликах чтения операции на уровне таблиц, например добавление индексов или новых столбцов, механизм повышения статуса реплики можно использовать для сужения области воздействия таких операций. Нужно просто настроить DDL на обращение к реплике чтения, сделать эту реплику ведущей, а затем перенаправить весь трафик базы данных на новый ведущий инстанс.

Реплики чтения в Amazon RDS для MySQL, MariaDB и PostgreSQL предоставляют дополнительный механизм обеспечения доступности в случае развертывания Amazon RDS в нескольких зонах доступности. При сбое основного узла можно назначить реплику чтения самостоятельным инстансом БД. В рамках реализации стратегии аварийного восстановления можно также выполнить репликацию инстансов БД в нескольких регионах AWS. Эта функциональная возможность представляет собой дополнение к синхронной репликации, автоматическому обнаружению сбоев и обработке отказов при развертывании в нескольких зонах доступности.

При создании реплики чтения в Amazon RDS для MySQL, MariaDB или PostgreSQL сервис организует безопасный канал связи между инстансом исходной БД и репликой чтения, применяя шифрование с открытым ключом даже при репликации между регионами. Amazon RDS самостоятельно настраивает всю инфраструктуру безопасности AWS, в частности, добавляет в группы безопасности записи, необходимые для обеспечения безопасного канала.

Можно дополнительно создавать реплики чтения для инстансов БД Amazon RDS для MySQL, MariaDB и PostgreSQL в том же регионе или в других регионах и шифровать их при хранении с использованием сервиса AWS Key Management Service (KMS).

Реплики чтения оплачиваются по тем же ставкам, что стандартные инстансы БД; к ним применимо такое же стандартное резервирование инстансов БД (зарезервированные инстансы RDS), как для инстансов БД того же класса в том же регионе. Подробные сведения см. на странице цен Amazon RDS.

C помощью Консоли управления AWS можно без труда добавить реплики чтения к существующим инстансам БД. Воспользуйтесь настройкой «Create Read Replica» для своего инстанса БД в Консоли управления AWS. Amazon RDS для MySQL, MariaDB и PostgreSQL позволяет создать до 5 реплик чтения для каждого инстанса БД.

Amazon RDS для MySQL, MariaDB и PostgreSQL предлагает три варианта хранилищ БД: универсальные тома (SSD), тома Provisioned IOPS (SSD) и магнитные тома. При использовании этих ядер варианты хранилищ, выбранные для реплик чтения и исходного инстанса БД, могут различаться. Выбор различных типов хранения для реплик чтения иногда позволяет оптимизировать производительность или снизить затраты.

При работе с ядрами БД MySQL, MariaDB и PostgreSQL Amazon RDS позволяет использовать реплики чтения параллельно с развертыванием в нескольких зонах доступности. При развертывании в нескольких зонах доступности данные основного инстанса БД синхронно реплицируются на резервный инстанс, находящийся в другой зоне доступности (AZ).

Развертывание в нескольких зонах доступности и реплики чтения можно использовать совместно для получения преимуществ обоих способов репликации. Требуется просто настроить исходный инстанс БД для реплик чтения при развертывании в нескольких зонах доступности. Это позволяет одновременно получить как преимущества надежности хранения и доступности данных при развертывании в нескольких зонах доступности, так и преимущества масштабирования операций чтения за счет реплик чтения. Обратите внимание, что настраивать реплики чтения в конфигурации нескольких зон доступности нельзя.

Чтобы еще больше повысить надежность, можно создать реплику чтения в другой зоне доступности, то есть не в зоне доступности основного или резервного инстанса, которые используются в таких развертываниях. Зону доступности резервного инстанса можно определить по полю инстанса БД «Secondary Zone» в Консоли управления AWS.