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

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

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

Масштабирование чтения и аварийное восстановление

Преимущества

Повышенная производительность

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

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

Повышенная доступность

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

Проектирование с учетом безопасности

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

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

Настройка

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

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

Реплики чтения, развертывание в нескольких зонах доступности и развертывание в нескольких регионах

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

Развертывание в нескольких зонах доступности

Развертывание в нескольких регионах

Реплики чтения

Основная задача – обеспечение высокой доступности

Основная задача – аварийное восстановление и обеспечение высокой производительности локально

Основная задача – масштабирование

За пределами сервиса Aurora – синхронная репликация. В пределах сервиса Aurora – асинхронная репликация

Асинхронная репликация

Асинхронная репликация

За пределами сервиса Aurora – активен только основной инстанс. В пределах сервиса Aurora – активны все инстансы

Все регионы доступны и могут использоваться для операций чтения

Все реплики чтения доступны и могут использоваться для масштабирования операций чтения

За пределами сервиса Aurora – резервные копии снимаются автоматически с резервного инстанса. В пределах сервиса Aurora – резервные копии снимаются автоматически с общего уровня хранения

Резервные копии могут сниматься автоматически с каждого региона

По умолчанию резервное копирование не настроено

Всегда охватывает по крайней мере две зоны доступности в одном регионе

Для каждого региона можно выполнять развертывание в нескольких зонах доступности

Могут находиться внутри одной зоны доступности, в разных зонах доступности и в разных регионах

За пределами сервиса Aurora – обновление версий ядра базы данных осуществляется на основном инстансе. В пределах сервиса Aurora – все инстансы обновляются вместе

За пределами сервиса Aurora – обновление версий ядра базы данных осуществляется независимо в каждом регионе. В пределах сервиса Aurora – все инстансы обновляются вместе

За пределами сервиса Aurora – обновление версий ядра базы данных не зависит от исходного инстанса. В пределах сервиса Aurora – все инстансы обновляются вместе

Автоматическая обработка отказов с переключением на резервную реплику (за пределами сервиса Aurora) или реплику чтения (в пределах сервиса Aurora) при обнаружении проблем

Aurora позволяет назначить второстепенный регион в качестве основного

Можно повысить вручную до отдельного инстанса базы данных (за пределами сервиса Aurora) или до основного инстанса (в пределах сервиса Aurora)

Вы можете совмещать реплики чтения вместе с другими возможностями Amazon RDS и пользоваться всеми их преимуществами. Например, можно настроить исходную базу данных в нескольких зонах доступности для обеспечения высокой доступности и создать реплику чтения (в одной зоне доступности) для масштабирования операций чтения. Или же можно использовать Aurora Global Database, чтобы реплицировать в другие регионы данные из инстанса Aurora, развернутого в нескольких зонах доступности.

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

Подробнее о возможностях Amazon RDS
Подробнее о возможностях RDS

Изучите основные возможности Amazon RDS 

Подробнее 
Зарегистрировать аккаунт AWS
Зарегистрировать бесплатный аккаунт

Получите мгновенный доступ к уровню бесплатного пользования AWS. 

Регистрация 
Начать разработку с помощью Amazon RDS в консоли
Начать разработку в консоли

Начните работу в Консоли управления Amazon RDS

Войти