Read Replicas для масштабирования чтения
Создайте Read Replicas для разгрузки трафика чтения, изучите задержку асинхронной репликации и повышайте реплики до основных для DR.
«Read Replicas для масштабирования чтения» — бесплатный урок Cloud & IT Cert Prep на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cloud & IT Cert Prep, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cloud & IT Cert Prep содержит 4 уроков всего.
Что такое Read Replicas
Read Replicas — это копии основного экземпляра RDS, которые получают обновления посредством асинхронной репликации. В отличие от standby-экземпляра Multi-AZ, Read Replicas доступны для запросов SELECT, что позволяет распределять трафик чтения и снижать нагрузку на основную базу данных.
Read Replicas поддерживаются для MySQL, PostgreSQL, MariaDB, Oracle (с Active Data Guard) и всех редакций Aurora. Для Aurora MySQL и Aurora PostgreSQL можно создать до 15 Read Replicas, а для стандартных RDS MySQL и PostgreSQL — до 5.
Создание Read Replica
Чтобы создать Read Replica, в исходном экземпляре должны быть включены автоматические резервные копии (срок хранения должен быть больше 0). AWS создаёт снимок основного экземпляра, восстанавливает его в новом экземпляре DB и настраивает асинхронную репликацию с основного экземпляра.
Каждая Read Replica получает собственную конечную точку DNS. Приложение необходимо обновить, чтобы направлять операции чтения на конечные точки реплик. Средства управления пулами подключений или платформы приложений с разделением операций чтения и записи могут автоматически направлять запросы SELECT на реплики.
# Create a Read Replica from the primary
aws rds create-db-instance-read-replica \
--db-instance-identifier mydb-replica-1 \
--source-db-instance-identifier mydb \
--db-instance-class db.t3.mediumЗадержка репликации и её последствия
Поскольку репликация является асинхронной, Read Replicas могут отставать от основного экземпляра на несколько миллисекунд или секунд в зависимости от объёма операций записи. Это называется задержкой репликации. Отслеживать её можно с помощью метрики CloudWatch ReplicaLag.
Приложения должны быть спроектированы так, чтобы учитывать согласованность в конечном счёте при чтении с реплик. Например, после добавления записи немедленное чтение с реплики может ещё не вернуть новую строку. Для согласованности чтения после записи конкретный запрос чтения необходимо направить обратно на основной экземпляр.
# Monitor replication lag via CloudWatch
aws cloudwatch get-metric-statistics \
--namespace AWS/RDS \
--metric-name ReplicaLag \
--dimensions Name=DBInstanceIdentifier,Value=mydb-replica-1 \
--start-time 2026-06-20T00:00:00Z \
--end-time 2026-06-20T01:00:00Z \
--period 60 \
--statistics AverageRead Replicas между регионами
RDS поддерживает создание Read Replicas в другом регионе AWS, что позволяет масштабировать чтение по всему миру и использовать реплики для аварийного восстановления. Репликация между регионами выполняется через общедоступный интернет или AWS Global Accelerator, а задержка репликации выше, чем внутри одного региона, из-за сетевой задержки.
Реплики между регионами полезны в следующих случаях: необходимо обслуживать пользователей в другом регионе с меньшей задержкой, требуется готовая резервная копия для DR в другом регионе, которую можно повысить до основного экземпляра, или нужно перенести аналитические запросы с рабочей среды.
# Create a cross-region Read Replica
aws rds create-db-instance-read-replica \
--db-instance-identifier mydb-replica-eu \
--source-db-instance-identifier arn:aws:rds:us-east-1:123456789:db:mydb \
--region eu-west-1 \
--db-instance-class db.t3.mediumПовышение Read Replica
Повышение Read Replica разрывает связь репликации и превращает её в независимый основной экземпляр DB, доступный для записи. Это используется в сценариях аварийного восстановления, когда исходный основной экземпляр недоступен, или когда требуется обновить реплику до другой версии движка и использовать её как новый основной экземпляр.
Повышение необратимо: после повышения экземпляр больше не может быть репликой. Перед повышением убедитесь, что реплика максимально синхронизирована с основным экземпляром и имеет минимальную задержку, чтобы свести к минимуму потерю данных. После повышения измените строку подключения приложения, указав конечную точку нового основного экземпляра.
# Promote a Read Replica to standalone primary
aws rds promote-read-replica \
--db-instance-identifier mydb-replica-1Read Replicas и Multi-AZ: различие на экзамене
На экзамене SAA-C03 крайне важно различать Read Replicas и Multi-AZ:
- Если в сценарии требуется повысить производительность чтения или масштабировать чтение → Read Replicas
- Если в сценарии требуется автоматическое переключение или высокая доступность → Multi-AZ
- Если в сценарии требуется и то и другое → Multi-AZ для основного экземпляра и Read Replicas
Также запомните: standby-экземпляры Multi-AZ НЕ обслуживают операции чтения; Read Replicas НЕ обеспечивают автоматическое переключение (для реплик, не относящихся к Aurora, необходимо выполнять повышение вручную).
Read Replicas и конечные точки Aurora
Aurora обрабатывает Read Replicas иначе, чем стандартный RDS. Aurora использует общий распределённый уровень хранения, поэтому реплики обращаются к тем же базовым страницам данных, что и основной экземпляр. Благодаря этому задержка репликации Aurora минимальна (обычно менее 100 мс), и каждая реплика может обслуживать трафик чтения.
Aurora предоставляет конечную точку чтения, которая распределяет подключения между всеми доступными экземплярами реплик. Приложение подключается к конечной точке чтения, а Aurora автоматически распределяет операции чтения. Если реплика выходит из строя, она удаляется из пула чтения, не влияя на конечную точку.
Переключение Aurora с Read Replicas
В Aurora, если основной экземпляр (экземпляр записи) выходит из строя, Aurora автоматически повышает одну из Read Replicas до основного экземпляра примерно за 30 секунд — значительно быстрее, чем выполняется переключение Multi-AZ в стандартном RDS. Повышенная реплика сразу начинает принимать операции записи через конечную точку записи кластера.
Aurora поддерживает уровни приоритета переключения (0–15), позволяющие управлять тем, какая реплика будет повышена первой. Назначайте более высокий приоритет (уровень 0) репликам на экземплярах большего класса или в предпочтительных AZ.
Архитектурный шаблон масштабирования чтения
Типичная архитектура масштабирования чтения направляет трафик через Application Load Balancer или логику приложения:
- Все операции записи (
INSERT,UPDATE,DELETE) → конечная точка основного экземпляра DB - Все операции чтения (
SELECT) → конечные точки Read Replicas или конечная точка чтения Aurora - Кэш сеансов и кэш результатов → ElastiCache (дополнительно снижает количество операций чтения с реплик)
Для чрезвычайно тяжёлых аналитических запросов рассмотрите возможность повышения реплики или использования функции параллельного запроса Aurora, которая переносит вычисления на уровень хранения и предотвращает влияние на рабочий кластер.
Мониторинг Read Replicas
К основным метрикам CloudWatch для Read Replicas относятся:
ReplicaLag— отставание от основного экземпляра в секундах; настройте оповещение, если значение неожиданно увеличиваетсяReadIOPS— показывает, успевает ли хранилище реплики обрабатывать нагрузку запросовDatabaseConnections— показывает, не исчерпан ли лимит подключений к репликеCPUUtilization— высокая загрузка ЦП реплики указывает на необходимость оптимизации запросов
RDS Performance Insights доступен для Read Replicas и показывает SQL-инструкции, потребляющие больше всего времени DB, помогая находить и оптимизировать затратные запросы чтения.
Итоги вариантов использования Read Replica
Распространённые варианты использования Read Replicas RDS на экзамене SAA-C03:
- Отчётность и аналитика: выполняйте тяжёлые запросы
SELECTна реплике, чтобы не замедлять операции записи в рабочей среде - Географическое распределение: реплики между регионами обслуживают пользователей на других континентах с меньшей задержкой
- Аварийное восстановление: реплику между регионами можно повысить, если основной регион выйдет из строя
- Разработка и тестирование: повысьте реплику, чтобы создать тестовую среду с актуальной копией данных рабочей среды
Read Replicas не заменяют резервные копии — всегда независимо поддерживайте автоматические резервные копии и ручные снимки.
Быстрая проверка
Проверьте своё понимание концепций AWS Solutions Architect (SAA-C03) из этого урока.
Итоги урока
В этом уроке вы узнали, что Read Replicas используют асинхронную репликацию для распределения трафика чтения, задержка репликации означает, что реплики могут немного отставать от основного экземпляра, а реплики Aurora имеют минимальную задержку и поддерживают автоматическое повышение. Реплики между регионами обеспечивают как глобальное масштабирование чтения, так и возможность аварийного восстановления. Далее мы рассмотрим безопасность RDS, включая шифрование и группы параметров.
Часто задаваемые вопросы
Урок «Read Replicas для масштабирования чтения» бесплатный?
Да — полный текст урока «Read Replicas для масштабирования чтения» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cloud & IT Cert Prep, подпишись на CoddyKit PRO. Курс Cloud & IT Cert Prep содержит 4 уроков всего.
Чему я научусь в уроке «Read Replicas для масштабирования чтения»?
Создайте Read Replicas для разгрузки трафика чтения, изучите задержку асинхронной репликации и повышайте реплики до основных для DR. Ты практикуешь Cloud & IT Cert Prep с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cloud & IT Cert Prep?
Предыдущий опыт не требуется. Cloud & IT Cert Prep на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Read Replicas для масштабирования чтения»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cloud & IT Cert Prep?
Да. Каждый урок Cloud & IT Cert Prep включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Ядра RDS и классы экземпляров
- Multi-AZ и автоматическое резервное копирование
- Read Replicas для масштабирования чтения
- Безопасность RDS: шифрование и группы параметров