Установка облачного AWS сервера CentOS Linux

04.12.2019

В этой заметке я расскажу, как установить виртуальный CentOS Linux сервер на примере VPS (virtual private server) в облаке AWS (Amazon Web Services), а так же как сделать начальную конфигурацию операционной системы.

1. Для начала нужно войти в веб-консоль управления AWS, перейти в сервис EC2 (Elastic Compute Cloud), перейти в раздел Instances и нажать кнопку Launch Instance.

Virtual CentOS installation - 00

 

2. Затем в сроке поиска образов виртуальных машин набрать "CentOS", из раздела AWS Marketplace выбрать образ "CentOS 7 (x86_64) - with Updates_HVM", а затем нажать кнопки Select и Continue.

Virtual CentOS installation - 01
Virtual CentOS installation - 02

 

3. На страницах конфигурации сервера нужно выбрать необходимый тип виртуальной машины (например t2.micro с 1 ядром и 1 ГБ памяти), подсеть и размер диска.

Virtual CentOS installation - 03
Virtual CentOS installation - 04
Virtual CentOS installation - 05

 

4. На странице Tags я рекомендую использовать метки Name и Description.

Virtual CentOS installation - 06

 

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

Virtual CentOS installation - 07

 

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

Virtual CentOS installation - 08
Virtual CentOS installation - 09
Virtual CentOS installation - 10
Virtual CentOS installation - 11
Virtual CentOS installation - 12

 

7. Теперь созданному серверу необходимо присвоить внешний IP-адрес, так как при конфигурации сетевых параметров автоматическое создание внешнего IP-адреса не было указано. Чтобы выдать новому серверу внешний IP-адрес, нужно перейти в раздел Elastic IPs, выбрать неиспользуемый адрес (если такого адреса нет, то необходимо его создать кнопкой Allocate Elastic IP address), нажать кнопку Actions --> Associate, указать идентификатор нужного сервера и нажать кнопку Associate. Внешний IP-адрес будет привязан к серверу, о чем можно убедиться на вкладке Instances в свойствах сервера.

Virtual CentOS installation - 13
Virtual CentOS installation - 14
Virtual CentOS installation - 15

 

8. Для подключения к операционной системе сервера можно использовать программу Putty, указав в параметрах внешний IP-адрес сервера, пользователя-администратора (centos для операционной системы CentOS) и закрытый ключ, который указывался при создании сервера. Если все параметры указаны верно, сервер работает, а группа сетевой безопасности разрешает подключения по порту 22 из внешней сети, то откроется терминал с командной строкой сервера.

Virtual CentOS installation - 16
Virtual CentOS installation - 17
Virtual CentOS installation - 18
Virtual CentOS installation - 19

 

9. Теперь, когда виртуальная машина создана, и к ней можно подключиться, необходимо его донастроить операционную систему сервера для начального использования. Минимальная конфигурация заключается в следующих шагах:
- Создание нового пользователя-администратора
- Загрузка открытого ключа в профиль этого пользователя.
- Назначение прав администратора созданному пользователю.
- Смена имени сервера.
- Установка приветствия в виде описания сервера при входе пользователя в систему.
- Настройка файла подкачки.
- Настройка репозиториев и установка последних обновлений операционной системы.
- Перезагрузка сервера.
Все вышесказанное можно выполнить с помощью следующих команд:

# Создание пользователя
sudo adduser myuser

# Загрузка открытого ключа пользователя в его профиль
sudo su - myuser
mkdir .ssh 
chmod 700 .ssh 
touch .ssh/authorized_keys 
chmod 600 .ssh/authorized_keys
# Открытый ключ пользователя задается в кавычках в этой строке
echo "ssh-rsa AAAABdsjdkshdjk3NzaC1kEjNl6tCCpwxOw== vbochkarevSSH-1RSA" > .ssh/authorized_keys
exit

# Назначение прав администратора созданному пользователю
sudo visudo
  #----->>>> В файле конфигурации найти указанные строки и добавить после них нового пользователя ----->>>>  
  ## Allow root to run any commands anywhere 
  root      ALL=(ALL)       ALL
  myuser    ALL=(ALL)       NOPASSWD:ALL
  #<<<<----- Конец блока конфигурации <<<<----

# Смена имени сервера
sudo hostnamectl set-hostname myserver
sudo vi /etc/hosts
  #>>>>----- В файле конфигурации в указанной строке дописать имя сервера  <<<<---- 
  127.0.0.1   localhost localhost.localdomain myserver
  #<<<<----- Конец блока конфигурации <<<<----

# Создание файла привествия
sudo vi /etc/profile.d/mymotd.sh 
  #----->>>> В файле конфигурации указать описание сервера ----->>>>  
  echo -en "\nServer role: \033[37;1;41m My test server \033[0m\n\n" 
  #<<<<----- Конец блока конфигурации <<<<----

# Создание файла подкачки размером 2 ГБ на системном диске
sudo dd if=/dev/zero of=/swapfile bs=1MiB count=2000
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo vi /etc/fstab
  #----->>>> В файле конфигурации указать ссылку на файл подкачи ----->>>>  
  /swapfile                                 swap                    swap    sw              0 0
  #<<<<----- Конец блока конфигурации <<<<----

# Проверка работы swap-файла
sudo swapon -a
sudo swapon -s
  #----->>>> Ответ команды ----->>>>
  Filename                                Type            Size    Used    Priority
  /swapfile                               file    2047996 0       -2
  #<<<<----- Конец ответа команды <<<<----

# Установить обновления операционной системы
sudo yum update

# Перезагрузить сервер
sudo reboot
Virtual CentOS installation - 20

 

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

Virtual CentOS installation - 21
Virtual CentOS installation - 22
Virtual CentOS installation - 23
Virtual CentOS installation - 24