Ответ 1
Это относительно быстрая настройка MySQL 5.7.14 на Red Hat Enterprise Linux версии 7 (RHEL7).
Я не аффилирован с AWS; Мне просто нравится пользоваться их услугами.
Убедитесь, что у вас есть учетная запись AWS EC2. Обратите внимание, что хотя Amazon требует наличия кредитной карты в файле, в течение первого года не будет никаких обвинений, если вы придерживаетесь условий Free-level > . Как правило, это означает, что один микро-экземпляр (1 ГБ RAM) сервер работает 24/7.
Запуск экземпляра EC2 RHEL
Шаг 1: На AWS EC2 нажмите "Запустить экземпляр" и выберите "Red Hat Enterprise Linux 7.2 (HVM), тип тома SSD - ami-775e4f16", как показано на рисунке ниже. Обратите внимание, что версии доступных или продвинутых AMI (Amazon Machine Instance) со временем будут вращаться, и это на момент написания этой статьи. Но номер AMI показан в тексте выше.
Обычно я выбрал Amazon Linux AMI в качестве своего дистрибутива. Я не делаю этого больше, поскольку это их собственный hodge-podge, и, естественно, существует неопределенность в выборе менеджера пакетов и, следовательно, файлов. Итак, я придерживаюсь RHEL.
На экране "Выбрать тип экземпляра" выберите тип экземпляра подходящего типа, как показано ниже:
Нажмите "Далее". На следующем экране "Сведения" нажмите "Далее", чтобы принять значения по умолчанию. На экране хранилища измените размер до 16 ГБ и нажмите "Далее". Затем "Далее" снова в теге. Далее идет экран "Настроить группу безопасности", изображенный ниже:
Принять переключатель "🔘 создать новую группу безопасности" на данный момент. Примечание. Порт SSH 22 открыт для всех (Anywhere) IP-адресов с 0.0.0.0/0
CIDR. Другие варианты включают обнаружение "Мой IP" (как в вашем) или "Пользовательский". Будьте уверены, что при следующем доступе к экрану будет заблокирован на основе ключей безопасности, которые мы установим. Существует кнопка для добавления правила в открытых портах для добавления таких портов, как MySQL 3306 или HTTP 80. Но пока мы это пропустим. Обратите внимание на имя группы безопасности. Заполните его или примите значение по умолчанию. Не так важно, чтобы это было правильно, так как группа безопасности может быть изменена позже для исполняемого экземпляра. Нажмите "Обзор" и "Запуск".
Затем нажмите "Запустить" (не бойтесь, он еще не запускается). Как показано на следующем экране:
Обратите внимание, что, поскольку у меня уже есть несколько генерируемых ключей, по умолчанию используется "Выбрать существующую пару ключей" в первом раскрывающемся списке. В противном случае вы создадите новую пару ключей с указанным именем напоминания и переходите к разделу "Загрузить ключевую пару". На этом этапе у вас есть пара ключей в виде файла .pem
. Относитесь к этому с максимальной безопасностью, сохранив его до места, которое вы не потеряете. Предпочтительно в защищенной паролем области, например, в каталоге вашей операционной системы пользователя.
Когда вы наконец-то нажмете "Запуск экземпляров" на этом же экране, запуск происходит по отношению к этой паре ключей (либо только что созданной, либо уже существующей). Обратите внимание: генерация пары ключей может быть задачей, которую вы выполняете только один раз в год. Повторное использование пары ключей снова и снова, вплоть до вас.
После запуска экземпляра у вас есть примерно пять минут, прежде чем он появится вживую. В элементе меню "Экземпляры" вы знаете, что экземпляр находится в режиме реального времени, когда состояние экземпляра читает "running", а "Status Checks" читает "2/2 прошло":
Помните загруженный файл .pem
? Ну, всего один раз вам нужно создать файл .ppk
из этого для PuTTY, клиентской программы SSH, которая будет связываться с криптозащитой вашего исполняемого экземпляра. Для этого мы используем инструмент puttygen, который работает в согласии с PuTTY. Итак, мы запускаем puttygen, загружаем .pem
загруженные минуты до этого и генерируем файл .ppk
с ключевой фразой ключа, такой как "I и love% ancHovies2_fjdi8Ha". Ниже приведена картина puttygen:
И страница AWS EC2 под названием Подключение к вашему Linux-экземпляру из Windows с помощью PuTTY, Шагами являются Закрытый ключ File/Load. Измените фильтр на все файлы (.). Найдите файл .pem
. Нажмите "Открыть", затем "Хорошо". Введите парольную фразу. Нажмите "сохранить закрытый ключ" и сохраните его в той же папке, что и файл .ppk
, рядом со своим файлом .pem
. Как уже упоминалось, это не то, что вы можете делать, но каждый год.
Теперь запустите PuTTY, клиент SSH. Используйте имя сеанса/хоста как-то вроде
[email protected]
Таким образом, в основном [email protected]
объединяется с общедоступным DNS-именем, которое отображается в разделе "Экземпляры на панели управления EC2". Что касается указания файла PuTTY .ppk
, он будет выглядеть следующим образом: файл .ppk
, выбранный рядом с кнопкой "Обзор":
Вернитесь к предыдущей иерархической иерархии сеанса, показанной ниже, укажите это имя профиля в разделе "Сохраненные сеансы" и нажмите "Сохранить". В дальнейшем, когда вы загружаете PuTTY, вы просто загружаете сеанс по имени:
Не забывайте, что почти все, что вы здесь делаете, сохраняет ссылку .ppk
в дружественный именованный профиль. И вам может потребоваться изменить имя хоста (конечно, когда вы сохраняете изображение экземпляра на EC2 и возвращаетесь с новым IP-адресом экземпляра при последующем запуске).
Хорошо, это непросто. Но это то, что есть.
Когда вы нажмете "Открыть", он попытается подключиться к вашему экземпляру RHEL. Нажмите "Да" в предупреждении подписи. Введите предварительно сохраненную .ppk
ключевую фразу, и вы должны сидеть в командной строке Linux.
Установка MySQL (поставлю эти заметки на GitHub)
URL01: Загрузить репозиторий MySQL Yum
URL02: Глава 1 Установка MySQL в Linux с использованием репозитория MySQL Yum
Теперь вы загружаете и запускаете MySQL 5.7.14 на EC2 с базой данных и настройкой пользователя. Ваши серверы должны быть отображены. Вот этот ответ здесь для создания изображений (AMI). Резервное копирование данных. См. Документацию EC2, например Рекомендации для Amazon EC2.
Назад к безопасности: лучшие практики, безусловно, предлагают не открывать ваш db для прямого подключения через группы безопасности для порта 3306. Как вы решите придерживаться этого - ваш выбор, например, с PHP, Java или другим API-интерфейсом программирования. Обратите внимание, что различные клиентские программы db могут соединяться через туннели SSH, такие как MySQL Workbench. Кроме того, существуют различные библиотеки разработки с туннелями SSH, но их не так просто разрабатывать (в основном из-за сложных цепочек ключей и отсутствия обширных опытов разработчиков). Например, есть один для С# здесь.
Кроме того, у AWS есть RDS и другая база данных для менее практичной работы и для вашего собственного, как и выше. Причина, по которой многие разработчики нацелены на EC2, связана с тем, что у вас есть полный сервер для других программных инициатив.
Если вы модифицируете группы безопасности, как упоминалось ранее, рассмотрите возможность использования диапазонов IP на основе записей CIDR и будьте осторожны перед чрезмерной экспозицией ваших хранилищ данных. Или за предоставление. Практически те же самые лучшие методы, что и для работы на месте.
Относительно этого раздела MySQL мои заметки GitHub для приведенных выше изображений расположены здесь.