Пользователи часто поднимают вопрос неадекватной стоимости исходящего трафика (egress) у отдельных облачных провайдеров.

Если обычные хостеры не тарифицируют этот трафик, то некоторые другие сервисы устанавливают специальные тарифы. Как показывает практика, это может стать неприятным сюрпризом для клиентов.

Вот таблица со стоимостью 1 ТБ трафика на февраль 2024 года для некоторых облачных провайдеров:

Облачный провайдер Бесплатный лимит 1 ТБ сверх лимита
img Civo Бесплатный неограниченный трафик
imgCloudflare Бесплатный для большинства сервисов
imgHeroku 2 ТБ в месяц на приложение Нет в открытом доступе
imgOVHcloud Бесплатный неограниченный трафик
imgScaleway Бесплатный для большинства сервисов
imgHetzner 20 − 60 ТБ в месяц на инстанс $1,08
imgLinode 1−20 ТБ в месяц на инстанс $5,00
imgOracle Cloud 10 ТБ в месяц $8,50
imgBackblaze В трёхкратном размере от объёма хранения $10,00
imgBunny CDN $10,00
imgDigitalOcean 100 ГБ − 10 ТБ в месяц на инстанс $10,00
imgEntrywan 1−16 ТБ в месяц $10,00
imgUpCloud 500 ГБ−24 ТБ в месяц на инстанс $10,84
imgVultr 2 ТБ в месяц для большинства сервисов $10,00
imgFly.io 100 ГБ в месяц $20,00
imgKoyeb 100 ГБ в месяц $40,00
imgAlibaba Cloud 10 ГБ в месяц $74,00
imgMicrosoft Azure 100 ГБ в месяц $78,30
imgAmazon Web Services 100 ГБ в месяц $92,16
imgRailway $100,00
imgZeabur 10 − 100 ГБ, в зависимости от плана $100,00
imgGoogle Cloud В зависимости от услуги $111,60
imgVercel 100 ГБ − 1 ТБ, в зависимости от плана $210,00
imgRender 100 ГБ − 1 ТБ, в зависимости от плана $300,00
imgNetlify 100 ГБ − 1 ТБ, в зависимости от плана $550,00
Облачные провайдеры обычно разделяют входящий (ingress) и исходящий (egress) трафик. Как правило, первый бесплатен и не тарифицируется, а второй зачастую платный.

Внешний трафик обозначает данные, которые покидают внутреннюю сеть облачного провайдера и уходят в открытый интернет. Это может быть трафик от провайдера к пользователям или между провайдерами.

Плата за внешний трафик — одна из тех статей расхода, которые трудно контролировать, потому что он довольно непредсказуемый. В один день вы можете проснуться и обнаружить, что ушли в глубокий минус, а провайдер или выставит огромный счёт, или отключит сайт за неуплату.

Большинство облачных провайдеров предоставляют определённый объём исходящего трафика бесплатно. Например, 100 ГБ/месяц на аккаунт или в зависимости от количества серверов (например, 1 ТБ/месяц на сервер).

Есть некоторые способы, как сократить расходы по этой статье: использовать CDN в качестве кэша, сжимать данные перед отправкой (Gzip и Brotli), настроить оповещения об использовании и выставлении счетов, чтобы уведомлять о приближении к бесплатному лимиту или определённому порогу.

▍ Печальные инциденты


Недавно разразился целый скандал, когда Netlify выкатила счёт $104 тыс. за статический сайт, который размещался на бесплатном тарифе. В детализации указывалось, что он израсходовал 190 ТБ трафика за четыре дня:



Первой мыслью незадачливого пользователя было то, что на сайт организована мощная DDoS-атака. Поскольку Netlify берёт по $55 за каждые 100 ГБ трафика сверх лимита, вот и образовалась такая внушительная сумма. Но зачем кому-то атаковать простой статический сайт, который четыре года спокойно жил на бесплатном тарифе. Его дневная аудитория никогда не превышала 200 человек, а месячный трафик всегда укладывался в 10 ГБ.

Техподдержка взглянула на логи и подтвердила, что это действительно была DDoS-атака. С сервера непрерывно скачивали 3,44-мегабайтный звуковой файл .mp3 (он ещё остался в репозитории), что и генерировало такой трафик.



Техподдержка пояснила, что в таких случаях они идут навстречу пользователю — и взимают всего 20% от счёта, а с учётом большой суммы могут сделать скидку ещё 5%, так что ему останется выплатить всего $5000.

Netlify — это облачная платформа разработки, которая предлагает сборку, развёртывание и бессерверные бэкенд-сервисы для веб-приложений и сайтов. Платформа позволяет создавать и разворачивать сайты из файлов в системе контроля версий Git, которые затем генерируются в файлы статического веб-контента и раздаются через CDN. Есть также дополнительные функции для создания динамических веб-сайтов с интерактивными возможностями.

Когда вам предлагают разместить сайт на «бесплатном» тарифе, но вы рискуете заплатить тысячи долларов за трафик, это желательно специально оговаривать в договоре. Пользователь не считает, что виноват в этой ситуации. В итоге он решил не оплачивать счёт, а переехал на другой хостинг.

История получила большой резонанс. Директор Netfly даже пришёл в обсуждение на форуме HN, чтобы оправдаться в комментариях. Он сказал, что у них на хостинге такая политика — не отключать сайты на бесплатном тарифе, если они выходят за границы бесплатного трафика. Если потом выясняется, что трафик сгенерировала DDoS-атака, то они просто аннулируют счёт. Здесь тоже в конце концов техподдержка согласилась аннулировать счёт и не подавать в суд на пользователя. Им ещё посоветовали отредактировать страницу с ценами, потому что в нынешнем виде выглядит так, словно вообще ни за что платить не придётся:



Это не единственная такая история. Поэтому служба поддержки Netlify рекомендует устанавливать верхнюю границу трафика, по исчерпанию которой сайт будет временно отключён.

▍ Экономия за счёт своего сервера


Плата за трафик — одна из главных причин, чтобы не переводить в облако полностью всю инфраструктуру.

Если компания полностью уходит в облако, то расходы рискуют быстро выйти из-под контроля. На том же AWS под сотню разных сервисов, у каждого свои тарифы. В интернете можно найти много советов, как сократить расходы, если локализовать на своём хостинге часть облачных услуг или просто оптимизировать их использование.

Например, компания Ahrefs рассказывает, как потенциально сэкономила $400 млн за счёт отказа от облака. Вместо этого они сняли в аренду место в сингапурском ЦОДе и поставили туда несколько десятков серверных стоек со своими серверами, на фото:



Затем подсчитали свои расходы — и сравнили со стоимостью таких же услуг в AWS. Все серверы были примерно одинаковой конфигурации, только CPU были двух поколений, но с одинаковым количеством ядер. На каждом стояло по 2 ТБ RAM, по два порта 100Gbps и примерно по 16 накопителей ёмкостью 15 ТБ каждый.

Если разделить стоимость сервера на предполагаемый срок его службы (пять лет), то можно рассчитать цифру ежемесячных расходов на него. В данном случае «стоимость» сервера составляет $1025 в месяц, а ещё $524 в месяц — расходы на аренду и обслуживание места, электричество и прочее:


К сожалению, Amazon не предлагает в аренду инстансы с таким количеством процессорных ядер. Но если взять что-то наиболее близкое, то можно найти инстанс EC2 c 1 ТБ RAM. Также следует зарезервировать дисковое хранилище EBS аналогично объёму дискового массива на серверах, делённому на два: (1*1 ТБ + 16*15 ТБ)/2 ≈ 120 ТБ на сервер.

В итоге расходы вышли на порядок больше. Если точно, разница в 11,4 раза, то есть сервер в облаке стоит примерно как 11 собственных серверов:


И это даже без учёта исходящего трафика и некоторых других услуг, за которые AWS может выставить счёт в такой ситуации.

Компания подсчитала, что за два с половиной года работы своих 850 серверов они потенциально сэкономили на услугах AWS более $400 млн. Такая огромная цифра получилась из-за большого количества серверов в собственности у этой крупной компании с оборотами в сотни миллионов долларов. Возможно, эти расчёты верны только для очень крупных компаний, но факт остаётся фактом: при использовании облачных услуг их бизнес вообще был бы убыточным. Для маленькой фирмы экономия будет не такой значительной, но сэкономленные деньги не отличаются от заработанных.

Или другой пример: экономия на облачных услугах за счёт запуска собственной СУБД (на своём хостинге). Вместо AWS Aurora с PostGIS компания Hivekit разработала собственный бэкенд для геопространственных данных, максимально оптимизированный. Каждая запись в минимальном бинарном формате имеет примерно такой вид (каждый блок представляет байт):



Расходы на собственные серверы оказались примерно в 50 раз меньшими, чем оплата облачных услуг (без учёта расходов на разработку и поддержку системы).

В наше время большинство веб-приложений может работать на одном сервере (VPS). Это значит, что для абсолютного большинства компаний расходы на хостинг можно свести к минимуму, если не переусложнять его сверх меры. Даже самый дешёвый сервер способен обслуживать больше тысячи запросов в секунду.

Бенчмарки VPS на разных хостингах помогают выбрать наиболее выгодный вариант по соотношению цена/производительность. Ну а плата за трафик в таких тарифах, как правило, вообще отсутствует.

К счастью, уход из облака к другому хостинг-провайдеру сейчас можно совершить бесплатно. В марте 2024 года AWS отменила плату за выгрузку данных при переезде на другую облачную платформу. Месяцем ранее Google тоже прекратила взимать плату за передачу данных из Google Cloud при переезде (в течение 60 дней после подачи заявления). В нашем блоге публиковалась инструкция, как перенести файлы с одного облака на другое минуя свой ПК.

В 2018 году Cloudflare основала Bandwidth Alliance, члены которого пообещали снизить или отменить плату за исходящий трафик. Туда вошли Google, Alibaba, Microsoft и Oracle, но компания Amazon пока воздерживается от участия.

Telegram-канал со скидками, розыгрышами призов и новостями IT ?

Комментарии (15)


  1. Akuma
    17.04.2024 09:33
    +20

    Зачем так далеко ходить? Есть же Selectel.

    Помню использовал их S3 для хранения сформированных файлов и пользователи их скачивали.

    Один умник поставил скрипт типа while(true) download(url). Ни задержек, ни лимитов. Вот так втупую. Selectel радостно отдавал несчастный файл весом в десяток Мб, а я обнаружил резко кончающийся баланс.

    И все бы ничего, но когда я спросил их о мерах защиты от скрутки моего баланса (ведь запросы идут явно неадекватно, с одного IP на один URL): их просто нет.

    P.S. Ненавижу облака с платным трафиком. В наше то время это лютый бред.


    1. ivantgam
      17.04.2024 09:33
      +6

      Для вас бред, для них – источник дополнительного дохода


    1. EvgeniyIvanovhabr
      17.04.2024 09:33
      +4

      Для кого бред, а для кого – прибыльная бизнес модель – брать оплату за каждый чих в облаке. Я сам в итоге пришел к тому же выводу, что и автор статьи.


    1. kAIST
      17.04.2024 09:33

      Ненавижу облака с платным трафиком. В наше то время это лютый бред.

      Везде есть свои преимущества и недостатки. У s3 преимущества, это как раз таки "резиновость". Проект глохнет - платишь копейки, взлетел - платишь больше, но раз он взлетел, значит это как то должно окупаться. Какие альтернативы? Срочно переезжать на VDS с другим тарифом?


      1. Akuma
        17.04.2024 09:33

        Ну так берите деньги за объем, а не за трафик, в чем проблема?

        Я и пользуюсь S3 которое так и делает.

        Либо вообще можно minio поднять у себя.


        1. kAIST
          17.04.2024 09:33

          Проблема в том что 100 мегабайт объема могу нагенирировать десятки терабайт трафика. За хранение его ты заплатишь копейки, какой смысл работать провайдеру?

          А minio то где поднимать? У себя дома? Если на vds, то смысла нет никакого, так как ты ограничен дисковым пространством, да и не особо то и нужна лишняя прослойка.


          1. Akuma
            17.04.2024 09:33
            +1

            Кто-то мне помешает нагенерить десятки терабайт на VDS с безлимитным трафиком? Так в чем разница?

            Проблема даже не в самом факте платности трафика, а в его неадекватной стоимости. Я сейчас плачу 639 руб в месяц за ~200 Гб S3 и анлим по трафику. Селектел с меня даже при нормальном потреблении брал за это же 2-3 тыс в месяц (с него я и переехал уже давно). При неадекватном там охренеть можно. Амазон тут просто можно на 10 умножать, видимо.

            Мы живем в эпоху дуалапов у провайдеров или что?


            1. kAIST
              17.04.2024 09:33

              А где у вас такие тарифы на s3?


              1. Akuma
                17.04.2024 09:33

                Таймвеб. Там банальные бакеты по объему


  1. Mupok
    17.04.2024 09:33
    +6

    Надо было писать в предпоследнем абзаце так: "К счастью, благодаря принятому закону о данных в ЕС, уход из облака к другому хостинг-провайдеру сейчас можно совершить бесплатно."


  1. makapohmgn
    17.04.2024 09:33
    +2

    Хм, я люблю ruvds, в целом, и пользуюсь много лет, но, и тарифы сильно дороже конкурентов, и самое главное, когда пробовали оплату за ресурсы, у нас установка системы увела баланс в большой минус))) зато денег за трафик не просят, да


  1. 13werwolf13
    17.04.2024 09:33
    +1

    где бы найти аналог hetzner storagebox за который можно платить рублями или битками.. s3 это круто стильномодномолодёжно, но иногда нужен простой nfs или sshfs.

    пока что временно переехал на сидбокс pulsedmedia так как это более менее приемлемо по цене, но всё равно не торт..


  1. kasiopei
    17.04.2024 09:33

    А можно ли сделать защиту от перерасхода? Сервер считает сколько отдал и срабатывает скрипт... Достаточно ли потушить сервер или нужно чтоб у провайдера файрвол отработал?


    1. dartraiden
      17.04.2024 09:33

      Сервер считает сколько отдал и срабатывает скрипт.

      https://github.com/mkorthof/traflimit


  1. d0td0t
    17.04.2024 09:33

    Мы в своё время в nvidia считали стоимость размещения "резервного ЦОД" в амазоне, аналогичного нашему сетапу по сбору телеметрии: у нас было 24 физических сервера с Xeon E3-1240v5, 32 гб памяти и ssd на террабайт, это примерный аналог m4.2xlarge. Коробка с 12 такими блейдами тогда стоила 15000 баксов, а EC2 за один такой инстанц без апфронта и 3хлетнего контракта просил 1500 в год. То есть уже к середине второго года эксплуатации решения "на своём железе" мы выходили в плюс с учётом запасов запчастей, сетевой и менеджмент инфраструктуры и избыточности.

    Для себя мы тогда сделали выводы, что размещение в облаке оправдано только в случае создания прототипов сервиса, когда сроки поставок оборудования (особенно выходящего за рамки типовой конфигурации) и общая загруженность команд эксплуатации ЦОД или админов не позволяет выкатить сервис в срок