Как настроить развертывание AWS RDS Multi-AZ для обеспечения высокой доступности

Обеспечьте надежную доступность баз данных с помощью этого всеобъемлющего руководства по настройке развертываний AWS RDS Multi-AZ. Узнайте, как работает Multi-AZ, каковы его преимущества для обеспечения высокой доступности и долговечности, и получите пошаговые инструкции по его настройке для новых или существующих экземпляров RDS. Это руководство охватывает ключевые параметры, мониторинг и лучшие практики, что позволит вам создать отказоустойчивую инфраструктуру баз данных с автоматическим переключением при сбое для критически важных производственных сред.

36 просмотров

Как настроить развертывание AWS RDS Multi-AZ для высокой доступности

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

Эта статья проведет вас через процесс настройки развертывания AWS RDS Multi-AZ. Мы рассмотрим, что такое Multi-AZ, его ключевые преимущества и предоставим пошаговые инструкции по его настройке как для новых, так и для существующих экземпляров RDS. В конце вы поймете, как создать отказоустойчивую инфраструктуру баз данных, которая обеспечивает возможности автоматического переключения при отказе, значительно повышая время безотказной работы и долговечность для ваших экземпляров MySQL, PostgreSQL или других поддерживаемых баз данных.

Что такое AWS RDS Multi-AZ?

Развертывание AWS RDS Multi-AZ (Multiple Availability Zone) создает точную реплику вашего экземпляра базы данных в другой, физически изолированной зоне доступности (AZ) в том же регионе AWS. Этот резервный экземпляр работает в конфигурации «горячего резерва», что означает, что он постоянно обновляется изменениями из основного экземпляра с использованием синхронной репликации.

Как это работает:

  1. Основной экземпляр: Ваше приложение подключается к основному экземпляру базы данных и записывает в него данные.
  2. Синхронная репликация: Все записи данных в основной экземпляр синхронно реплицируются в резервный экземпляр. Это гарантирует, что резервный экземпляр всегда актуален по отношению к основному, минимизируя потери данных во время переключения при отказе.
  3. Автоматическое переключение при отказе: В случае сбоя инфраструктуры, затрагивающего основной экземпляр (например, сбой AZ, сбой оборудования экземпляра, проблемы с сетью или сбои ядра базы данных), AWS RDS автоматически переключается на резервную реплику. Этот процесс переключения при отказе обычно занимает 1-2 минуты и не требует ручного вмешательства с вашей стороны. Конечная точка базы данных остается той же, поэтому вашим приложениям не нужно менять строки подключения.
  4. Единая конечная точка: И основной, и резервный экземпляры используют одну конечную точку DNS. Ваши приложения подключаются к этой конечной точке, и AWS управляет перенаправлением на текущий активный основной экземпляр.

Преимущества развертываний Multi-AZ

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

  • Высокая доступность: Автоматическое переключение на резервную реплику в другой AZ гарантирует, что ваша база данных останется работоспособной, даже если в основной AZ произойдет сбой. Это значительно сокращает время простоя.
  • Долговечность данных: Синхронная репликация гарантирует, что все зафиксированные транзакции присутствуют как на основном, так и на резервном экземплярах. Это минимизирует риск потери данных во время переключения при отказе.
  • Аварийное восстановление: Распространяясь на несколько зон доступности, ваша база данных защищена от сбоев на уровне AZ, что является критически важным компонентом вашей стратегии аварийного восстановления.
  • Упрощенные операции: AWS автоматически обрабатывает мониторинг, репликацию и процесс переключения при отказе. Вам не нужно настраивать репликацию на основе хоста, управлять резервными экземплярами или вручную организовывать переключение при отказе.
  • Окна обслуживания: Во время планового обслуживания (например, установка патчей ОС или обновление ядра базы данных) AWS автоматически переключается на резервный экземпляр, выполняет обслуживание старого основного экземпляра, а затем переключается обратно. Это минимизирует время простоя приложения.
  • Производительность (задержка записи): Хотя синхронная репликация по своей сути приводит к небольшому увеличению задержки записи по сравнению с развертыванием в одной AZ (из-за подтверждения записей в двух местах), это часто незначительно для большинства приложений и является достойным компромиссом для повышенной доступности.

Предварительные условия

Прежде чем начать, убедитесь, что у вас есть:

  • Учетная запись AWS с соответствующими разрешениями для создания и управления экземплярами RDS.
  • Базовое понимание регионов AWS, зон доступности и виртуальных частных облаков (VPC).

Пошаговое руководство по настройке

Вариант 1: Создание нового экземпляра RDS с Multi-AZ

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

  1. Перейдите в консоль RDS: Войдите в консоль управления AWS и откройте консоль Amazon RDS.
  2. Создать базу данных: На панели навигации выберите Базы данных, затем нажмите Создать базу данных.
  3. Выбрать метод создания базы данных: Выберите Стандартное создание.
  4. Выбрать параметры ядра:
    • Тип ядра: Выберите желаемое ядро базы данных (например, MySQL, PostgreSQL, SQL Server, Oracle).
    • Версия ядра: Выберите конкретную версию.
  5. Шаблоны: Выберите подходящий шаблон. Для производства рекомендуется Производство, так как он по умолчанию использует Multi-AZ.
  6. Настройки:
    • Идентификатор экземпляра БД: Введите уникальное имя для вашего экземпляра базы данных.
    • Имя пользователя master и Пароль master: Установите учетные данные для основного пользователя базы данных.
  7. Размер экземпляра БД: Выберите класс экземпляра, который соответствует вашим требованиям к производительности.
  8. Хранилище: Настройте тип хранилища и выделенное хранилище.
  9. Доступность и долговечность: Это решающий шаг для Multi-AZ:
    • В разделе Развертывание Multi-AZ выберите Да (создать резервный экземпляр).
    • (Необязательно) Если вы ранее выбрали шаблон «Производство», этот параметр будет предварительно выбран.
  10. Подключение:
    • VPC: Выберите VPC, в котором будет находиться ваша база данных.
    • Группа подсетей: Убедитесь, что у вас есть группа подсетей БД, охватывающая несколько зон доступности. RDS будет использовать ее для размещения основного и резервного экземпляров в разных AZ.
    • Публичный доступ: Выберите Нет для производственных сред в соответствии с лучшими практиками безопасности.
    • Группы безопасности VPC: Прикрепите соответствующую группу безопасности, которая разрешает входящий трафик к порту вашей базы данных с ваших серверов приложений.
  11. Аутентификация базы данных: Выберите предпочтительный метод аутентификации.
  12. Мониторинг, Performance Insights, Экспорт логов, Обслуживание: Настройте их в соответствии с вашими операционными требованиями.
  13. Создать базу данных: Просмотрите все свои настройки и нажмите Создать базу данных.

AWS подготовит ваш основной экземпляр, а затем создаст и синхронизирует резервную реплику в другой зоне доступности. Этот процесс может занять некоторое время, в зависимости от размера экземпляра.

Вариант 2: Модификация существующего экземпляра RDS на Multi-AZ

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

  1. Перейдите в консоль RDS: Войдите в консоль управления AWS и откройте консоль Amazon RDS.
  2. Выберите базу данных: На панели навигации выберите Базы данных, затем выберите экземпляр RDS, который вы хотите изменить.
  3. Изменить экземпляр: Нажмите кнопку Изменить.
  4. Доступность и долговечность: Прокрутите вниз до раздела Доступность и долговечность.
    • В разделе Развертывание Multi-AZ выберите Да (создать резервный экземпляр).
  5. Продолжить: Просмотрите другие настройки (класс экземпляра, хранилище и т. д.) и внесите любые другие необходимые изменения, затем нажмите Продолжить.
  6. Планирование изменений:
    • Применить немедленно: Выбор этой опции немедленно применит изменения. Для включения Multi-AZ AWS создаст резервный экземпляр в фоновом режиме. Основной экземпляр остается доступным во время этой начальной фазы создания, хотя может быть короткий период повышенной задержки ввода-вывода. Как только резервный экземпляр будет синхронизирован, произойдет кратковременный сбой (обычно менее минуты), когда AWS выполнит небольшое переключение при отказе для активации конфигурации Multi-AZ.
    • Применить во время следующего запланированного окна обслуживания: Эта опция применит изменения во время вашего определенного окна обслуживания, минимизируя сбои в часы пик.
  7. Изменить экземпляр БД: Нажмите Изменить экземпляр БД.

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

Мониторинг вашего развертывания Multi-AZ

После настройки Multi-AZ важно контролировать его состояние:

  1. Консоль RDS: Перейдите в консоль RDS и выберите ваш экземпляр базы данных.
  2. Вкладка «Детали»: В разделе Подключение и безопасность вы увидите Multi-AZ с пометкой Да. В разделе Доступность и долговечность должно быть указано, что ваш экземпляр находится в развертывании Multi-AZ.
  3. События: Проверьте вкладку Журналы и события на предмет событий, связанных с переключениями при отказе, созданием экземпляров или действиями по обслуживанию. AWS будет регистрировать события переключения при отказе (например, RDS-EVENT-0026 — Экземпляр БД XXX был переключен).

Тестирование переключения при отказе (необязательно, но рекомендуется)

Хотя AWS управляет переключениями при отказе автоматически, рекомендуется понимать и время от времени тестировать механизм переключения при отказе в непроизводственной среде.

Инициирование переключения при отказе:

  1. Перезагрузка с переключением при отказе: Выберите ваш экземпляр Multi-AZ в консоли RDS. В меню Действия выберите Перезагрузить. Убедитесь, что вы выбрали опцию «Перезагрузить с переключением при отказе?».
    • Это действие заставляет RDS переключить основной экземпляр на резервную реплику, имитируя незапланированный сбой. Ваше приложение испытает кратковременное отключение (1-2 минуты) по мере обновления конечной точки DNS.
  2. Наблюдать за событиями: После инициирования переключения при отказе отслеживайте вкладку Журналы и события для вашего экземпляра. Вы должны увидеть события, указывающие на то, что произошло переключение при отказе и что новый основной экземпляр активен.

Соображения и лучшие практики

  • Стоимость: Развертывания Multi-AZ влекут за собой более высокие затраты, чем развертывания в одной AZ, потому что вы фактически запускаете два экземпляра базы данных (основной и резервный), хотя только один активно обслуживает трафик в любой момент времени.
  • Реплики для чтения vs. Multi-AZ: Поймите разницу. Multi-AZ предназначен для обеспечения высокой доступности и долговечности (записи). Реплики для чтения предназначены для масштабирования чтения и повышения производительности чтения. Их можно использовать вместе; вы можете создать основной экземпляр Multi-AZ, а затем использовать реплики для чтения для масштабирования приложений с интенсивным чтением.
  • Влияние на производительность: Хотя Multi-AZ повышает доступность, синхронная репликация может привести к небольшому увеличению задержки записи по сравнению с одной AZ. Для большинства приложений эти накладные расходы минимальны.
  • Группы подсетей: Убедитесь, что ваша группа подсетей БД включает подсети как минимум в двух разных зонах доступности. Это позволяет RDS размещать ваши основной и резервный экземпляры в отдельных AZ.
  • Группы безопасности: Правильно настройте группы безопасности VPC, чтобы разрешить трафик от ваших серверов приложений к конечной точке RDS.
  • Поддержка ядра базы данных: Multi-AZ поддерживается большинством популярных ядер баз данных, включая MySQL, PostgreSQL, SQL Server, Oracle и MariaDB.

Заключение

Развертывания AWS RDS Multi-AZ являются краеугольным камнем создания высокодоступных и долговечных решений для реляционных баз данных в облаке. Автоматически реплицируя данные между зонами доступности и обеспечивая бесперебойное переключение при отказе, Multi-AZ значительно снижает риск простоя и потери данных для ваших критически важных приложений. Хотя это сопряжено с увеличением затрат, операционная простота и повышенная отказоустойчивость делают его необходимой конфигурацией для производственных рабочих нагрузок баз данных на AWS. Внедрите Multi-AZ сегодня, чтобы защитить свои данные и обеспечить непрерывную доставку услуг.