Как создать Ubuntu EC2‑инстанс в AWS

EC2 (Elastic Compute Cloud) — это сервис «Compute» в AWS (Amazon Web Services). По сути это виртуальная машина (VM) в облаке AWS, которую можно создать и запускать по требованию. Вы платите за ресурсы по факту использования. В этой инструкции показано, как запустить Ubuntu EC2‑инстанс и подключиться к нему по SSH.
Важно: если у вас есть бесплатный тариф (Free Tier), следите за выбором AMI и типа инстанса — только некоторые варианты подходят для Free Tier.
Что потребуется
- Аккаунт AWS (создайте, если ещё нет).
- Доступ в интернет и терминал (macOS / Linux / Windows + PuTTY).
- Базовые знания SSH.
Что мы сделаем
- Войдём в консоль AWS.
- Выберем регион и запустим EC2‑инстанс на основе AMI “Ubuntu Server 18.04 LTS”.
- Настроим диск, тэги и Security Group.
- Создадим или выберем Key‑Pair и подключимся по SSH.
Вход в AWS
Перейдите на страницу входа в AWS (логин). После успешного входа вы увидите основной консольный экран со списком сервисов.

После входа откройте AWS Management Console и найдите сервис EC2 в разделе «Compute».

Запуск EC2‑инстанса на Ubuntu 18.04 LTS
- Выберите ближайший регион в правом верхнем углу консоли. Регион влияет на задержки и стоимость (например, Asia Pacific (Mumbai) — Азия, Мумбаи).

- В меню «Services» выберите EC2.

- Нажмите «Launch Instance» для создания нового инстанса.

- Выберите AMI — ищите «Ubuntu Server 18.04 LTS». Для Free Tier убедитесь, что AMI помечен как eligible for Free Tier.

- Выберите тип инстанса. Для Free Tier обычно выбирают t2.micro (1 vCPU, небольшое ОЗУ).

- На странице конфигурации инстанса можно оставить настройки по умолчанию или задать сетевые параметры (VPC, подсеть). Если не уверены — оставьте дефолт.

- Добавьте хранилище: по умолчанию для корневого раздела можно задать 30 ГБ (Root Partition Size: 30 ГБ). Измените при необходимости.

- Тэги: добавьте Name и другие метки (Key: Value) для удобства учёта ресурсов.

- Security Group: создайте новую группу безопасности или выберите существующую. Для SSH откройте порт 22, но ограничьте доступ вашим IP (рекомендация безопасности).

Важно: не оставляйте правило 0.0.0.0/0 для порта 22 в продакшне — это риск. Вместо этого укажите IP вашей сети или используйте VPN/bastion.
- Проверьте конфигурацию и нажмите «Launch».

- При запуске потребуется Key‑Pair для SSH. Создайте новый Key‑Pair или используйте существующий. Скачайте файл .pem и храните его в надёжном месте.

- Подождите, пока состояние инстанса сменится с pending на running. Нажмите «View Instances», чтобы увидеть статус.

Когда инстанс в состоянии running, можно подключаться.

Подключение к инстансу по SSH
Выберите инстанс в консоли и нажмите «Connect». Скопируйте пример команды ssh из окна подключения.

Обычно команда выглядит так:
ssh -i "first-vm.pem" [email protected]Где:
- first-vm.pem — ваш скачанный файл ключа (.pem);
- ec2‑3‑xx‑xx‑xx.compute-1.amazonaws.com — публичный DNS вашего инстанса;
- пользователь для Ubuntu AMI обычно ubuntu (не root).
Если вы получили ошибку прав доступа для Key‑Pair, установите права 400 и попробуйте снова:
chmod 400 ~/Downloads/first-vm.pemПримеры для Windows:
- Конвертируйте PEM в PPK через PuTTYgen и подключайтесь через PuTTY.
- Или используйте встроенный OpenSSH в Windows 10/11 через PowerShell.
После подключения выполните базовую проверку:
sudo apt update
sudo apt upgrade -y
hostnamectlРекомендации по безопасности
- Ограничьте доступ по SSH только вашим IP-адресам (CIDR). Если требуется доступ из многих мест, используйте VPN или bastion host.
- Храните .pem-файлы в защищённом хранилище (данные на локальном компьютере должны быть зашифрованы).
- Отключите Root SSH‑вход через /etc/ssh/sshd_config и используйте пользователи с sudo.
- Настройте автоматические обновления безопасности или систему управления конфигурацией (Ansible, Chef).
Типичные ошибки и отладка
- «Permission denied (publickey)»: неверный ключ, не тот пользователь (нужно ubuntu для Ubuntu AMI), или ключ не привязан к инстансу.
- Порт 22 недоступен: проверьте правила Security Group и NACL в VPC.
- Таймаут подключения: проверьте публичный IP/DNS и настройки маршрутизации/подсети.
- Инстанс в статусе stopped или terminated: проверьте историю действий и биллинг.
Альтернативные подходы
- AWS CLI: запуск инстанса программно через aws ec2 run-instances.
- CloudFormation / Terraform: описать инфраструктуру как код (IaC) для повторяемости и версионирования.
- AWS Marketplace AMI или сторонние образы для специфичных задач (Docker, SQL и т. п.).
Критерии приёмки
- EC2‑инстанс находится в состоянии running.
- Вы можете подключиться по SSH под пользователем ubuntu с использованием личного ключа.
- apt update выполняется успешно и сеть доступна.
- В Security Group открыт порт 22 только для доверенных IP.
Чек-листы по ролям
Администратор:
- Выбрал регион и тип инстанса.
- Создал/скачал Key‑Pair.
- Ограничил доступ SSH.
Разработчик:
- Подключился по SSH и выполнил apt update.
- Развернул приложение или проверил окружение.
Оператор (DevOps):
- Настроил мониторинг (CloudWatch).
- Настроил резервное копирование или AMI снимок.
Мини‑методология: быстрое воспроизведение инстанса
- Описать AMI, тип и диск в конфигурационном файле (CloudFormation/Terraform).
- Проверить Security Group и Key‑Pair.
- Запустить и проверить SSH‑доступ.
- Создать AMI из рабочего инстанса для шаблона.
Когда этот метод не подойдёт
- Если надо масштабировать горизонтально: используйте Auto Scaling и AMI с преднастроенным образом.
- Для короткоживущих контейнеров лучше использовать ECS/EKS или AWS Fargate.
Полезные команды и сниппеты
Проверка публичного IP инстанса:
aws ec2 describe-instances --instance-ids i-0123456789abcdef0 --query "Reservations[].Instances[].PublicIpAddress"Конвертация PEM в PPK (PuTTYgen): откройте .pem в PuTTYgen и экспортируйте .ppk.
Mermaid: как выбрать Key‑Pair
flowchart TD
A[Начало] --> B{Есть существующий Key‑Pair?}
B -- Да --> C[Выбрать существующий Key‑Pair]
B -- Нет --> D[Создать новый Key‑Pair и скачать .pem]
C --> E[Запустить инстанс]
D --> E
E --> F[Подключиться по SSH]Частые вопросы
Q: Какой пользователь для входа в Ubuntu AMI? A: Пользователь по умолчанию — ubuntu.
Q: Можно ли использовать другой порт вместо 22? A: Да, можно изменить порт SSH и открыть соответствующее правило в Security Group.
Q: Что лучше: остановить или завершить инстанс? A: Stop сохраняет диск и позволяет перезапустить; Terminate удаляет инстанс и может удалить корневой том, если не сохранён отдельно.
Короткая итоговая сводка
- Вы запустили Ubuntu EC2‑инстанс, настроили диск и Security Group, создали Key‑Pair и подключились по SSH.
- Следуйте рекомендациям по безопасности: ограничьте доступ по SSH, храните ключи безопасно и используйте IaC для повторяемости.
Полезно сохранить: имя инстанса, регион, ID инстанса, путь до .pem, правила Security Group.

Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone