Как развернуть управляемый экземпляр MySQL в базе данных Amazon RDS

Amazon Relational Database Service (RDS) — это веб-сервис, который упрощает настройку, эксплуатацию и масштабирование реляционных баз данных в облаке, а также управляет общими задачами администрирования. Amazon RDS в настоящее время поддерживает механизмы MariaDB, MySQL, Oracle, PostgreSQL и Microsoft SQL.
В настоящее время AWS предлагает более 15 специализированных вариантов баз данных для поддержки различных моделей баз данных. Эти модели включают в себя: реляционные, ключ-значения, хранящиеся в памяти, графовые, временные ряды, базы данных с широкими столбцами и реестровые базы данных.
Чтобы выбрать, какую модель использовать, следует учитывать; Бизнес-цель, стратегия миграции из локальной базы данных в облако, специально оптимизированная для ваших нужд, соображения по данным, соображения безопасности и многое другое. Чтобы полностью понять, как выбрать лучший сервис баз данных для вашего бизнеса, посетите Руководство по принятию решений AWS.
В этом руководстве мы обсудим, как развернуть управляемый экземпляр MySQL с использованием базы данных Amazon RDS. Управляемый сервис предпочтительнее настраивать его вручную на экземпляре EC2, поскольку он полностью обеспечивает непрерывный мониторинг, самовосстанавливающееся хранилище и автоматическое масштабирование, что помогает вам сосредоточиться на разработке приложений и ваших пользователях.
Amazon RDS для MySQL
Предварительные условия
Чтобы следовать этому руководству, вам понадобится учетная запись AWS. Если у вас его еще нет, вы можете воспользоваться этим руководством по настройке среды.
Описанные здесь шаги относятся к уровню бесплатного пользования, поэтому не стесняйтесь экспериментировать.
Создайте экземпляр базы данных MySQL
Чтобы начать, откройте Консоль управления AWS, затем выберите Services
в левой части верхней панели. Это отобразит список услуг, предлагаемых AWS, от баз данных до контейнеров и многого другого. Поскольку нас интересует служба database
, мы нажимаем на нее, затем выбираем RDS
, чтобы открыть console Amazon RDS
.

В console Amazon RDS
первое, что нужно сделать, — это выбрать регион, в котором мы хотим создать базу данных. Примечание. Некоторые регионы недоступны в зависимости от типа вашей учетной записи.

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

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

Выберите механизм, который вы хотите запустить, из списка Engine options
, поддерживаемых RDS. Для целей данного руководства будет использоваться движок MySQL
, при этом следует сохранить версию и выпуск по умолчанию. Выберите шаблон уровня бесплатного пользования.

В регионе есть несколько изолированных мест, известных как зоны доступности. Включение развертываний в нескольких зонах доступности позволит автоматически обеспечивать и поддерживать синхронный режим ожидания в других зонах доступности, чтобы обеспечить отказоустойчивость в случае сбоя одной зоны. Однако это платная функция, поэтому в этом руководстве она обсуждаться не будет.
Следующее, что нужно сделать, — это определить некоторые ключевые настройки для экземпляра БД. К ним относятся;
- DB Instance Identifier: уникальное имя для всех экземпляров DB, принадлежащих вашей учетной записи AWS в текущем регионе.
- Master Username: имя пользователя, которое будет использоваться для входа в экземпляр MySQL.
- Master password: пароль, содержащий не менее 8 символов ASCII (исключая ', ", @ и /).
- Confirm master password: повторно введите пароль, указанный выше.

Для спецификации экземпляра выберите db.t2.micro — 1vCPU, 1 GiB RAM
для Instance Type, General Purpose (SSD)
для типа хранилища и 20 GB
для выделенного хранилища. Эти характеристики гарантируют, что мы остаемся в диапазоне бесплатного уровня. Дополнительную информацию о ценах на RDS см. в разделе Цены на Amazon RDS.
Автомасштабирование следует включить для непредсказуемых рабочих нагрузок, но это выходит за рамки использования уровня бесплатного пользования.

В разделе Connectivity следует обратить внимание на один ключевой момент — это VPC. Виртуальное частное облако Amazon (VPC) позволяет запускать ресурсы AWS в виртуальное частное облако, где вы можете создавать собственные подсети, списки контроля доступа, выбирать собственный IP-адрес и настраивать маршрутизацию. Запуск экземпляра БД в VPC не требует дополнительных затрат, и все новые экземпляры БД создаются в VPC по умолчанию, за исключением явных изменений. В этом уроке мы будем использовать VPC по умолчанию.
В разделе VPC security groups выберите Create new. При этом создается входящее правило, которое разрешает подключение с IP-адреса устройства, которое вы используете в данный момент, к созданной базе данных.
Кроме того, убедитесь, что ваш экземпляр БД общедоступен, установив в этом поле значение «Да», чтобы можно было напрямую подключаться к базе данных с вашего устройства.
RDS Proxy позволяет вашим приложениям объединять и совместно использовать подключения к базе данных, тем самым улучшая их способность к масштабированию. Мы оставим эту опцию непроверенной. Дополнительную информацию о ценах на прокси-сервер RDS см. на странице цен на прокси-сервер Amazon RDS.
Остальные настройки для этой конфигурации оставлены по умолчанию.


Аутентификация базы данных определяет, как вы хотите, чтобы пользователи проходили аутентификацию, прежде чем они смогут просматривать базу данных. Возможные варианты:
Аутентификация по паролю; использует только пароль базы данных.
Аутентификация по паролю и базе данных IAM; использует пароль базы данных и учетные данные пользователя через пользователей и роли IAM. Эта опция доступна только в движках MySQL и PostgreSQL.
Аутентификация по паролю и Kerberos; использует пароль базы данных и аутентификацию Kerberos через AWS Managed Microsoft AD, созданную с помощью AWS Directory Service.
Для простоты выберите метод аутентификации по паролю из списка опций.

Чтобы оставаться на уровне бесплатного пользования, оставьте флажок Enable Enhanced Monitoring
снятым. Мониторинг предоставляет вам метрики в режиме реального времени для ОС, на которой работает экземпляр DB.
В разделе Additional Configuration
в разделе Initial Database исходное имя базы данных — это имя вашей базы данных в экземпляре DB. Если имя не указано, RDS не создает базу данных при создании (за исключением Oracle или PostgreSQL). Мы будем использовать группу параметров по умолчанию и группу параметров DB. Иногда у вас может быть возможность создать собственную группу параметров DB или группу параметров.

RDS создает снимок тома хранилища всего экземпляра базы данных, создавая резервную копию всего экземпляра базы данных, а не только отдельных баз данных.
В разделе «Резервное копирование» установите флажок «Включить автоматическое резервное копирование».
Период хранения резервной копии определяет количество дней, в течение которых хранятся автоматические резервные копии. Для этого руководства установите его равным 1 дню.
Если вы хотите установить ежедневный диапазон времени, в течение которого должно выполняться резервное копирование, выберите «Выбрать окно» и установите время для предпочитаемого вами окна. Если нет, вы можете просто выбрать «Нет предпочтений», что мы и сделаем здесь.

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

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

Вуаля! Выберите Create Database
, чтобы создать экземпляр DB.

Это может занять некоторое время в зависимости от класса экземпляра и хранилища, выделенного для базы данных. Когда статус изменится на Available
, ваш экземпляр завершен.

Пока это создается, вы можете перейти к следующему шагу по настройке среды MySQL на локальном компьютере.
Подключиться к базе данных MySQL
На этом этапе мы подключимся к базе данных MySQL, созданной с помощью MySQL CLI. Прежде чем двигаться дальше, убедитесь, что у вас установлен MySQL CLI. Строка подключения:
mysql -h **_endpoint_** -P **_port_** -u **_user_** -p
Конечную точку и порт базы данных можно найти на вкладке Configuration and Security
. Пользователь — это главное имя пользователя, которое было установлено при создании базы данных, которое можно найти на вкладке «Конфигурация».
Когда вы нажмете Enter
, вам будет предложено ввести пароль, это также будет главный пароль, который также был установлен при создании экземпляра DB.

И вуаля, вы подключены к своей базе данных. Если мы отобразим список баз данных, мы увидим некоторые базы данных по умолчанию, поставляемые с MySQL, а также базу данных, которую мы создали при создании экземпляра.

Вот как мы подключаемся к экземпляру базы данных Amazon RDS MySQL. Поздравляю. Теперь вы можете вставлять данные и выполнять запросы. Вы также можете создавать новые базы данных.
Удалить экземпляр DB
Чтобы не тратить ресурсы зря и не нести затраты с течением времени, лучше всего удалить экземпляр DB, если вы его не используете.
Для этого вернитесь в консоль RDS. Выберите «Базы данных», затем выберите экземпляр, который хотите удалить, и в раскрывающемся списке «Действия» выберите «Удалить».

Вас спросят, хотите ли вы создать окончательный снимок вашей базы данных. Выберите эту опцию, если вы хотите в будущем восстановить текущее состояние вашей базы данных со всеми ее данными. В этом уроке мы оставим эту опцию неотмеченной. Подтвердите, что вы хотите удалить экземпляр, и нажмите «Удалить».

Выполнение этих действий приведет к безвозвратному удалению экземпляра базы данных.
Заключение
В этом руководстве мы увидели, что такое база данных Amazon RDS и почему лучше настраивать собственную базу данных вручную. Мы также рассмотрели различные механизмы, поддерживаемые RDS, и сосредоточились на использовании механизма MySQL для создания экземпляра базы данных MySQL в службе RDS. Затем мы смогли подключить этот удаленный экземпляр к нашему локальному компьютеру и выполнить базовые запросы. Наконец, мы увидели, как окончательно удалить экземпляр базы данных.
Поиск неисправностей
Если вы перезапустите сеть, группа безопасности VPC, которая создала входящую функцию, позволяющую вам подключаться к экземпляру с вашего компьютера, может больше не работать, поскольку IP-адрес вашего компьютера мог измениться.
Чтобы это исправить, выберите свою базу данных и в разделе «Подключение и безопасность» выберите группу безопасности VPC в разделе «Группы безопасности VPC».

Вы перейдете на страницу «Группы безопасности», где сможете просмотреть различные группы безопасности, правила для исходящего и входящего трафика и настроить их. Входящие правила определяют, каким ресурсам разрешено подключаться к экземпляру, а исходящие правила определяют, с какими ресурсами экземпляру разрешено подключаться.
Отсюда мы можем продолжить и отредактировать правила входящего трафика, чтобы разрешить нашему устройству подключаться к нему.

Единственное, что вам нужно будет здесь отредактировать, это в разделе «Источники правила» выбрать «Мой IP», чтобы изменить IP-адрес, к которому разрешено подключение ресурса, на IP-адрес вашего устройства. Нажмите «Сохранить правила», и теперь вы сможете подключаться, как раньше.
