НАУКА ДАННЫХ
Запуск баз данных MySQL на AWS EC2 - учебное пособие для начинающих
Удаленный запуск и управление базами данных MySQL
Запускать базы данных на локальных компьютерах просто, а иногда и достаточно на этапе разработки. Но для развертывания большинства приложений необходимо запускать базы данных на удаленном сервере. Существуют тысячи решений для удаленного развертывания баз данных. В этой статье показано, как создать простую базу данных на сервисах AWS EC2 и удаленно управлять ею.
Эта статья написана для новичков, у которых нет опыта развертывания облачных баз данных. Кроме того, как уже было сказано, существует множество облачных и не облачных решений для развертывания баз данных. Например, у AWS есть специальный сервис под названием AWS RDS для развертывания баз данных в облаке. Мы обсудим некоторые из этих решений в будущем и сравним их. На сегодня давайте перейдем к развертыванию базы данных MySQL на экземпляре AWS EC2.
ШАГ A. Запустите экземпляр AWS EC2.
Для начала нам понадобится аккаунт AWS. Вы можете БЕСПЛАТНО создать учетную запись AWS за несколько минут.
Эта статья объяснила шаги более подробно.
После создания БЕСПЛАТНОЙ учетной записи AWS и входа в систему щелкните «Службы» (рядом с логотипом AWS) и в списке выберите «EC2» (т.е. означает Amazon Elastic Compute Cloud, что является модным словом для облачного компьютера).
На загруженной странице / панели инструментов выберите «Запустить экземпляр».
AWS показывает, что для запуска инстанса EC2 необходимо выполнить 7 шагов.
Шаг 1. Выберите образ машины Amazon (AMI)
Для начала выберем ОС для нашего проекта. Лучшим бесплатным выбором для этой цели является Ubuntu Server 20.04, который имеет БЕСПЛАТНЫЕ уровни.
Шаг A2: выберите тип экземпляра
Для проверки идеи нам не нужна большая машина. Давайте выберем простой, но БЕСПЛАТНЫЙ вариант, например t2.micro. Позже мы можем обновить его, если захотим.
Нажмите Далее, чтобы настроить детали экземпляра.
Шаг A3: настройка сведений об экземпляре
Важный шаг, но для этой демонстрации здесь особо нечего менять. Вы ЕГО РАЗДАВАЕТЕ !!!
Шаг A4: Добавьте хранилище
Здесь вы должны установить размер вашего хранилища. Чтобы иметь право на тариф уровня бесплатного пользования, выберите 8 ГБ (значение по умолчанию). Вам может потребоваться увеличить его позже, когда вы будете работать с более крупными базами данных (и, конечно же, вы должны за это заплатить).
Шаг A5: Добавьте теги
Вы также можете проигнорировать эту часть и перейти к следующему шагу.
P.S. В будущем воспользуйтесь этой ссылкой, чтобы узнать о лучших практиках тегирования AWS.
Шаг A6: Настройте группу безопасности
На этом этапе мы должны настроить, какие порты на нашем экземпляре EC2 должны быть доступны внешнему миру (включая вас и ваш локальный компьютер). На данный момент мы открываем только порт 22 для подключения к нашей системе через SSH (безопасный протокол для взаимодействия и передачи данных между компьютерами через Интернет или сеть). Вы можете открывать разные порты, такие как HTTP или многие другие, в зависимости от ваших потребностей. Для целей нашей демонстрации нам нужно только открыть порт SSH (т. Е. 22).
ВНИМАНИЕ: для этой демонстрации вам не нужно открывать порт MySQL (по умолчанию 3306) для взаимодействия с базой данных MySQL. Открытие этого порта для внешнего мира без надлежащей аутентификации и безопасности опасно. Позже я покажу вам, как взаимодействовать с вашей базой данных через более безопасное соединение.
Шаг A7: просмотр запуска экземпляра
Еще раз проверьте все и нажмите кнопку «Запуск». Через секунду появится окно с просьбой выбрать пару ключей. Пара ключей позволяет вам безопасно подключаться к вашей системе EC2 через Интернет. Ключ - это .pem
файл, который необходимо хранить в надежном месте.
ВНИМАНИЕ! Любой, у кого есть доступ к этому файлу, может подключиться к вашему компьютеру EC2 и использовать его.
У вас есть два варианта. Во-первых, если у вас уже есть пара ключей, вы можете использовать существующий ключ. Второй вариант - выбрать новую пару ключей. Здесь я создаю новую пару ключей для этой демонстрации. Я даю ему имя и «Загрузить пару ключей» в защищенной папке.
Ваш новый экземпляр EC2 будет готов к использованию через несколько секунд (иногда минут). Чтобы проверить статус вашего экземпляра EC2, нажмите «Сервисы» (снова рядом с логотипом AWS). ››› EC2 ››› Экземпляры.
Вы увидите список ваших экземпляров (или один экземпляр, если это ваш первый экземпляр). Убедитесь, что ваш экземпляр готов (см. Рисунок ниже).
ВНИМАНИЕ! Не забудьте остановить свой экземпляр или прекратить его работу после того, как вы выполнили свой тест (если вы не решили оставить его). Работающий экземпляр может быть БЕСПЛАТНЫМ в течение пробного периода, но если вы забыли его остановить или прекратить, по истечении пробного периода вы получите счет от AWS.
Шаг A8: Подключение к вашему экземпляру EC2
Если ваша система EC2 работает, теперь вы можете выбрать свой экземпляр и в верхнем меню выбрать Действия ››› Подключиться.
Выберите «SSH-клиент» на открывшейся странице, и вы увидите полные инструкции о том, как подключиться к вашему экземпляру. Здесь я следую той же инструкции.
По сути, вам нужен инструмент под названием SSH Client для безопасного подключения к вашей машине EC2. Если у вас есть система с Linux, Mac или Windows 10 (или выше), у вас должен быть установлен и готов к работе SSH Client. Некоторым пользователям Windows следует включить / установить SSH-клиент на свой компьютер перед тем, как начать его использовать. Вот ссылка, которая показывает, как это сделать.
Откройте терминал и перейдите в папку, содержащую ваш файл ключа AWS (файл .pem). Что касается меня, я сохранил свой ключевой файл (my_test_key.pem
) в папке с именем test_mysql_aws
.
cd test_mysql_aws chmod 400 my_test_key.pem ssh -i “my_test_key.pem” [email protected]
Опять же, вы можете найти полные инструкции, когда нажмете «Подключиться» на панели инструментов EC2.
ШАГ Б. Установка MySQL на экземпляр AWS EC2.
Если вы успешно создали и подключились к своему экземпляру EC2, пора установить сервер MySQL на вашем экземпляре. Я предпочитаю использовать инструмент управления репозиторием пакетов APT.
sudo apt update sudo apt install mysql-server
Как только ваша установка будет завершена, сервер MySQL должен запуститься автоматически. Вы можете проверить это с помощью следующей команды.
sudo systemctl status mysql
Он должен возвращать некоторую информацию о сервере MySQL, например Active: active (running)
. Давайте авторизуемся как root.
sudo mysql
Теперь вы должны установить пароль для своего root-доступа. Замените your_password_here
надежным паролем.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password_here';
mysql> FLUSH PRIVILEGES;
Теперь давайте выйдем и войдем в систему с учетными данными root.
mysql> exit $ sudo mysql -u root -p
Введите пароль root, и, надеюсь, вы вернетесь в командную строку MySQL.
ШАГ C: Создание фиктивной базы данных
Хотя для этого раздела это необязательно, я предполагаю, что вы знакомы с командами SQL. Если вы не знакомы с SQL, я настоятельно рекомендую пройти эти три курса, но пока вы можете продолжить.
Курс 1: https://academy.vertabelo.com/course/sql-queries
Курс 2: https://academy.vertabelo.com/course/sql-insert-update-delete
Курс 3: https://academy.vertabelo.com/course/creating-tables-in-sql
Во-первых, давайте создадим фиктивную базу данных (mysql_test
) и фиктивную таблицу (test_table1
) внутри нашей базы данных.
CREATE DATABASE mysql_test; USE mysql_test; CREATE TABLE test_table1 (id INT, name VARCHAR(45));
Давайте также добавим в нашу базу данных фиктивные данные.
INSERT INTO test_table1 VALUES(1, 'Joe'), (2, 'Jane'), (3, 'Jack'), (4, 'Jessica');
И наконец, давайте выведем все данные в таблицу, чтобы убедиться, что все в порядке.
SELECT * FROM test_table1;
В вашем приложении MySQL вы должны увидеть небольшую таблицу, подобную следующей.
+------+---------+ | id | name | +------+---------+ | 1 | Joe | | 2 | Jane | | 3 | Jack | | 4 | Jessica | +------+---------+ 4 rows in set (0.00 sec)
ШАГ D. Установка MySQL Workbench для упрощения управления
MySQL Workbench - это визуальный инструмент для администрирования баз данных. Это поможет вам выполнять сложные задачи по управлению базой данных за короткое время без ущерба для гибкости. Мы можем установить это приложение на наш локальный компьютер и управлять любыми локальными или удаленными базами данных.
Давайте воспользуемся этим мощным инструментом для доступа к нашей базе данных MySQL и управления ею в только что созданном экземпляре AWS EC2. Вы можете скачать и установить приложение здесь. Установка проста, понятна и находится всего в нескольких щелчках мыши. Эта ссылка также может помочь вам завершить установку.
ПОМНИТЕ: для этой демонстрации мы устанавливаем MySQL Workbench на наш локальный компьютер, а не на экземпляр EC2.
После установки MySQL Workbench в вашей локальной системе вы должны увидеть первую страницу, как показано на следующем рисунке.
Щелкните + рядом с MySQL Connections.
Дайте вашему соединению произвольное имя (например, AWS SQL test
). В раскрывающемся меню «Метод подключения» выберите «Стандартный TCP / IP через SSH». Имя хоста SSH - это ваш общедоступный DNS-адрес IPv4 экземпляра EC2. Вы можете найти этот адрес на панели инструментов EC2, щелкнув свой экземпляр и выбрав детали в меню вкладок.
Кроме того, измените имя пользователя SSH на ubuntu
и найдите файл ключей SSH (файл .pem, полученный от AWS для подключения через SSH). Наконец, убедитесь, что ваше имя пользователя root
. Нажмите ОК, и ваше соединение должно появиться на первой странице.
Щелкните новое соединение, и оно запросит ваш пароль root для MySQL. После ввода пароля вы увидите свои базы данных и таблицы на вкладке «Схема» (см. Рисунок ниже).
В области запроса вы можете писать и запускать свои команды SQL. Введите следующие команды, выделите их, а затем нажмите кнопку «Выполнить» (показано красной стрелкой на рисунке ниже).
USE mysql_test; SELECT * FROM test_table1;
Как видите, он показывает содержимое вашей mysql_test
таблицы на AWS EC2. MySQL Workbench может помочь вам безопасно управлять своей базой данных на AWS (через туннелирование SSH).
Резюме
В этой статье вы начнете развертывание базы данных MySQL на экземпляре AWS EC2. Вы узнаете, как настроить экземпляр EC2, подключиться к нему, установить сервер MySQL, настроить сервер, создать несколько баз данных и таблиц и, наконец, управлять ими с помощью MySQL Workbench.