---
title: Квоты
description: Ограничение создания ресурсов новыми клиентами до пополнения кошелька: уровни VM, число VM и квоты на услуги с индивидуальным переопределением.
url: https://nexcmp.com/ru/docs/billing/quotas/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# Квоты {#quotas}

> **В панели администратора:** Services › Virtual Machines › Policy › вкладка Quota (`/vm/policy?tab=quota`). Для отдельного клиента: Customers › List › a customer › Overview (`/customers/<id>`), карточка **Quota**. **На портале:** Client › Quotas (`/client/quotas`).

## Назначение {#what-it-does}

Квоты защищают от злоупотреблений со стороны новых аккаунтов: чем больше реальных средств клиент внес на кошелек, тем больше ресурсов он может создать. Предусмотрено два уровня:

- **Ресурсы VM и Kubernetes**: общий объем vCPU, RAM и диска, а также количество VM. Уровнями служат ваши фиксированные тарифы.
- **Квоты сервисов**: количество IP, кластеров, VPC, ГБ хранилища и т. д. на пяти уровнях (от L0 до L4), зависящих от суммы внесенных средств.

Квоты проверяются **до** списания средств. Запрос, превышающий лимит, отклоняется с ошибкой HTTP 403 `quota_exceeded` и сообщением о том, какую сумму клиенту необходимо внести.

## Требования {#requirements}

| Параметр | Требование |
|---|---|
| Роль | Администратор. |
| Переключатель | Опция **Enable quota** (`quota_enabled`) по умолчанию **отключена**. Ни одно из правил ниже не действует, пока вы ее не включите. |
| Фиксированные тарифы | Как минимум один некастомный тариф (см. [Plans](https://nexcmp.com/ru/docs/catalog/plans/)) — уровнями ресурсов служат ваши фиксированные тарифы. Без тарифов действует только правило по количеству VM. |
| Зависимости | Строки квот сервисов отображаются только для продуктов, включенных в вашей системе (VPN, IPv6 proxy, Kubernetes, Private Cloud, Images, Object Storage, Dedicated). |

## Как рассчитывается база {#how-the-basis-is-calculated}

NexCMP учитывает не только платежи по картам. **Базой** служит **фактический баланс кошелька** клиента: пополнения через шлюзы, начисления администратора (**Credit / debit**) и активированные ваучеры кошелька учитываются один раз через журнал кошелька. Скидки на заказы и сервисные бонусы по промокодам не являются средствами кошелька и не учитываются. Максимальная база, которой когда-либо достигал клиент, **сохраняется** (для каждого сайта) — расходы или возвраты никогда не понижают уже открытый уровень.

### Ресурсы VM и Kubernetes {#vm-and-kubernetes-resources}

1. Уровни представляют собой фиксированные тарифы сайта, отсортированные по стоимости их работы за 24 часа.
2. Клиент переводится на наивысший тариф, стоимость которого за 24 часа не превышает его базис. Лимитом выступают vCPU, RAM и диск этого тарифа. Клиент, который не может позволить себе даже самый дешевый тариф, все равно получает ресурсы самого дешевого тарифа.
3. В расходе ресурсов учитываются все активные VM (включая заблокированные), приобретенные дисковые тома (даже отключенные), а также воркеры и control plane кластеров Kubernetes (воркеры также считаются как VM).
4. **Количество VM:** до **Max VMs at 24h tier** (по умолчанию 2). Для создания каждой следующей VM *текущий* баланс кошелька клиента должен покрывать **30 дней (720 часов)** работы всех существующих VM плюс новой, вплоть до значения **Max VMs when meeting 30-day threshold** (по умолчанию 10).
5. **Создание VM** также требует наличия на балансе суммы минимум на **N часов** работы этой VM (**Create VM: balance ≥ N hours**, по умолчанию 2) и минимального баланса платформы.
6. Уменьшение конфигурации VM никогда не блокируется. Проверяется только увеличиваемый параметр, поэтому клиент, превысивший лимит диска, все равно может добавить vCPU, если это позволяет лимит по vCPU.

## Настройка {#configure}

1. Перейдите в **Services › Virtual Machines › Policy** и выберите вкладку **Quota**.
2. Включите **Enable quota**.
3. Проверьте три параметра (все доступны для редактирования):

   | Поле | По умолчанию | Диапазон |
   |---|---|---|
   | Создание VM: баланс ≥ N часов | 2 | от 1 до 720 |
   | Max VMs at 24h tier | 2 | от 1 до 100 |
   | Макс. количество VM при выполнении порога 30 дней | 10 | от 1 до 1000 (не меньше предыдущего поля) |

4. В блоке **Tier-based service quotas** настройте таблицу (ниже).
5. Нажмите **Save**. NexCMP запросит **причину** изменения, которая будет записана в журнал аудита вместе со старыми и новыми значениями. Изменение применяется ко всем клиентам.

![Вкладка Quota с переключателем активации, лимитами VM и таблицей квот сервисов по уровням](https://nexcmp.com/ru/docs/images/billing/quotas-01-policy.webp)

### Таблица квот сервисов {#service-quota-table}

В таблице пять уровней. Ячейки заголовка от **L0** до **L4** содержат **порог депозита в центах**: значения по умолчанию `0, 1000, 5000, 20000, 100000` означают L0 для нового аккаунта, L1 от $10, L2 от $50, L3 от $200 и L4 от $1,000. Первый порог должен оставаться `0`. Каждая строка задает квоту одного ключа для каждого уровня; **-1 означает без ограничений**.

| Ключ | Значение | L0 | L1 | L2 | L3 | L4 |
|---|---|---|---|---|---|---|
| `vpn.ips` | IP-адреса VPN | 2 | 10 | 30 | 100 | 500 |
| `proxy6.ips` | IP-адреса IPv6-прокси | 500 | 2000 | 10000 | 50000 | -1 |
| `dedicated.servers` | Серверы Bare-metal | 1 | 2 | 5 | 20 | 50 |
| `s3.storage_gb` | Выделенный объем Object Storage, ГБ | 2048 | 4096 | 10240 | 51200 | -1 |
| `k8s.clusters` | Кластеры Kubernetes | 1 | 2 | 5 | 10 | 30 |
| `k8s.workers` | Рабочие узлы Kubernetes | 3 | 9 | 18 | 50 | 200 |
| `vpc.count` | Сети Private Cloud | 1 | 2 | 5 | 10 | 30 |
| `images.gb` | Хранилище пользовательских образов, ГБ | 50 | 100 | 200 | 500 | 2000 |

В таблице также приведено несколько строк для продуктов, не входящих в этот релиз; оставьте их без изменений. Ключ, продукт которого отключен, скрыт и для него квоты не применяются. Значение должно быть `-1` или в диапазоне от `0` до `10,000,000`.

Квоты на услуги рассчитываются по **базе внесенных средств**, как и уровни ВМ: учитывается максимальный когда-либо достигнутый баланс кошелька, а не общая сумма платежей картой. Для клиентов реселлера действуют те же значения по умолчанию, и реселлер может только просматривать их.

## Индивидуальные переопределения для клиентов {#per-customer-overrides}

1. Откройте **Customers › List**, затем выберите клиента. В **Overview** найдите карточку **Quota**.
2. **Ресурсы ВМ:** нажмите **Quota override** и выберите один из вариантов
   - **By top-up balance (remove override)** — поведение по умолчанию;
   - **Unlimited (including VM count)** — снимает любые ограничения для этого клиента;
   - **уровень тарифного плана** — фиксирует лимит ресурсов на уровне этого тарифа; правило по количеству ВМ по-прежнему действует.

   Укажите причину. Администраторы платформы могут установить любой уровень; переопределение, заданное реселлером, не может превышать сохраненную базу клиента.
3. **Сервисы:** в таблице раздела *Service quotas* для каждого ключа отображаются *In use*, действующий лимит и его *Source* (tier или override). Нажмите **Edit** в строке, укажите **New quota** (`-1` = без ограничений, пустое поле = возврат к значению уровня по умолчанию) и причину.

![Карточка Quota клиента с уровнем, использованием ресурсов и таблицей квот на сервисы с переопределением](https://nexcmp.com/ru/docs/images/billing/quotas-02-customer.webp)

Каждое переопределение фиксируется в журнале аудита с указанием администратора, причины и значений до и после.

## Что видит клиент {#what-the-customer-sees}

В **Client › Quotas** (`/client/quotas`) отображаются **текущий уровень** клиента, использованный и общий объем vCPU, RAM, диска и количество ВМ (с разделением между ВМ и Kubernetes), **доступный баланс кошелька**, **зафиксированный базис ресурсов** (он не уменьшается при расходовании средств) и сумма пополнения для перехода на следующий уровень. Ползунок позволяет выбрать целевой уровень и сразу перейти к экрану пополнения. В карточке **Service Quotas** перечислены все сервисы с квотой, использованным объемом, текущим уровнем (от L0 до L4), суммой, необходимой для пополнения до следующего уровня, а также кнопка **Request increase**, открывающая черновик тикета в службу поддержки. Кнопка **Quota policy** разъясняет действующие правила.

![Страница Quotas в клиентском портале с текущим уровнем, использованием ресурсов и квотами на сервисы](https://nexcmp.com/ru/docs/images/billing/quotas-03-portal.webp)

## Проверка {#verify}

1. Включите **Enable quota** и используйте нового тестового клиента с балансом $0.
2. Попробуйте создать ВМ большего размера, чем позволяет ваш самый дешевый тариф. Запрос будет отклонен с `quota_exceeded` и сообщением «Exceeds the resources of tier ... Top up $X more to unlock tier ...».
3. Пополните баланс на указанную сумму. Уровень сразу же изменится, и тот же запрос завершится успешно.
4. Купите IP-адреса VPN сверх лимита L0: вы получите HTTP 403 `quota_exceeded` с `"scope":"service"` и ссылкой на `/client/quotas`.
5. В карточке Quota клиента в поле **Source** отображается *tier*; задайте переопределение и убедитесь, что значение изменилось на *override*.

## Ограничения и примечания {#limits-notes}

- **Отключено — значит отключено.** Если `quota_enabled` отключена, старое правило `new_account_max_vms` (**Services › Virtual Machines › Policy › Sales**) ограничивает новые аккаунты 2 ВМ до тех пор, пока сумма их депозитов не достигнет $10. При включенной квоте это правило больше не применяется.
- **Созданные администратором VM не блокируются.**
- **При ошибках доступ блокируется (fail-closed).** Если состояние квоты не удается прочитать, запрос отклоняется с `quota_unavailable` вместо разрешения.
- Запросы через **API, CLI и MCP** используют те же обработчики, поэтому к ним применяются те же лимиты.
- **Промо-кредит** не повышает уровень (см. [Promotions](https://nexcmp.com/ru/docs/billing/promotions/)).
- **Пороговые значения уровней указаны в центах**, а не в долларах.

## Устранение неполадок {#troubleshooting}

| Симптом | Причина | Решение |
|---|---|---|
| `quota_exceeded`, причина `resources` | Новое общее количество vCPU/RAM/диска превышает лимит уровня | Пополните баланс на сумму из сообщения или настройте переопределение. |
| `quota_exceeded`, причина `vm_30d` | Превышено число VM для 24-часового уровня, и баланс еще не покрывает 30 дней работы всего парка | Пополните баланс на указанную сумму. |
| `quota_exceeded`, причина `vm_max` | Достигнут абсолютный лимит по числу VM | Увеличьте **Max VMs when meeting 30-day threshold** или используйте переопределение. |
| `quota_exceeded`, `scope: service` | Достигнут лимит для конкретной услуги | Увеличьте значение в таблице или переопределите этот параметр для клиента. |
| `quota_unavailable` | Не удалось проверить состояние квоты | Повторите попытку; если ошибка сохраняется, проверьте журнал сервера. |
| "quota_max_vms_30d must be >= quota_max_vms_24h" при сохранении | Значения перепутаны местами | Убедитесь, что 30-дневное значение не меньше 24-часового. |
| Клиент сообщает о снижении уровня | Уровень не снижается; сравните **Held resource basis** со стоимостью тарифа | Проверьте прайс-лист тарифов: повышение цены тарифа может сместить пороги. |
