AWS для среднего проекта: что брать, что не брать
Только нужные сервисы AWS для проекта на 1000-100 000 пользователей. Без CDK-хайпа и enterprise-оверинжиниринга.
AWS — мощная платформа с 200+ сервисами. На SaaS-стартап вам нужно из них примерно 8. Если вы используете больше — скорее всего, вы переплачиваете и переусложняете архитектуру. Ниже — практичный набор сервисов AWS для проекта среднего масштаба (1000-100 000 активных пользователей в месяц).
Кому это писано
Этот гайд для SaaS, маркетплейсов, b2b-инструментов с такими параметрами:
- 1000-100 000 MAU (monthly active users)
- < 50 GB БД
- < 1 ТБ медиа
- Российская/международная аудитория
- 1-3 разработчика, не выделенный DevOps
Если у вас стартап на 10 пользователей — вам не нужен AWS, берите Hetzner за $5/мес. Если вам нужно 1М+ MAU — у вас уже есть DevOps, и эта статья вам не нужна.
Базовый набор (must-have)
1. EC2 — серверы
Самый простой сервис. Виртуальная машина по часам. Берите:
- t3.small (2 vCPU, 2 GB RAM) — для backend на 1k-10k пользователей. ~$15/мес
- t3.medium (2 vCPU, 4 GB RAM) — до 50k пользователей. ~$30/мес
- t3.large (2 vCPU, 8 GB RAM) — до 100k. ~$60/мес
Не берите Spot Instances для production — экономия 70%, но AWS может убить инстанс в любой момент.
Альтернатива: ECS Fargate — для контейнеризированных приложений без управления инстансами. На 30% дороже EC2, но проще.
2. RDS PostgreSQL — база данных
Managed PostgreSQL — без RDS вам придётся самим заниматься бекапами, апгрейдами, репликацией. Не надо.
- db.t4g.micro (2 vCPU, 1 GB) — для MVP. ~$15/мес
- db.t4g.small (2 vCPU, 2 GB) — для 10k+ пользователей. ~$30/мес
- db.m6g.large — для серьёзной нагрузки. ~$130/мес
Обязательно включите automated backups (7-30 дней) и Multi-AZ для production.
Альтернатива: Aurora Serverless v2 — масштабируется автоматически, но дороже и сложнее в дебаге. Берите только если действительно нужна непредсказуемая нагрузка.
3. S3 — хранилище файлов
Картинки, видео, PDF, логи, бекапы — всё в S3. ~$0.023/GB в месяц + трафик.
Обязательно настройте:
- Lifecycle policies (старые логи переносятся в Glacier — 80% дешевле)
- Server-side encryption
- Versioning для критичных бакетов
4. CloudFront — CDN
Кеширует ваш контент в edge-локациях по всему миру. Картинки, статика, even API при правильной настройке. ~$0.085/GB трафика.
Без CloudFront загрузка картинок из России до Австралии — 1-2 секунды. С CloudFront — 50 мс.
5. Route 53 — DNS
DNS-сервис. Простой. ~$0.50/зона в месяц + копейки за запросы. Берите всегда — встроенная интеграция с другими сервисами AWS.
Расширения по необходимости
6. ElastiCache Redis — кеш
Если у вас Django — почти точно нужен Redis. Кеш сессий, queries, очереди задач для Celery. ~$15-30/мес для cache.t3.micro/small.
Альтернатива: Redis на отдельном EC2 — на 30% дешевле, но вам самим за ним следить.
7. SES — отправка email
Транзакционные письма (подтверждения, инвойсы). $0.10/1000 писем. Дешевле SendGrid в 10 раз. Минус: настроить DKIM/SPF и попасть в whitelist занимает несколько дней.
8. CloudWatch — мониторинг и логи
Метрики и логи. Минимум: CPU, память, диск, медленные запросы к БД. ~$10-30/мес за стандартный набор.
Альтернатива: Sentry для ошибок ($26/мес стартовый план) + собственный Prometheus/Grafana для метрик. Часто дешевле и удобнее.
Что НЕ брать на старте
Эти сервисы — ловушки для начинающих, чьи названия звучат «правильно», но усложняют архитектуру:
1. Lambda + API Gateway для основного backend
Serverless звучит привлекательно, но для типичного SaaS:
- Cold start добавляет 200-1500 мс задержки
- Дороже EC2 при стабильной нагрузке
- Vendor lock-in максимальный (миграция с Lambda — это переписать всё)
- Сложнее дебагить
Lambda хорош только для редких задач: cron-jobs, обработчики webhooks, image-resize.
2. DynamoDB
NoSQL от AWS. Полезен для очень специфических случаев (high-write, low-read, predictable patterns). Для типичного SaaS — PostgreSQL покрывает 95% задач лучше.
3. EKS (Kubernetes)
Kubernetes — отличный инструмент для команд из 10+ инженеров. Для одного-трёх — это overkill, который сжирает половину времени на поддержку. Берите ECS Fargate или старый добрый EC2 + Docker Compose.
4. Aurora (без serverless v2)
Дороже RDS PostgreSQL на 20-30% за тот же функционал. Берите только если упёрлись в RDS performance — что бывает редко.
5. AWS WAF, Shield, GuardDuty
Это для enterprise. На малом проекте Cloudflare Free Tier даёт то же самое за бесплатно.
Типичная архитектура для SaaS
Для проекта на 10 000 MAU моя стандартная сборка:
Internet
↓
CloudFront (CDN)
↓
ALB (Application Load Balancer) — $20/мес
↓
EC2 t3.small × 1-2 — $15-30/мес
↓ ↓
ElastiCache Redis RDS PostgreSQL t4g.small
($15/мес) ($30/мес)
↓
S3 + Glacier (медиа + бекапы)
($5-15/мес)
Итого: $90-130/мес. Растёт линейно с нагрузкой.
Где экономить, не теряя в надёжности
Reserved Instances: контракт на 1 год даёт скидку 30-50% на EC2/RDS. Если ваш проект переживёт год — берите.
Savings Plans: гибче Reserved Instances. Скидка 30%+ за обязательство потратить $X в час.
Trusted Advisor: AWS сам подсказывает, где у вас неоптимально (бесплатный сервис).
Cost Explorer: проверяйте раз в неделю. Удивитесь, на что уходят деньги.
Free Tier: первый год многие сервисы бесплатные при ограниченном использовании. Для прототипов хватает.
Региональный выбор
Для российской/СНГ-аудитории:
- eu-central-1 (Frankfurt) — оптимально, ping из Москвы 30-50 мс
- eu-west-1 (Ireland) — 60-80 мс, но больше сервисов первой свежести
- us-east-1 (Virginia) — самый дешёвый, но 120-150 мс из Москвы
Для международной аудитории — multi-region через CloudFront, но БД остаётся в одном регионе.
Альтернативы AWS для российского рынка
После 2022 года не все могут пользоваться AWS из России. Аналоги:
- Яндекс.Облако — самый близкий аналог по сервисам, дороже на 20-30%
- Selectel — отличный выбор для VPS + S3-совместимое хранилище
- Hetzner Cloud — дёшево и стабильно для backend, но медиа храните на S3-аналогах
Итог
Для большинства SaaS-проектов 8 сервисов AWS закрывают все задачи: EC2, RDS, S3, CloudFront, Route 53, ElastiCache, SES, CloudWatch. Этого достаточно для роста до 100k MAU без переархитектуры.
Не гоняйтесь за модой и трендами. Lambda + DynamoDB + EKS — это enterprise-стек, который должен быть результатом конкретной боли, а не «давайте сразу правильно». Простота окупается на этапе поддержки гораздо больше, чем «правильность» окупается на этапе разработки.
Хотите такое же?

