Из чего складываются косты CDN для VPN
Когда вход VPN спрятан за whitelisted CDN-edge (оператор видит трафик как обращение к «белому» CDN, а тот проксирует на вашу ноду), счёт за инфраструктуру перестаёт быть просто «арендой сервера». Появляется отдельная статья расходов — трафик через CDN, и считать её нужно по своей модели.
Косты CDN складываются из двух базовых компонентов:
| Компонент | Что это | Порядок величины |
|---|---|---|
| Исходящий трафик (egress) | Оплата за отданные гигабайты | по прайсу провайдера |
| Запросы | Оплата за число HTTP-запросов к edge | Зависит от транспорта |
| Итого эффективно | egress + запросы на масштабе | считается из своего биллинга |
Биллинг CDN обычно тарифицирует исходящий с edge к клиенту трафик (в основном downlink), но на масштабе к нему добавляется плата за число запросов — этот компонент нужно уточнить в тарифе заранее, иначе прогноз костов окажется заниженным. Ключевой вывод: себестоимость гигабайта — не константа. Она зависит от того, какой транспорт вы гоните через CDN и насколько «крупными» получаются запросы.
Как оценить объём трафика: формула расчёта
Расчёт трафика VPN проще всего вести снизу вверх — от реального потребления на одного пользователя.
Базовая формула:
Месячный объём (ГБ) = активные_юзеры × средний_ГБ_на_юзера_в_месяц
Бюджет CDN (₽) = месячный_объём × себестоимость_ГБ
Среднее потребление не нужно угадывать — его показывает панель (Remnawave, 3x-ui, Marzban, Hiddify ведут пер-юзер статистику). Снимите фактический расход за 2–4 недели, отбросьте неактивные аккаунты и возьмите медиану, а не среднее (несколько «тяжёлых» юзеров сильно искажают среднее).
Иллюстративный пример: 1000 активных юзеров × 60 ГБ/мес = 60 ТБ/мес. Дальше умножьте объём на свою фактическую ставку за гигабайт — её берут из выгрузки биллинга за прошлый месяц, а не из прайса, иначе плата за запросы в расчёт не попадёт.
Пару поправок к расчёту:
- Пиковый онлайн важен для канала, объём — для биллинга. Пик одновременных сессий определяет требования к пропускной способности edge и ноды, а суммарные гигабайты — сумму счёта. Считайте обе метрики.
- Не весь трафик обязан идти через whitelisted-вход. Если CDN-edge используется как устойчивый вход под троттлингом оператора, через него пойдёт та доля сессий, что иначе бы отвалилась. Оцените эту долю отдельно — платить за неё вы будете по CDN-тарифу.
Себестоимость гигабайта: egress плюс запросы
«Сколько стоит трафик VPN» — вопрос с двойным дном. Сырой egress по прайсу действительно недорог, и именно эту цифру подставляют в расчёт. Но у провайдеров, тарифицирующих запросы, вторая статья на XHTTP-профиле сопоставима с первой, а иногда и перекрывает её — во сколько раз, зависит от того, насколько мелкие запросы генерируют ваши абоненты.
Причина в характере транспорта. XHTTP через CDN дробит поток на HTTP-запросы. Чем мельче запросы, тем их больше на тот же объём данных, и тем выше доля request-платы в счёте. Крупные POST-запросы с данными в теле снижают число запросов на гигабайт — и напрямую уменьшают кост.
Поэтому себестоимость стоит считать не как «egress × объём», а как сумму двух слагаемых: трафик + запросы. На небольших объёмах request-часть почти незаметна, на масштабе она становится ощутимой статьёй расходов. Отсюда и практический рычаг оптимизации, к которому вернёмся ниже: укрупнять запросы.
Транспорт XHTTP и почему он влияет на счёт
Через whitelisted CDN-edge стабильно проходит XHTTP в режиме packet-up. Reality или Hysteria2 напрямую под троттлингом обычно не проходят, а протолкнуть их через CDN-edge не выходит — он их не пропускает. Поэтому выбор транспорта здесь не только про проходимость, но и про кост.
Есть неочевидный, но критичный нюанс, который бьёт и по работоспособности, и по цене. Uplink-данные должны идти в теле запроса (uplinkDataPlacement: "body"), а не в кастомном заголовке (например X-Payload). CDN-edge не доносит кастомные заголовки до origin — туннель рвётся с unexpected EOF. Служебные поля правильно раскладывать так:
- session/seq — в cookie;
- padding — в query;
- полезные uplink-данные — в body.
Побочный эффект передачи данных в body — как раз укрупнение запросов: меньше мелких обращений к edge, ниже request-плата. То есть корректная конфигурация транспорта одновременно чинит туннель и снижает себестоимость гигабайта.
На стороне ноды за CDN держится XHTTP-инбаунд (например, на порту 25454). В клиентском конфиге CDN-поддомен указывается как Address/SNI/Host, а path и extra на клиенте и на ноде должны совпадать точь-в-точь — иначе туннель не поднимется, и никакой расчёт костов не понадобится.
Учёт трафика в панели: множители и лимиты
Биллинг CDN и учёт трафика для пользователей — две разные бухгалтерии, и их нужно свести.
В панели (на примере Remnawave) есть механизмы:
- Множитель потребления ноды — коэффициент, с которым трафик ноды засчитывается против лимита юзера.
- Пер-юзер лимиты — квота на пользователя.
Отдельно полезен приём: множитель 0 на ноде означает, что трафик через эту ноду не списывается с лимита юзера, при этом сама нода продолжает работать. Это удобно, например, для fallback-входа под ограничениями — юзер не расходует квоту в момент, когда сервис держится только за счёт whitelisted-входа.
Важно свести две цифры: сколько гигабайт вам выставил CDN и сколько насчитала панель. Расхождение — это оверхед туннелирования и проксирования. Регулярная сверка billed-vs-panel показывает реальный коэффициент оверхеда, который стоит закладывать в расчёт трафика заранее, а не обнаруживать в конце месяца.
Как снизить косты: чек-лист оптимизации
Практические рычаги, которые реально двигают счёт:
- Укрупняйте запросы. Uplink в body вместо заголовков — меньше мелких запросов на гигабайт, ниже request-плата.
- Не гоните лишнее через CDN. Через whitelisted-вход направляйте ту долю трафика, которой это действительно нужно для устойчивости под ограничениями оператора; остальное может идти прямым путём дешевле.
- Закройте origin от постороннего трафика. Файрвол на вход только с IP gateway плюс секрет-заголовок
X-Cdn-Authзащищают origin от прямых обращений мимо CDN. Это не только безопасность, но и экономия: вы не платите за паразитный или abuse-трафик. - Следите за whitelist-статусом /24. Whitelist привязан к подсетям: у одних хостеров /24 в белых списках, у других нет, и статус меняется. Selectel часто whitelisted, cloud.ru/SberCloud — часто нет. Проверять нужно каждую /24 отдельно и актуально, без гарантий. Платить за CDN-вход, чья подсеть отвалилась, — деньги на ветер.
- Пересчитывайте по факту. Себестоимость гигабайта — не разовая величина; сверяйте прогноз с реальным счётом ежемесячно.
Если поднимать и сопровождать собственную CDN-дистрибуцию не хочется, whitelisted-вход можно взять как сервис. Clearway (clear-way.pro) даёт операторам готовый «белый» edge перед их нодами — вы платите за трафик через edge и не занимаетесь эксплуатацией самой CDN-инфраструктуры, оставляя ноды и учёт юзеров на своей панели.