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

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


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



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

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

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





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



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




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

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



