Как развернуть управляемый экземпляр MySQL в базе данных Amazon RDS
![](/static/storage/45500450509866494170077175798222303006.png)
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
.
![](/static/storage/79575059784273249090319343746418870218.png)
В console Amazon RDS
первое, что нужно сделать, — это выбрать регион, в котором мы хотим создать базу данных. Примечание. Некоторые регионы недоступны в зависимости от типа вашей учетной записи.
![](/static/storage/336019895593567456228030912206195493859.png)
Регионы изолированы от других регионов в целях обеспечения отказоустойчивости и стабильности, а также данные не передаются автоматически из одного региона в другой. Таким образом, если вы смените регион, вы не найдете те же данные в новом регионе.
Чтобы создать базу данных, прокрутите до раздела database
и выберите Create database
.
![](/static/storage/232199488540918167340300912748433395992.png)
Если вы хотите установить свои собственные параметры конфигурации, включая параметры доступности и безопасности при создании, следует использовать параметр Standard Create
, в противном случае вы можете использовать Easy Create
, который использует рекомендуемые передовые методы настройки вашей базы данных, некоторые из которых могут быть изменено после создания.
![](/static/storage/292209904727131585459993034491252770477.png)
Выберите механизм, который вы хотите запустить, из списка Engine options
, поддерживаемых RDS. Для целей данного руководства будет использоваться движок MySQL
, при этом следует сохранить версию и выпуск по умолчанию. Выберите шаблон уровня бесплатного пользования.
![](/static/storage/294338708006906351204846651268583322936.png)
В регионе есть несколько изолированных мест, известных как зоны доступности. Включение развертываний в нескольких зонах доступности позволит автоматически обеспечивать и поддерживать синхронный режим ожидания в других зонах доступности, чтобы обеспечить отказоустойчивость в случае сбоя одной зоны. Однако это платная функция, поэтому в этом руководстве она обсуждаться не будет.
Следующее, что нужно сделать, — это определить некоторые ключевые настройки для экземпляра БД. К ним относятся;
- DB Instance Identifier: уникальное имя для всех экземпляров DB, принадлежащих вашей учетной записи AWS в текущем регионе.
- Master Username: имя пользователя, которое будет использоваться для входа в экземпляр MySQL.
- Master password: пароль, содержащий не менее 8 символов ASCII (исключая ', ", @ и /).
- Confirm master password: повторно введите пароль, указанный выше.
![](/static/storage/70300530359350245790695005407004338111.png)
Для спецификации экземпляра выберите db.t2.micro — 1vCPU, 1 GiB RAM
для Instance Type, General Purpose (SSD)
для типа хранилища и 20 GB
для выделенного хранилища. Эти характеристики гарантируют, что мы остаемся в диапазоне бесплатного уровня. Дополнительную информацию о ценах на RDS см. в разделе Цены на Amazon RDS.
Автомасштабирование следует включить для непредсказуемых рабочих нагрузок, но это выходит за рамки использования уровня бесплатного пользования.
![](/static/storage/304482819845180586320248768445906702848.png)
В разделе Connectivity следует обратить внимание на один ключевой момент — это VPC. Виртуальное частное облако Amazon (VPC) позволяет запускать ресурсы AWS в виртуальное частное облако, где вы можете создавать собственные подсети, списки контроля доступа, выбирать собственный IP-адрес и настраивать маршрутизацию. Запуск экземпляра БД в VPC не требует дополнительных затрат, и все новые экземпляры БД создаются в VPC по умолчанию, за исключением явных изменений. В этом уроке мы будем использовать VPC по умолчанию.
В разделе VPC security groups выберите Create new. При этом создается входящее правило, которое разрешает подключение с IP-адреса устройства, которое вы используете в данный момент, к созданной базе данных.
Кроме того, убедитесь, что ваш экземпляр БД общедоступен, установив в этом поле значение «Да», чтобы можно было напрямую подключаться к базе данных с вашего устройства.
RDS Proxy позволяет вашим приложениям объединять и совместно использовать подключения к базе данных, тем самым улучшая их способность к масштабированию. Мы оставим эту опцию непроверенной. Дополнительную информацию о ценах на прокси-сервер RDS см. на странице цен на прокси-сервер Amazon RDS.
Остальные настройки для этой конфигурации оставлены по умолчанию.
![](/static/storage/23339373601866544980783734830154828929.png)
![](/static/storage/163067359073994301361808686149284440883.png)
Аутентификация базы данных определяет, как вы хотите, чтобы пользователи проходили аутентификацию, прежде чем они смогут просматривать базу данных. Возможные варианты:
Аутентификация по паролю; использует только пароль базы данных.
Аутентификация по паролю и базе данных IAM; использует пароль базы данных и учетные данные пользователя через пользователей и роли IAM. Эта опция доступна только в движках MySQL и PostgreSQL.
Аутентификация по паролю и Kerberos; использует пароль базы данных и аутентификацию Kerberos через AWS Managed Microsoft AD, созданную с помощью AWS Directory Service.
Для простоты выберите метод аутентификации по паролю из списка опций.
![](/static/storage/236287729480142057008323630359034453457.png)
Чтобы оставаться на уровне бесплатного пользования, оставьте флажок Enable Enhanced Monitoring
снятым. Мониторинг предоставляет вам метрики в режиме реального времени для ОС, на которой работает экземпляр DB.
В разделе Additional Configuration
в разделе Initial Database исходное имя базы данных — это имя вашей базы данных в экземпляре DB. Если имя не указано, RDS не создает базу данных при создании (за исключением Oracle или PostgreSQL). Мы будем использовать группу параметров по умолчанию и группу параметров DB. Иногда у вас может быть возможность создать собственную группу параметров DB или группу параметров.
![](/static/storage/305357004495380667299757602545681877372.png)
RDS создает снимок тома хранилища всего экземпляра базы данных, создавая резервную копию всего экземпляра базы данных, а не только отдельных баз данных.
В разделе «Резервное копирование» установите флажок «Включить автоматическое резервное копирование».
Период хранения резервной копии определяет количество дней, в течение которых хранятся автоматические резервные копии. Для этого руководства установите его равным 1 дню.
Если вы хотите установить ежедневный диапазон времени, в течение которого должно выполняться резервное копирование, выберите «Выбрать окно» и установите время для предпочитаемого вами окна. Если нет, вы можете просто выбрать «Нет предпочтений», что мы и сделаем здесь.
![](/static/storage/4862753213079064129865308840680820939.png)
Включите параметр «Включить автоматическое обновление минорной версии» в разделе «Обслуживание». Это позволит нам получать автоматические обновления, когда они станут доступны. Как и в случае с резервным копированием, мы можем установить определенный период обслуживания или не выбирать никаких предпочтений.
![](/static/storage/7636623460008450902231176395372537016.png)
Последнее, что нам нужно сделать, это отключить Включить защиту от удаления для этого руководства. Включение этой опции предотвратит случайное удаление базы данных.
![](/static/storage/241729075643361826711779491240983710266.png)
Вуаля! Выберите Create Database
, чтобы создать экземпляр DB.
![](/static/storage/104068941804222855405633462417079932531.png)
Это может занять некоторое время в зависимости от класса экземпляра и хранилища, выделенного для базы данных. Когда статус изменится на Available
, ваш экземпляр завершен.
![](/static/storage/41244145567032222156060687071319815319.png)
Пока это создается, вы можете перейти к следующему шагу по настройке среды MySQL на локальном компьютере.
Подключиться к базе данных MySQL
На этом этапе мы подключимся к базе данных MySQL, созданной с помощью MySQL CLI. Прежде чем двигаться дальше, убедитесь, что у вас установлен MySQL CLI. Строка подключения:
mysql -h **_endpoint_** -P **_port_** -u **_user_** -p
Конечную точку и порт базы данных можно найти на вкладке Configuration and Security
. Пользователь — это главное имя пользователя, которое было установлено при создании базы данных, которое можно найти на вкладке «Конфигурация».
Когда вы нажмете Enter
, вам будет предложено ввести пароль, это также будет главный пароль, который также был установлен при создании экземпляра DB.
![](/static/storage/202394542865638912540700467675810785107.png)
И вуаля, вы подключены к своей базе данных. Если мы отобразим список баз данных, мы увидим некоторые базы данных по умолчанию, поставляемые с MySQL, а также базу данных, которую мы создали при создании экземпляра.
![](/static/storage/185114003498544652972809783570699080902.png)
Вот как мы подключаемся к экземпляру базы данных Amazon RDS MySQL. Поздравляю. Теперь вы можете вставлять данные и выполнять запросы. Вы также можете создавать новые базы данных.
Удалить экземпляр DB
Чтобы не тратить ресурсы зря и не нести затраты с течением времени, лучше всего удалить экземпляр DB, если вы его не используете.
Для этого вернитесь в консоль RDS. Выберите «Базы данных», затем выберите экземпляр, который хотите удалить, и в раскрывающемся списке «Действия» выберите «Удалить».
![](/static/storage/338622927813269314499072449095249698873.png)
Вас спросят, хотите ли вы создать окончательный снимок вашей базы данных. Выберите эту опцию, если вы хотите в будущем восстановить текущее состояние вашей базы данных со всеми ее данными. В этом уроке мы оставим эту опцию неотмеченной. Подтвердите, что вы хотите удалить экземпляр, и нажмите «Удалить».
![](/static/storage/92077602163974405356598750212754837769.png)
Выполнение этих действий приведет к безвозвратному удалению экземпляра базы данных.
Заключение
В этом руководстве мы увидели, что такое база данных Amazon RDS и почему лучше настраивать собственную базу данных вручную. Мы также рассмотрели различные механизмы, поддерживаемые RDS, и сосредоточились на использовании механизма MySQL для создания экземпляра базы данных MySQL в службе RDS. Затем мы смогли подключить этот удаленный экземпляр к нашему локальному компьютеру и выполнить базовые запросы. Наконец, мы увидели, как окончательно удалить экземпляр базы данных.
Поиск неисправностей
Если вы перезапустите сеть, группа безопасности VPC, которая создала входящую функцию, позволяющую вам подключаться к экземпляру с вашего компьютера, может больше не работать, поскольку IP-адрес вашего компьютера мог измениться.
Чтобы это исправить, выберите свою базу данных и в разделе «Подключение и безопасность» выберите группу безопасности VPC в разделе «Группы безопасности VPC».
![](/static/storage/331714681042130309841314102184877022783.png)
Вы перейдете на страницу «Группы безопасности», где сможете просмотреть различные группы безопасности, правила для исходящего и входящего трафика и настроить их. Входящие правила определяют, каким ресурсам разрешено подключаться к экземпляру, а исходящие правила определяют, с какими ресурсами экземпляру разрешено подключаться.
Отсюда мы можем продолжить и отредактировать правила входящего трафика, чтобы разрешить нашему устройству подключаться к нему.
![](/static/storage/39163449439070423475110878541652674519.png)
Единственное, что вам нужно будет здесь отредактировать, это в разделе «Источники правила» выбрать «Мой IP», чтобы изменить IP-адрес, к которому разрешено подключение ресурса, на IP-адрес вашего устройства. Нажмите «Сохранить правила», и теперь вы сможете подключаться, как раньше.
![](/static/storage/287492782368527897027872079755621966683.png)