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 или во внешних сервисах, не на эфемерном диске.