💶 Oracle Cloud — что бесплатно, а что стоит денег

О чём это

Модель расходов Oracle Cloud, снятая по факту через usage-api, а не по прайс-листу. Отвечает на вопрос, за что именно списываются деньги и где проходит граница бесплатного — и отвечает иначе, чем прежняя версия этой заметки: граница проходит не по размеру машины, а по месячному расходу. Проверено 04.08.2026 на посуточных данных за июль и август.

Связанные: Oracle-Cloud-rannbuk · Oracle-Cloud-zhurnal-nastroyki-CLI-avtorizatsiya-set · Play-API-pereezd-v-oblako-Terraform · Боты на платформах: лимиты бесплатных тарифов · Google Cloud: за что списываются деньги


1. Что у нас есть

РесурсРазмерЧем занят
dicechess-play (A1.Flex)2 OCPU / 12 ГБplay-api (прод)
dicechess-bot (A1.Flex)2 OCPU / 12 ГБбокс под бота, стек bot-cloud
Boot-диски50 + 50 ГБ
Блочный диск dicechess-play-pgdata50 ГББД play-api

Обе машины — Ampere A1 (aarch64), регион eu-frankfurt-1. Диски: 150 ГБ из 200 бесплатных.

2. Главное: лимит A1 — это месячный пул, а не потолок

Бесплатный Ampere A1 отпускается как бюджет OCPU-часов на календарный месяц, общий на всю тенантность и обнуляемый 1-го числа. Не как ограничение «машина не больше N ядер» и не как «N ядер в любой момент времени».

Почему это не игра слов

Пул означает, что короткий всплеск стоит долгой доли месяца. 64-ядерный инстанс, проживший 3 августа меньше семи часов, съел ≈430 OCPU-часов — 29% августовского пула — и показал в тот день €0.00. Он не стоил ничего в моменте и при этом сократил запас месяца с ~15 суток до ~5.

Обратное тоже верно: пока пул не исчерпан, сколь угодно широкая машина бесплатна. 15–22 июля мы каждый день расходовали от 277 до 432 OCPU-часов — то есть держали 12–18 ядер — и платили ровно €0.00, потому что накопленная сумма ещё не дошла до границы.

Вот эти данные, они же и есть доказательство механизма:

ДеньOCPU-ч за деньНакоплено за месяцСписано
19.07384.01 585€0.00
20.07384.01 969€0.00
22.07432.02 800€0.00
23.07432.03 232€2.15 ← граница пройдена внутри суток
24.07432.03 664€4.02
29.0748.04 920€0.45

Списания начались не тогда, когда выросла машина (16-ядерный флот подняли 17 июля), а тогда, когда накопленная сумма перешла порог. Отсюда июльский пул восстанавливается точно: 2 800 + оплаченная доля 23-го = 3 000 OCPU-часов.

Остальное в Always Free к пулу не относится и остаётся прежним: 200 ГБ блочного хранилища (boot-диски считаются сюда же) и 5 бэкапов, сеть целиком (VCN, подсети, шлюз, security lists), 2 публичных IPv4 на инстансах, 10 ТБ исходящего трафика в месяц.

3. Сколько стоит перерасход

Цена восстановлена из счёта, а не из прайс-листа: 24 июля 432 OCPU-часа дали €4.02, значит

— то есть €0.0093 за OCPU-час.

Проверка на других днях, где пул был уже исчерпан и оплачивался весь объём, — сходится до копейки:

ДеньOCPU-чОжидаемо по €0.0093Фактически
26.07503.8€4.69€4.69
27.07125.3€1.17€1.17
29.0748.0€0.45€0.45
31.07188.9€1.76€1.76

То есть ≈€0.22 за OCPU-день.

Память ни разу не выставлялась в счёт

За июль накопилось 11 973 GB-часа при €0.00 по строке Standard - A1 - Memory — значит бесплатный пул памяти как минимум ~12 000 GB-ч, и в наших конфигурациях ограничивающим ресурсом всегда оказывался OCPU, а не RAM. Цену GB-часа мы, соответственно, не измерили: её пока не с чего было вывести.

Единственная платная строка во всём счёте — Compute / Standard - A1. Диски, сеть и IP-адреса в счёт не попадали ни разу.

4. С 1 августа лимит урезан вдвое

В консоли висит баннер «Always Free Ampere A1 Compute entitlements have changed», и текущая документация Oracle даёт другие числа: 1 500 OCPU-часов и 9 000 GB-часов в месяц, что описано как «эквивалент 2 OCPU и 12 ГБ памяти для Always Free тенантностей».

Против измеренных июльских 3 000 OCPU-часов это ровно половина.

Июль (измерено)Август (по доке Oracle)
Пул OCPU-часов3 0001 500
Эквивалент непрерывно~4 OCPU~2 OCPU
Пул GB-часов≥12 0009 000

Пула хватает ровно на ОДНУ машину 2 OCPU / 12 ГБ

Одна такая машина круглосуточно — это из 1 500 OCPU-часов, 99% пула. Вторая такая же не «занимает остаток», а удваивает расход: 198%. Именно эта арифметика делает play-cloud и bot-cloud несовместимыми в бесплатном режиме, хотя каждая из машин по отдельности бесплатна.

Прежняя версия заметки утверждала «4 OCPU и 24 ГБ на тенантность». По июльской величине пула это совпадало со истиной как месячное среднее — но механизм был описан неверно (как мгновенный потолок), и именно эта ошибка скрывала поведение всплесков: по ней 15–22 июля должны были тарифицироваться, а они были бесплатны.

5. Где мы сейчас

Замер 04.08.2026:

OCPU:  1037 из 1500 OCPU-ч   (остаток 463)
RAM:   2244 из 9000 GB-ч     (остаток 6756)
Счёт:  €0.00

Две машины расходуют 96 OCPU-часов в сутки, значит пул OCPU высохнет около 9 августа, а пул памяти доживёт до ~15-го. После этого содержание второй машины стоит ≈€0.45/сутки по OCPU — это измеренная величина. В установившемся режиме обе машины дают перерасход 1 476 OCPU-часов в месяц ≈ €14 плюс 8 856 GB-часов, цена которых у нас не измерена (§3); по прайс-листу это ещё примерно столько же, то есть ориентировочно €25/мес — но твёрдая здесь только OCPU-половина.

Отдельно стоит держать в голове: даже если убрать вторую машину сегодня, август всё равно закроется примерно на €8 по OCPU (плюс небольшая доля памяти) — августовский пул уже прожжён тем самым 64-ядерным всплеском 3-го числа. Это уже произошло и не отменяется.

Практический вывод

Планировать нужно месячный бюджет OCPU-часов, а не размер инстансов. 1 500 OCPU-часов это либо одна машина 2 OCPU на весь месяц, либо, например, 16-ядерная арена на ~4 суток, либо 64 ядра на сутки — но не то и другое одновременно. Разовый эксперимент дешевле держать широким и коротким, чем узким и долгим: платится площадь, а не высота.

6. Ложные сигналы

Три вещи, которые выглядят как ответ, но им не являются

  1. Нулевой счёт не значит «бесплатно». computed-amount показывает €0.00 всё время, пока пул не высох, и не отличает «ничего не потратили» от «потратили 29% месяца». Смотреть надо computed-quantity и сравнивать накопленную сумму с 1 500.
  2. Задержка биллинга — не объяснение нулям. Соблазнительно списать сегодняшний €0.00 на лаг. Проверяется просто: вернуться к тому же дню через сутки. У нас 3 августа так и осталось €0.00 — дело было в пуле, а не в лаге.
  3. oci limits не про бесплатный тариф. limits resource-availability get --limit-name standard-a1-core-count отдаёт лимит сервиса (250 ядер, из них занято 4). Это техническая граница PAYG, а не бесплатная — по ней кажется, что ресурсов вдоволь.

7. Как проверить самому

Профиль APIKEY в ~/.oci/config использует ключевую пару и не истекает, в отличие от DEFAULT с session-token’ом (тот живёт ~1 час и требует интерактивного oci session authenticate через браузер).

T=$(awk -F= '/^tenancy=/{print $2; exit}' ~/.oci/config)
 
# Что запущено
oci --profile APIKEY compute instance list --compartment-id "$T" --all \
  --query 'data[?"lifecycle-state"==`RUNNING`].{name:"display-name",ocpu:"shape-config".ocpus}' \
  --output table
 
# Расход пула за текущий месяц — суммировать computed-quantity по 'Standard - A1'
oci --profile APIKEY usage-api usage-summary request-summarized-usages --tenant-id "$T" \
  --granularity DAILY --query-type COST --group-by '["skuName"]' \
  --time-usage-started 2026-08-01T00:00:00Z --time-usage-ended 2026-09-01T00:00:00Z

Полученную сумму сравнить с 1 500. Остаток, поделённый на суточный расход (2 OCPU = 48 OCPU-ч/сутки), даёт запас в днях.

8. Оговорка про ёмкость

Деньги — не единственное ограничение. A1 в популярных регионах регулярно отвечает Out of host capacity, поэтому заявка на крупный инстанс может не пройти с первой попытки независимо от бюджета. Планируя эксперимент, закладывай retry или меньший размер.