advanced
ECS / EKS
Выбирайте managed-оркестрацию: ECS для AWS-native простоты или EKS, когда важны переносимость Kubernetes и экосистема.
ECS и EKS запускают контейнеризованные Node.js-сервисы в AWS. ECS — нативная оркестрация AWS: tasks, services, launch type Fargate или EC2. EKS — управляемый Kubernetes, когда нужны переносимые манифесты, Helm и навык работы вне одного облака.
| Платформа | Когда уместна | |-----------|---------------| | ECS + Fargate | Малая команда, минимум ops по кластеру | | ECS на EC2 | Нужны GPU, свои AMI или тонкая экономика | | EKS | Важны экосистема Kubernetes и переносимость |
Оба варианта стыкуются с ALB, IAM roles for service accounts, CloudWatch Logs и Secrets Manager. Деплой — тот же digest образа из CI; настройте CPU/память, readiness probes и rolling update.
На интервью: task definition ECS vs Deployment в Kubernetes, Fargate vs EC2 под капотом, service discovery, IRSA в EKS и когда простота ECS оправдывает отказ от «своего» control plane.
Типовые ошибки: завышенные лимиты task/pod; нет readiness — трафик на ещё стартующие контейнеры; логи в stdout без агента сбора; админство кластера с локального kubeconfig в prod.
Компромисс — операционная простота ECS против переносимости и глубины экосистемы EKS.
Чеклист:
- Образ по digest в task definition или манифесте.
- Requests/limits и health/readiness probes.
- Task role или IRSA вместо статических ключей AWS в контейнере.
- Централизованные логи и метрики с первого дня.