intermediate
EC2
Запускайте виртуальные машины, когда команде нужен контроль на уровне ОС, кастомная сеть, долгоживущие процессы или миграционно-дружественный хостинг.
EC2 — масштабируемые виртуальные машины в VPC AWS. FullStack-команда на Node.js берёт их, когда нужна полноценная ОС, долгоживущие процессы, кастомная сеть или миграция с on-prem без переписывания.
| Понятие | Роль | |---------|------| | Тип инстанса | Профиль CPU, памяти и сети | | AMI | Образ загрузки и базовое ПО | | Security group | Stateful-файрвол на сетевом интерфейсе | | Том EBS | Постоянное блочное хранилище |
API-серверы — в приватных подсетях; наружу — через балансировщик. Ключи доступа — через IAM instance profile, не статические на диске. User data или конфигурационное управление ставит Node.js, systemd и агенты логов.
На интервью: семейства инстансов, spot vs on-demand, security groups vs NACL, типы EBS, health checks за ALB и почему stateless API на одном хосте без autoscaling — плохая идея.
Типовые ошибки: SSH-ключи в AMI; открытый порт 22; загрузки на локальный диск; нет autoscaling и health checks; instance ID как стабильная идентичность сервиса.
Компромисс — максимальный контроль и простота миграции против операционной нагрузки по сравнению с контейнерами или serverless.
Чеклист:
- App tier в приватных подсетях за балансировщиком.
- Доступ через IAM roles, не долгоживущие ключи.
- Autoscaling group с health checks.
- Долговечные данные на EBS или во внешних сервисах, не на эфемерном диске.