← Назад ко всем вопросам

В чем разница между обычной и Multi-AZ базой данных в AWS

1️⃣ Как кратко ответить

Обычная база данных в AWS размещается в одном доступном регионе (Availability Zone), что делает её уязвимой к сбоям в этом регионе. Multi-AZ база данных автоматически реплицируется в нескольких доступных зонах, обеспечивая высокую доступность и отказоустойчивость. В случае сбоя основного экземпляра, Multi-AZ автоматически переключается на резервный экземпляр без потери данных.

2️⃣ Подробное объяснение темы

В AWS, когда мы говорим о базах данных, мы часто имеем в виду Amazon RDS (Relational Database Service), который позволяет легко управлять реляционными базами данных. В контексте RDS, существует два основных типа развертывания: обычное (Single-AZ) и Multi-AZ.

Обычная база данных (Single-AZ):

  • Размещение: База данных размещается в одной доступной зоне (Availability Zone, AZ). Это означает, что все данные и вычислительные ресурсы находятся в одном физическом месте.
  • Уязвимость: Если в этой зоне произойдет сбой (например, из-за аппаратного отказа или природного бедствия), база данных может стать недоступной.
  • Использование: Подходит для приложений, где высокая доступность не является критически важной, или для сред разработки и тестирования.

Multi-AZ база данных:

  • Размещение: Данные автоматически реплицируются в другую доступную зону в том же регионе. Это создает резервную копию базы данных, которая всегда актуальна.
  • Отказоустойчивость: В случае сбоя основного экземпляра, AWS автоматически переключает трафик на резервный экземпляр в другой зоне. Это переключение происходит прозрачно для пользователя и минимизирует время простоя.
  • Данные: Репликация данных осуществляется синхронно, что гарантирует, что резервная копия всегда актуальна.
  • Использование: Идеально подходит для производственных сред, где критически важна высокая доступность и минимальное время простоя.

Пример настройки Multi-AZ в AWS RDS:

aws rds create-db-instance \
    --db-instance-identifier mydbinstance \
    --db-instance-class db.m5.large \
    --engine mysql \
    --master-username admin \
    --master-user-password password \
    --allocated-storage 20 \
    --multi-az
  • aws rds create-db-instance: Команда для создания нового экземпляра базы данных в RDS.
  • --db-instance-identifier mydbinstance: Уникальный идентификатор для вашего экземпляра базы данных.
  • --db-instance-class db.m5.large: Класс экземпляра, определяющий вычислительные и память ресурсы.
  • --engine mysql: Указывает, что используется движок MySQL.
  • --master-username admin: Имя пользователя администратора базы данных.
  • --master-user-password password: Пароль для пользователя администратора.
  • --allocated-storage 20: Объем хранилища в гигабайтах.
  • --multi-az: Включает Multi-AZ развертывание, обеспечивая высокую доступность.

Multi-AZ развертывание в AWS RDS обеспечивает надежность и отказоустойчивость, что делает его предпочтительным выбором для критически важных приложений, где простои недопустимы.

Тема: Облака
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки