AWS: EC2 — изменение типа инстанса и EBS — изменение размера хранилища

До недавних дней, процедура изменения типа инстанса или добавления гигабайт на ваш жесткий диск через консоль AWS было проблемой, чреватой создания копии инстанса, его конфигурацией и подменой оригинального на копию, с переназначением Elastic IP.

Расскажу, как это сделать гораздо быстрее и безопаснее.

Изменяем тип инстанса EC2

Например, если вам понадобились дополнительные мощности и вы готовы к переходу на более производительный сервер

  • В разделе EC2 переходим в под-раздел Instances
  • Останавливаем целевой инстанс — выбираем инстанс и затем нажимаем ActionsInstance StateStop
  • Как только сервер будет остановлен изменяем его тип: ActionsInstance SettingsChange Instance Type
  • Выбираем необходимый тип и подтверждаем выбор — Apply
  • Стартуем измененный инстанс: ActionsInstance StateStart

Таким образом, можно изменять мощность как в большую сторону, так и в меньшую

Изменяем размер жестного диска EBS

  • В разделе EC2 переходим в подраздел  Elastic Block StoreVolumes
  • Выбираем именно тот Volume (жесткий диск) который нам необходим — идентифицируем его или по тегам, которые мы составляли при добавления Volume к нашему серверу при создании или же по столбцу Attachment information
  • Далее: ActionsModify Volume
  • Устанавливаем новый размер хранилища Size и, затем, Modify

Так мы увеличили размер хранилища. Осталось внести изменения в системе, для расширения основного раздела жесткого диска.

Далее инструкция будет для Linux (CentOS в частности, а для других систем можно обратиться к официальной документации)

Соединяемся с сервером по SSH. Затем получаем рут права

$ sudo su

Выводим список блоков хранения, прикрепленных к серверу

# lsblk

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

# growpart /dev/nvme0n1 1

Удостоверяемся что память привязана

# lsblk

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

# df -h

И применяем изменения к основному разделу (чаще всего это /dev/nvme0n1p1)

# sudo resize2fs /dev/nvme0n1p1

Удостоверимся, что изменения произошли успешно

# df -h

Готово! При этом, перезагрузка сервера не требуется.

Хостинг Digital Ocean

Это первая статья из серии «Устанавливаем блог WordPress на CentOS с Caddy, PHP 7.2 и MySQL 8.0». В любом случае, нам понадобится хостинг для размещения блога.

Работая с бесплатными (условно-бесплатными) хостинг-провайдерами и платными, все таки, хочу отдать предпочтение платному с лучшей управляемостью и хорошим сервисом.

Имею достаточно большой и позитивный опыт с Amazon (AWS), хотя он, считается дорогим (заслуженно, так как инфраструктура там широчайшая). Зная, что есть альтернативы, решил остановить свой выбор на Digital Ocean (DO), так же широко известном.

Плюсом будет то, что у DO есть достаточный по характеристикам сервер стоимостью 5 у.е.

Итак, нужно зарегистрировать :

https://cloud.digitalocean.com/registrations/new

Процесс регистрации типичный, сложностей возникнуть не должно.

Далее, привязываем карту (или другой платежный инструмент).

В DO облачные сервера называются «дроплетами» (Droplet). С английского переводится, как «капля». Это, чтоли, отсылка к тому, что облако состоит из множества капелек?! =)

Итак, перейдем к созданию дроплета-сервера: CreateDroplets

Далее выбираем операционную систему. Исторически сложилось, что, в основном, приходилось работать со сборками CentOS (версии 6 и 7) — выбираем 7.6 версию

План — Standard

Тариф — 5 у.е. в месяц (1GB / 1CPU / 25GB SSD)

Датацентр (физическое расположение сервера) выбираем поближе к России. Я выбирал Frankfurt

Метод аутентификации, для пущей «секьюрности» выбрал SSH keys (в этом случае доступ к серверу будет осуществляться не по паре {логин + пароль}, а по паре {логин + файл-ключ}). При этом необходимо загрузить сгенерированные самостоятельно SSH-ключ. Это и сделаем далее…

Нажимаем тут кнопку New SSH Key и видим следующее диалоговое окно:

Сгенерированный файл-ключ необходимо вставить в левое поле (1 на скрине), а достаточно подробная инструкция по генерации этого файл-ключа находится в правой области (2 на скрине). Тем не менее, давайте опишу как это сделать на русском языке. 

Оговорюсь, что, при написании данной статьи, была использована операционная система macOS (процесс создания аналогичный для Linux систем, а для Windows постараюсь описать позже). Итак, открываем терминал и выполняем команду

$ cd ~/.ssh

для перехода в специальную директорию (для SSH ключей) внутри домашней директории для вашего текущего пользователя

Далее выполняем команду для генерации ключа

$ ssh-keygen -t rsa

Увидим следующую предложение для ввода имени ключа

Enter file in which to save the key (/home/user/.ssh/id_rsa):

вводим удобное для вас имя (чтобы далее его можно было найти), например blog_01a и подтверждаем ввод — ENTER

Для упрощения (уровень защита для блога с файлом-ключем — отличный уровень) оставляем поле passphrase пустым (нажимаем Enter при его запросе и Enter для повторного ввода ключ-фразы). В результате, видим сообщение об успешной генерации файл-ключа.

Чтобы вывести в консоль содержимое публичного ключа (а именно он нам необходим для ввода в интерфейсе создания Droplet-сервера) используем следующую команду

$ cat ~/.ssh/blog_01a.pub

Копируем полученное буквенно-цифровое выражение, а это будет что-то вроде…

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDi28juE0FufXdPwZmOUE+E+gQJSunhUmsE7mSnuPmwcb8VBVuly4Uarq3EkCYAXrjrPwq/FOQWDX1Yw2sC16gQLWECUUKmnVR3OPrZCW2iPOO/ZpSLvs0cMrAHZlobBrNOYLl22tnIuaZVl49GLCcwuEFIQuxcIO9fU8ZBD0fpJoOEl9niqg2n2/86IczTGhsxdjq+EXyYLTUv/F0GtEneQQCxiHRVRTL1dDNbSQZj1Y0UtKZHFNHsI6TbmhkUlFZX3jEmC+b6XxSmJM2UiTCKOERAKmImTwnDOyLPZmnKAbGrqLmQv/E1GQdAqyGJCEC7zThFxwPtkvcmo2NzFwsr

…и вставляем в ранее указанное поле в диалоговом окне добавления файла-ключа в интерфейсе создания Droplet. Даем имя в поле Name (например тоже, что и у файла-ключа — blog_01a) и жмем кнопку Add SSH Key

Готово. Осталось отметить его галочкой, оставить, как есть «1 Droplet» в поле «How many Droplets?» и дать ему имя в поле «Choose a hostname».

Tags — опционально, выбираем Project (если ранее не создавали проект — создаем, это просто), пока что отключаем backups (так как это лишние траты, если захотим — включим позже) и, наконец-то нажимаем кнопку Create Droplet. С удовольствием наблюдаем за процессом создания нашего сервера…

Теперь то мы научились достаточно многому, а в следующей статье мы создадим доменное имя и привяжем к нашему серверу.