Реплики чтения в 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. При использовании этих ядер варианты хранилищ, выбранные для реплик чтения и исходного инстанса БД, могут различаться. Выбор различных типов хранения для реплик чтения иногда позволяет оптимизировать производительность или снизить затраты.

Реплики чтения Amazon RDS дополняют возможности развертывания в нескольких зонах доступности. Хотя обе эти возможности предусматривают хранение второй копии данных, между ними есть существенные отличия.

Развертывание в нескольких зонах доступности Реплики чтения
Синхронная репликация – высокая надежность Асинхронная репликация – высокая масштабируемость
Активно только ядро базы данных на основном инстансе Все реплики чтения доступны и могут использоваться для масштабирования операций чтения
Резервные копии снимаются автоматически с резервного инстанса По умолчанию резервное копирование не настроено
Всегда охватывает две зоны доступности в одном регионе Могут находиться внутри одной зоны доступности, в разных зонах доступности и в разных регионах
Обновление версий ядра базы данных осуществляется на основном инстансе Обновление версий ядра базы не зависит от исходного инстанса
Обеспечивает автоматическую обработку отказа с переключением на резервную реплику при обнаружении проблемы Можно повысить вручную до отдельного инстанса базы данных

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

При использовании RDS для MySQL и MariaDB можно настроить реплики чтения в нескольких зонах доступности, что позволяет использовать реплики чтения в качестве назначения при аварийном восстановлении. При повышении реплики чтения до отдельной базы данных эта БД уже будет иметь поддержку нескольких зон доступности. Обратите внимание: RDS для PostgreSQL пока не поддерживает эту возможность.