Ресурсы в облаке включаются по клику — этим же и коварно. Эксперимент закрыли, а диски, база и балансировщик остались; тестовые машины гасят на ночь, а счёт уменьшился вдвое меньше, чем ждали; раздача файлов выросла, и трафик стал третьей строкой счёта. Ни одна из этих историй не про дорогое облако: все три про то, что в счёте не смотрели.
В этой статье — модель оплаты, общая для всех провайдеров, три ловушки, в которые попадают в первый год, и порядок действий, чтобы счёт был объясним.
Единицы оплаты у каждого ресурса свои: выключенная машина перестаёт стоить, а её диск нет; исходящий трафик считают отдельно от всего, и у растущей раздачи файлов он становится третьей строкой счёта.
Единицы оплаты
У каждого элемента облака своя единица. Виртуальная машина — часы или секунды работы, цена зависит от класса. Диск и объектное хранилище — гигабайты в месяц, у архивных классов дешевле хранение и дороже чтение. Управляемая база — класс машины под ней плюс хранилище и копии. Функции — число вызовов и миллисекунды работы с учётом памяти. Трафик — гигабайты, ушедшие из облака наружу или между регионами.
Базовая модель — оплата по мере использования: ничего не бронируете, платите по факту. Для сервиса, который работает круглые сутки год напролёт, это самый дорогой способ: вы платите полную цену за ресурс, который никогда не выключаете. Поэтому у модели есть более дешёвые варианты.
Скидки: обязательства и прерываемые машины
Зарезервированный ресурс — скидка за обещание держать машину такого класса год или три; на постоянной нагрузке это до половины цены. Цена ошибки выше, чем кажется: бронь привязана к семейству машин и региону, и переезд на другое семейство скидку не увозит. Более гибкий вариант — обязательство тратить определённую сумму в час на вычисления, без привязки к конкретной машине.
Прерываемые машины — свободные мощности провайдера по цене в разы ниже, которые он может забрать в любой момент, предупредив за минуту-две. Под них отдают то, что переживёт обрыв: фоновую обработку, тесты, расчёты с сохранением промежуточного результата. Типовая раскладка: постоянную базовую нагрузку — на резерв, пики — по факту, фон — на прерываемые.
Три ловушки со словом «включено»
Первая — остановленная машина. Процессор перестаёт стоить, а диски, снимки и зарезервированный публичный адрес оплачиваются дальше; забытые диски от удалённых машин копятся месяцами.
Вторая — исходящий трафик. Входящий обычно бесплатен, исходящий из облака платный, и на раздаче файлов или большого API это заметная статья. Лечится сетью доставки контента перед хранилищем и архитектурой, которая не гоняет данные между зонами и наружу без нужды.
Третья — размер с запасом. Машину взяли в четыре раза больше нужной «чтобы точно хватило», база стоит на классе, который загружен на десять процентов. Подгонка размера — регулярный просмотр загрузки и уменьшение того, что простаивает; в облаке уменьшить машину так же просто, как увеличить.
Как увидеть, куда уходят деньги
Начинают с тегов. Тег — пара «ключ-значение» на ресурсе: команда, сервис, среда. Когда всё помечено, счёт раскладывается по командам и сервисам, и видно, кто за что платит. Просто навесить тег недостаточно: его надо включить как ось разбивки в настройках отчётов, иначе он там не появится.
Дальше — бюджет с оповещением. Он не ограничивает трату (машины не выключатся), но пишет, когда расход превысил порог или прогноз на месяц вышел за план. Ставят его до первого запуска. И регулярный разбор: раз в месяц заглянуть в отчёт, чтобы каждая значимая строка была объяснима, а забытые ресурсы удалены.
Глубже: как считать, что дешевле — управляемое или своёрасширенное
Сравнивать цену управляемой базы с ценой машины под свой PostgreSQL некорректно: в машине нет копий, реплики, обновлений и ночных дежурств. Честный расчёт добавляет к своей машине вторую под реплику, хранилище копий и долю времени человека, который за этим следит. На малых и средних объёмах управляемое выигрывает почти всегда; на очень больших, когда администратор всё равно есть, своё может выйти дешевле — и это уже расчёт, а не ощущение.
Глубже: что провайдер даёт бесплатно, а что нетрасширенное
У каждого провайдера есть бесплатный уровень: маленькие машины и хранилище на первый год или навсегда в ограниченном объёме. Он годится для учёбы и прототипа и не годится как основа оценки: боевой сервис быстро выходит за его пределы. Отдельно стоит помнить про сервисы, у которых плата не за работу, а за существование: балансировщик, NAT-шлюз, зарезервированный адрес стоят часами независимо от трафика, и именно они чаще всего остаются после экспериментов.
Глубже: порядки величин: сколько стоит машина, база, NAT и логирасширенное
Единицы оплаты выше без чисел не дают сравнивать варианты. Вот порядки величин по прайсам крупных провайдеров на 2026 год, по требованию в европейском регионе; точные цифры плывут, и перед решением их берут из калькулятора провайдера.
| Что | Порядок цены | На что смотреть |
|---|---|---|
| Виртуальная машина 2 ядра, 8 ГБ | 60–80 долларов в месяц | скидка за обязательство до половины, прерываемая в разы дешевле |
| Управляемый PostgreSQL 2 ядра, 4 ГБ | 60–100 в месяц за один узел, вдвое с репликой в другой зоне | плюс диск по 0,1–0,15 за ГБ в месяц и копии |
| Управляющий слой Kubernetes | около 70 в месяц за кластер | узлы отдельно, по цене машин |
| Балансировщик | 16–25 в месяц плюс за трафик | у забытого стенда тот же счёт |
| NAT-шлюз | 30–35 в месяц плюс 4–5 центов за ГБ | межзонный и NAT-трафик копятся незаметно |
| Объектное хранилище | 2–2,5 цента за ГБ в месяц | архивные классы дешевле в разы, чтение из них дороже |
| Исходящий трафик в интернет | 5–9 центов за ГБ | первые десятки гигабайт бесплатно |
| Функция | 20 центов за миллион вызовов плюс время и память | постоянно тёплые экземпляры это уже машина |
| Приём логов | около 50 центов за ГБ | подробный журнал запросов дороже самого сервиса |
Что из таблицы следует. Небольшой сервис с двумя копиями, управляемой базой с репликой, балансировщиком и NAT стоит порядка 300–400 долларов в месяц ещё до трафика и логов, и это цена не машин, а обвязки: балансировщик, NAT и реплика базы это две трети суммы. Kubernetes добавляет свои 70 плюс узлы, и на трёх сервисах он не окупается. Логи и трафик это те строки, которые растут с нагрузкой быстрее самого сервиса, и за ними следят отдельно.
Глубже: сетевые затраты: межзональный трафик, выход наружу и NATрасширенное
Исходящий трафик назван ловушкой выше; на деле ловушек три, и две из них внутри облака.
Между зонами. Копии сервиса в трёх зонах и база в одной: две трети запросов к базе пересекают границу зоны, и провайдер берёт цент за гигабайт в каждую сторону. Кажется мелочью, пока сервис не гоняет через границу терабайт в сутки: это сотни долларов в месяц за трафик, который «внутри». Растёт он от чата с базой, от реплик и брокеров, от логов, которые едут в другую зону. Смотрят по метрикам трафика на интерфейсах; лечат раскладкой «копия сервиса читает реплику базы в своей зоне» и тем, чтобы брокер и его потребители жили в одних зонах. Один из крупных провайдеров межзональный трафик перестал тарифицировать, и это стоит проверить в прайсе, потому что меняет раскладку.
Наружу. Входящий трафик бесплатен, исходящий стоит 5–9 центов за гигабайт. Раздача файлов и картинок из хранилища напрямую это самая частая причина неожиданной строки в счёте: терабайт в месяц это 50–90 долларов, десять терабайт уже сотни. Сеть доставки контента перед хранилищем отдаёт то же дешевле и разгружает источник; ответы API сжимают; и проверяют, не гоняет ли сервис данные наружу и обратно через публичный адрес соседнего сервиса, вместо того чтобы ходить по внутреннему.
NAT. Машины без публичного адреса выходят в интернет через NAT-шлюз, и он стоит дважды: часы работы (около 30 в месяц за штуку, а их по одному на зону) и каждый гигабайт, прошедший через него. Через NAT по привычке гоняют трафик к сервисам самого провайдера (хранилище, очереди), и за это платят как за интернет. Лечится приватными точками доступа к сервисам провайдера, о которых говорит статья про сеть: трафик к хранилищу перестаёт ходить через NAT, а у шлюза для объектного хранилища и цены нет.
Проверка на любом счёте: строки с трафиком отдельно от строк с ресурсами, и если трафик больше трети, это архитектура, а не тариф.
Глубже: учебный проект без неприятного счётарасширенное
Читатель проходит этот раздел на пробном аккаунте, и первый неприятный счёт приходит именно оттуда. Правила простые, и их выполняют до первого ресурса.
Бюджет с оповещением на пять и на двадцать долларов ставят первым действием, до создания сети. Отдельный аккаунт или проект под учёбу, чтобы удалять его целиком. Второй фактор на корневой учётной записи, потому что взломанный учебный аккаунт майнит на вашу карту до предела квот. Бесплатный уровень читают глазами: часть его на год с даты регистрации, часть навсегда, а часть ограничена типом машины и регионом, и машина «на размер больше» уже платная.
Что течёт чаще всего: NAT-шлюз и балансировщик, которые стоят часами независимо от нагрузки; публичный адрес, зарезервированный и не привязанный; диски и снимки от удалённых машин; управляющий слой Kubernetes; управляемая база с минимальным классом, который всё равно 15–30 долларов в месяц; логи с включённым подробным журналом. Всё это не видно в списке «работающих машин», а видно в счёте через неделю.
Порядок в конце занятия: terraform destroy или удаление стека, если всё поднималось кодом (ещё один довод за код с первого дня); проход по консоли по каждому региону, где что-то создавали, потому что ресурсы в другом регионе в списке текущего не видны; и проверка счёта на следующий день, когда он обновится. Жёсткого потолка трат у крупных провайдеров нет: бюджет только оповещает, и автоматическое отключение при превышении делают сами, функцией по событию бюджета, что для учебного аккаунта оправдано.
Коротко
- Платят за то, что включено, по факту: машина по времени, хранилище по гигабайт-месяцам, функции по вызовам, трафик по гигабайтам наружу.
- Остановленная машина не бесплатна: её диски и публичный адрес продолжают оплачиваться.
- Скидки за обязательство держать ресурс год или три доходят до половины цены; прерываемые машины дешевле в разы, но их могут забрать за минуту.
- Исходящий трафик стоит денег, входящий обычно нет; раздача файлов и обмен между зонами растут незаметно.
- Без тегов на ресурсах счёт — безликая куча строк; тег надо ещё включить в отчётах, иначе он не появится как ось.
- Бюджет с оповещением ставят до того, как что-то запустили: он не ограничивает трату, но предупреждает.
- Порядки величин: машина 2 ядра 60–80 в месяц, управляемая база с репликой 150–200, балансировщик и NAT по 20–35 плюс трафик, хранилище 2 цента за ГБ, выход наружу 5–9 центов за ГБ, логи 50 центов за ГБ; небольшой сервис с обвязкой это 300–400 в месяц.
- Сетевые затраты растут быстрее сервиса: межзональный трафик от чата с базой, исходящий на раздаче файлов, NAT за трафик к сервисам провайдера; лечат раскладкой по зонам, сетью доставки и приватными точками доступа.
- Учебный аккаунт: бюджет на 5 и 20 долларов до первого ресурса, отдельный проект, второй фактор,
destroyи проход по регионам в конце, счёт на следующий день; жёсткого потолка нет.
Что почитать дальше
- Оптимизация затрат в AWS — те же рычаги с командами и отчётами AWS.
- Три уровня вычислений — почему функция дороже секунды машины и когда всё равно выгоднее.
- Управляемые данные — что входит в цену управляемой базы.