Межрегиональное аварийное восстановление в кратчайшие сроки и минимальная задержка при глобальном чтении данных

благодаря Amazon Aurora Global Database

Из этого учебного пособия вы узнаете, как выполнить развертывание Amazon Aurora Global Database с охватом нескольких регионов AWS и репликацией данных без снижения производительности. Глобальная база данных Aurora Global Database обеспечивает аварийное восстановление в результате сбоев в масштабе региона и чтение глобальных данных с низкой задержкой.

Amazon Aurora – это совместимая с MySQL и PostgreSQL реляционная база данных, совмещающая в себе скорость и доступность традиционных коммерческих баз данных с простотой и экономичностью баз данных с открытым исходным кодом.

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

В этом учебном пособии используется Amazon Aurora с совместимостью с MySQL. Это учебное пособие не относится к уровню бесплатного пользования, но будет стоить вам менее 1 USD при условии выполнения указанных в учебном пособии шагов и удаления ресурсов по окончании его изучения.

Требования

Кластер БД Amazon Aurora состоит из одного или более инстансов БД, а также тома кластера, управляющего данными для этих инстансов БД. Том кластера Aurora представляет собой том виртуального хранилища базы данных, который охватывает несколько зон доступности, в каждой из которых хранится копия данных кластера БД. Кластер БД Aurora образуется двумя типами инстансов БП: основным, который поддерживает операции чтения и записи, и репликой Aurora, которая подключается к тому же объему хранилища, что и основной инстанс БД, и поддерживает только операции чтения. В каждом кластере БД Aurora может быть до 15 реплик Aurora, расположенных в отдельных зонах доступности. Если основной инстанс БД становится недоступным, Aurora автоматически переключается на реплику Aurora.

При изучении этого учебного пособия вы создадите БД Aurora Global Database с основным кластером в одном регионе и вторичным кластером в другом. Используемые регионы вы выберете самостоятельно. Рекомендуется наличие приложения в каждом используемом регионе. Например, если основной кластер вашей БД Aurora Global Database находится в регионе us-east-1, а вторичный – в регионе eu-west-3, у вас должен быть один инстанс в регионе us-east-1 и другой инстанс в регионе eu-west-3.

Кроме того, если вы хотите сэкономить время, для каждого из этих регионов можно создать группу безопасности, разрешающую входящие подключения от ваших инстансов. Например, вы можете создать группу безопасности с типом правила для входящих подключений MYSQL/Aurora, которое разрешает TCP-подключения для порта 3306 от группы безопасности ваших инстансов.

Наконец, для тестирования Aurora Global Database (см. шаг 8) вам понадобится клиент MySQL. Если инстансы приложения работают на Amazon Linux, установка клиента MySQL выполняется очень просто – достаточно запустить sudo yum install mysql, но точный формат команды зависит от используемой ОС. Если они работают на Windows, можно загрузить MySQL Workbench.

Подробнее об этом учебном пособии
Время 10 минут                                           
Стоимость Менее 1 USD
Пример использования Базы данных
Продукты Amazon Aurora, Amazon RDS
Аудитория Администраторы баз данных, разработчики
Уровень Средний
Последнее обновление 3 июня 2019 г.

Шаг 1. Доступ к консоли Amazon RDS

1.1. Откройте браузер и перейдите в консоль Amazon RDS. Если у вас уже есть аккаунт AWS, войдите в консоль. В противном случае создайте новый аккаунт AWS, чтобы начать работу.

1.2. В правом верхнем углу выберите регион для запуска основного кластера БД Aurora. При прохождении этого учебного пособия мы будем использовать us-east-1 в качестве основного региона, а eu-west-1 – в качестве вторичного.

1.3. В окне Amazon Aurora нажмите кнопку «Создать базу данных».

1.4. Прокрутите окно Aurora Global Database вниз и выберите Try it now (Попробуйте прямо сейчас). Если Try it now (Попробуйте прямо сейчас) не отображается, щелкните здесь.

Шаг 2. Варианты ядра

2.1. В пункте Engine type (Тип ядра) выберите Amazon Aurora.

2.2. В пункте Edition (Выпуск) выберите Amazon Aurora with MySQL compatibility (Amazon Aurora, совместимая с MySQL).

2.3. В пункте Version (Версия) выберите самую новую версию MySQL.

2.4. В пункте Database Location (Местоположение базы данных) выберите Global (Глобальная).

2.5. Выберите шаблон Production (Производство).

Шаг 3. Настройки глобальной базы данных

3.1. В качестве идентификатора глобальной базы данных введите global-database-1.

Шаг 4. Настройки основного региона

4.1. В пункте DB instance size (Размер инстанса БД) выберите большой инстанс (имя которого заканчивается на .large).

4.2. В пункте Availability & durability (Доступность и надежность) выберите Don't create an Aurora Replica (Не создавать реплику Aurora).

Обратите внимание, что наличие реплики Aurora рекомендуется для производственных сред, поскольку позволяет масштабировать чтение и обеспечивает автоматическое переключение в случае сбоя в пределах того же региона, в котором находится основная база данных. В этом учебном пособии мы не добавляем реплику Aurora, чтобы не усложнять упражнение.

Шаг 5. Подключения

5.1. Выберите VPC, в котором необходимо создать базу данных.

Обратите внимание, что после создания базу данных невозможно перенести в другое облако VPC.

5.2. Щелкните Additional connectivity configuration (Дополнительная настройка подключения).

5.3. В поле Subnet group (Группа подсети) выберите значение по умолчанию.

5.4. Для пункта Publicly Accessible (Общая доступность) выберите значение No (Нет).

Это означает, что к базе данных нужно подключаться из инстанса EC2 в том же VPC.

5.5. В поле VPC security group (Группа безопасности VPC) выберите Create new (Создать новую). Вместо этого можно выбрать группу безопасности, позволяющую выполнять подключения по протоколу TCP через порт 3306, если таковая есть.

5.6. В поле New VPC security group name (Имя новой группы безопасности VPC) введите global-database.

5.7. В поле Database Port (Порт базы данных) сохраните значение по умолчанию.

Шаг 6. Дополнительная настройка

6.1. Оставьте значения по умолчанию для пунктов Database options (Параметры базы данных), Backup (Резервное копирование), Monitoring (Мониторинг), Log exports (Экспорт журналов), Maintenance (Техническое обслуживание) и Deletion protection (Защита от удаления).

6.2. Нажмите Create database (Создать базу данных).

Во время создания инстансов будет отображен баннер с информацией о том, как получить данные для доступа. На этом этапе следует сохранить данные для доступа, поскольку этот пароль будет отображен вам единожды.

6.3. Нажмите View credential details (Просмотр учетных данных).

6.4. Сохраните имя пользователя и пароль.

Шаг 7. Добавьте вторичный регион

7.1. Выберите global-database-1.

7.2. Щелкните Actions > Add a region (Действия > Добавить регион).

7.3. Выберите регион из раскрывающегося списка.

7.4. Повторите шаги с 4.1 по 5.7.

7.5. Щелкните Add region (Добавить регион).

Когда базы данных станут доступными, перейдите к шагу 8.

Шаг 8. Выполните тестирование Aurora Global Database

8.1. Щелкните основную базу данных.

8.2. Скопируйте адрес записи.

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

Затем можно будет создать базу данных и таблицу, а также сделать некоторые записи. Все, что вы напишете в основном кластере, будет реплицировано во вторичном.

8.3. Подключитесь к основной базе данных.

$ mysql -h endpoint -P 3306 -u admin -p

При запросе пароля введите сохраненный при выполнении шага 6.6 пароль.

8.4. Создайте базу данных и выполните запись некоторых данных.

mysql> CREATE database tutorial;
Query OK, 1 row affected (0.01 sec)

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

8.5. Перейдите во вторичный регион.

8.6. Щелкните вторичную базу данных.

8.7. Скопируйте адрес чтения.

8.8. Выполните подключение к вторичной базе данных:

$ mysql -h endpoint -P 3306 -u admin -p

При запросе пароля введите сохраненный при выполнении шага 6.6 пароль.

8.9. Выполните чтение данных:

mysql> USE tutorial;
Database changed

Теперь можно проверить, реплицирована ли база данных во вторичную базу данных. Если вы создали таблицу, то можете выполнить запись в основной кластер и чтение данных из вторичного кластера.

Шаг 9. Обработка отказа с переключением на вторичный регион

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

Обработка отказа для Aurora Global Database подразумевает удаление вторичного кластера из исходной глобальной базы данных, которая таким образом превращается в региональный кластер с полными возможностями чтения и записи, а затем использование вторичного кластера в качестве основного в новой БД Aurora Global Database.

Обработку отказа можно выполнить вручную, следуя инструкциям ниже.

9.1. Остановите запись в основную базу данных.

9.2. Выберите вторичный кластер.

9.3. Щелкните Actions > Remove from Global (Действия > Удалить из глобальной).

9.4. Подтвердите, щелкнув Remove and promote (Удалить и распространить).

9.5. Настройте приложение на запись в новый распространенный кластер.

9.6. Не выходя из вторичного региона, выберите Regional cluster (Региональный кластер).

9.7. Щелкните Actions > Create global database (Действия > Создать глобальную базу данных).

9.8. Выберите регион из раскрывающегося списка.

9.9. Повторите шаги с 4.1 по 5.7.

Шаг 10. Очистка

Завершая изучение учебного пособия, вы удалите БД Aurora Global Database. Вы можете ее сохранить, но следует иметь в виду, что за это будет взиматься плата.

Чтобы удалить БД Aurora Global Database, перейдите на панель управления RDS и следуйте приведенным далее инструкциям.

10.1. В области слева выберите Databases.

Будет отображен список всех ваших кластеров БД Aurora.

10.2. Выберите инстанс глобальной базы данных.

10.3. Щелкните Actions > Delete (Действия > Удалить).

10.4. Будет предложено создать окончательную резервную копию. Это рекомендуемое действие, но для этого учебного пособия оно не требуется. Выберите No (Нет) и нажмите Delete (Удалить).

10.5. Выберите кластер глобальной базы данных.

10.6. Щелкните Actions > Remove from Global (Действия > Удалить из глобальной).

10.7. Подтвердите, щелкнув Remove from global (Удалить из глобальной).

10.8. Выберите кластер региональной базы данных.

10.9. Щелкните Actions > Delete (Действия > Удалить).

10.10. Будет предложено создать окончательный снимок состояния. Это рекомендуемое действие, но для этого учебного пособия оно не требуется. Выберите No (Нет) и нажмите Delete DB cluster (Удалить кластер БД).

10.11. Перейдите во вторичный регион и выполните шаги с 10.1 по 10.9.

10.12. Выберите глобальную базу данных.

10.13. Щелкните Actions > Delete (Действия > Удалить).

10.14. Подтвердите, введя delete me и щелкнув Delete (Удалить).

Статус кластера изменится на «Удаление».

Поздравляем!

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

Была ли полезной информация, представленная в этом учебном пособии?

Спасибо!
Укажите, что вам понравилось.
Приносим извинения за причиненные неудобства
Вы обнаружили устаревшую, неточную или неподходящую информацию? Оставьте свой отзыв, чтобы мы могли улучшить качество предоставляемых услуг.