---
title: Quotas
description: Giới hạn tài nguyên khách mới được tạo trước khi nạp ví: gói tài nguyên VM, số lượng VM và quota từng dịch vụ, có thể ghi đè riêng cho từng khách.
url: https://nexcmp.com/vi/docs/billing/quotas/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# Quotas {#quotas}

> **Vị trí trong trang admin:** Services › Virtual Machines › Policy › Quota tab (`/vm/policy?tab=quota`). Theo từng khách hàng: Customers › List › a customer › Overview (`/customers/<id>`), thẻ **Quota**. **Vị trí trên portal:** Client › Quotas (`/client/quotas`).

## Chức năng {#what-it-does}

Quota giúp bảo vệ bạn trước nguy cơ lạm dụng từ các tài khoản mới: khách hàng nạp càng nhiều tiền thực vào ví, họ càng có thể tạo nhiều tài nguyên. Cơ chế này gồm hai lớp:

- **Tài nguyên VM và Kubernetes**: tổng vCPU, RAM, ổ đĩa và số lượng VM. Các tier tương ứng với các gói cố định của bạn.
- **Quota dịch vụ**: giới hạn số lượng IP, cluster, VPC, dung lượng lưu trữ (GB), v.v., chia thành năm tier (từ L0 đến L4) dựa trên số tiền đã nạp.

Quota được kiểm tra **trước khi** trừ tiền. Yêu cầu vượt quá hạn mức sẽ bị từ chối với mã HTTP 403 `quota_exceeded` cùng thông báo hướng dẫn khách hàng số tiền cần nạp thêm.

## Yêu cầu {#requirements}

| Hạng mục | Yêu cầu |
|---|---|
| Role | Quản trị viên. |
| Công tắc | **Enable quota** (`quota_enabled`) mặc định ở trạng thái **tắt**. Các thiết lập bên dưới sẽ không có hiệu lực cho đến khi bạn bật tùy chọn này. |
| Gói cố định | Tối thiểu một gói không tùy chỉnh (xem [Plans](https://nexcmp.com/vi/docs/catalog/plans/)) — các tier tài nguyên chính là các gói cố định của bạn. Nếu không có gói nào, chỉ quy tắc về số lượng VM được áp dụng. |
| Thành phần phụ thuộc | Các hàng quota dịch vụ chỉ hiển thị cho những sản phẩm được kích hoạt trong hệ thống cài đặt của bạn (VPN, IPv6 proxy, Kubernetes, Private Cloud, Images, Object Storage, Dedicated). |

## Cách tính mức cơ sở {#how-the-basis-is-calculated}

NexCMP không chỉ xét riêng các khoản thanh toán bằng thẻ. **Mức cơ sở** (basis) là **số dư ví đã ghi nhận** của khách hàng: tiền nạp qua cổng thanh toán, tiền cộng từ quản trị viên (**Credit / debit**) và voucher nạp ví đã quy đổi đều được tính một lần qua sổ cái ví. Chiết khấu đơn hàng và tín dụng dịch vụ từ mã khuyến mại không phải là tiền trong ví nên không được tính. Mức cơ sở cao nhất mà khách hàng từng đạt được sẽ được **giữ nguyên** (theo từng site) — việc chi tiêu hoặc hoàn tiền không bao giờ làm hạ tier đã mở khóa.

### Tài nguyên VM và Kubernetes {#vm-and-kubernetes-resources}

1. Các tier tương ứng với các gói cố định của site, được sắp xếp theo chi phí vận hành trong 24 giờ.
2. Khách hàng được xếp vào tier cao nhất mà chi phí 24 giờ của tier đó không vượt quá mức cơ sở của họ. Giới hạn tài nguyên chính là vCPU, RAM và ổ đĩa của gói đó. Khách hàng chưa đủ điều kiện cho gói rẻ nhất vẫn nhận được tài nguyên của gói rẻ nhất.
3. Mức sử dụng tính vào giới hạn bao gồm mọi VM đang hoạt động (kể cả VM bị khóa), ổ đĩa dữ liệu đã mua (ngay cả khi chưa gắn) cùng các worker và control plane của Kubernetes (worker cũng được tính là VM).
4. **Số lượng VM:** tối đa bằng **Max VMs at 24h tier** (mặc định là 2). Từ VM tiếp theo trở đi, số dư ví *hiện tại* của khách hàng phải đủ chi trả cho **30 ngày (720 giờ)** của tất cả các VM hiện có cộng với VM mới, tối đa tới **Max VMs when meeting 30-day threshold** (mặc định là 10).
5. **Việc tạo VM** cũng yêu cầu số dư tối thiểu bằng chi phí của VM đó trong **N giờ** (**Create VM: balance ≥ N hours**, mặc định là 2) cùng số dư tối thiểu của nền tảng.
6. Hạ cấu hình VM không bao giờ bị chặn. Hệ thống chỉ kiểm tra thông số nâng cấp, vì vậy khách hàng dù đã vượt giới hạn ổ đĩa vẫn có thể thêm vCPU nếu giới hạn vCPU cho phép.

## Cấu hình {#configure}

1. Mở **Services › Virtual Machines › Policy** và chọn tab **Quota**.
2. Bật **Enable quota**.
3. Kiểm tra ba thông số sau (đều có thể chỉnh sửa):

   | Trường | Mặc định | Khoảng giá trị |
   |---|---|---|
   | Tạo VM: số dư ≥ N giờ | 2 | 1 đến 720 |
   | Max VMs at 24h tier | 2 | 1 đến 100 |
   | Số VM tối đa khi đạt ngưỡng 30 ngày | 10 | 1 đến 1000 (không được thấp hơn trường trước) |

4. Trong mục **Tier-based service quotas**, hãy chỉnh sửa bảng (bên dưới).
5. Nhấp **Save**. NexCMP sẽ yêu cầu nhập **lý do**, thông tin này sẽ được ghi vào nhật ký kiểm toán cùng với các giá trị cũ và mới. Thay đổi sẽ áp dụng cho tất cả khách hàng.

![Tab Quota với công tắc kích hoạt, các giới hạn VM và bảng quota dịch vụ theo bậc](https://nexcmp.com/vi/docs/images/billing/quotas-01-policy.webp)

### Bảng quota dịch vụ {#service-quota-table}

Bảng có 5 bậc (tier). Các ô tiêu đề từ **L0** đến **L4** chứa **ngưỡng nạp tiền tính bằng cent**: giá trị mặc định `0, 1000, 5000, 20000, 100000` nghĩa là L0 cho tài khoản mới, L1 từ $10, L2 từ $50, L3 từ $200 và L4 từ $1,000. Ngưỡng đầu tiên phải giữ nguyên là `0`. Mỗi hàng thiết lập quota cho một key theo từng bậc; **-1 nghĩa là không giới hạn**.

| Key | Ý nghĩa | L0 | L1 | L2 | L3 | L4 |
|---|---|---|---|---|---|---|
| `vpn.ips` | IP VPN | 2 | 10 | 30 | 100 | 500 |
| `proxy6.ips` | IP proxy IPv6 | 500 | 2000 | 10000 | 50000 | -1 |
| `dedicated.servers` | Máy chủ bare-metal | 1 | 2 | 5 | 20 | 50 |
| `s3.storage_gb` | Dung lượng Object Storage GB được phân bổ | 2048 | 4096 | 10240 | 51200 | -1 |
| `k8s.clusters` | Cụm Kubernetes | 1 | 2 | 5 | 10 | 30 |
| `k8s.workers` | Worker node Kubernetes | 3 | 9 | 18 | 50 | 200 |
| `vpc.count` | Mạng Private Cloud | 1 | 2 | 5 | 10 | 30 |
| `images.gb` | Dung lượng lưu trữ custom image (GB) | 50 | 100 | 200 | 500 | 2000 |

Bảng cũng liệt kê một vài hàng dành cho các sản phẩm không thuộc bản phát hành này; hãy giữ nguyên chúng. Một key có sản phẩm bị tắt sẽ được ẩn và không bao giờ bị áp đặt. Giá trị phải là `-1` hoặc nằm trong khoảng từ `0` đến `10,000,000`.

Quota dịch vụ tuân theo **cơ sở nguồn tiền (funds basis)**, tương tự như các bậc VM: số dư ví cao nhất từng đạt được, không phải tổng số tiền thanh toán bằng thẻ. Khách hàng của reseller sử dụng cùng các giá trị mặc định này và reseller chỉ có thể xem chúng.

## Ghi đè theo từng khách hàng {#per-customer-overrides}

1. Mở **Customers › List**, sau đó chọn khách hàng. Trong **Overview**, tìm thẻ **Quota**.
2. **Tài nguyên VM:** nhấp vào **Quota override** và chọn một trong các tùy chọn
   - **By top-up balance (remove override)** — hành vi mặc định;
   - **Unlimited (including VM count)** — gỡ bỏ mọi giới hạn đối với khách hàng này;
   - một **plan tier** — cố định mức trần tài nguyên theo gói cước đó; quy tắc về số lượng VM vẫn được áp dụng.

   Nhập lý do. Quản trị viên nền tảng có thể thiết lập bất kỳ bậc nào; mức ghi đè do reseller thiết lập không được vượt quá cơ sở nguồn tiền được giữ lại của khách hàng.
3. **Dịch vụ:** bảng bên dưới *Service quotas* hiển thị từng key cùng với *In use*, giới hạn hiệu dụng và *Source* của nó (tier hoặc override). Nhấp vào **Edit** trên một hàng, nhập **New quota** (`-1` = không giới hạn, để trống = quay về mặc định của bậc) và lý do.

![Thẻ Quota của khách hàng với bậc, mức sử dụng tài nguyên và bảng quota dịch vụ kèm theo mức ghi đè](https://nexcmp.com/vi/docs/images/billing/quotas-02-customer.webp)

Mọi thay đổi ghi đè đều được ghi lại trong audit log cùng với quản trị viên thực hiện, lý do và giá trị trước/sau khi đổi.

## Giao diện khách hàng thấy {#what-the-customer-sees}

**Client › Quotas** (`/client/quotas`) hiển thị **bậc hiện tại** của khách hàng, số lượng vCPU, RAM, ổ đĩa và VM đã dùng cũng như tổng số (phân tách giữa VM và Kubernetes), **số dư ví hợp lệ**, **cơ sở tài nguyên được giữ** (không giảm đi khi họ chi tiêu) và số tiền cần nạp thêm để lên bậc tiếp theo. Một thanh trượt cho phép họ chọn bậc mục tiêu và chuyển thẳng đến màn hình nạp tiền. Thẻ **Service Quotas** liệt kê từng dịch vụ kèm theo quota, mức đã dùng, bậc của họ (L0 đến L4), số tiền cần nạp thêm cho bậc tiếp theo và nút **Request increase** để mở bản nháp ticket hỗ trợ. Nút **Quota policy** giải thích các quy định.

![Trang Quotas trên portal với bậc hiện tại, mức sử dụng tài nguyên và quota dịch vụ](https://nexcmp.com/vi/docs/images/billing/quotas-03-portal.webp)

## Kiểm tra {#verify}

1. Bật **Enable quota** và sử dụng một khách hàng thử nghiệm mới có số dư $0.
2. Hãy thử tạo một VM lớn hơn gói rẻ nhất của bạn. Yêu cầu sẽ bị từ chối với `quota_exceeded` và thông báo "Exceeds the resources of tier ... Top up $X more to unlock tier ...".
3. Nạp số tiền được hiển thị. Bậc sẽ thay đổi ngay lập tức và yêu cầu tương tự sẽ thành công.
4. Mua IP VPN vượt quá giới hạn L0: HTTP 403 `quota_exceeded` kèm `"scope":"service"` và liên kết đến `/client/quotas`.
5. Trong thẻ Quota của khách hàng, **Source** hiển thị *tier*; hãy thiết lập ghi đè và bạn sẽ thấy nó đổi thành *override*.

## Hạn mức & lưu ý {#limits-notes}

- **Tắt nghĩa là tắt.** Khi `quota_enabled` tắt, quy tắc cũ `new_account_max_vms` (**Services › Virtual Machines › Policy › Sales**) sẽ giới hạn tài khoản mới ở mức 2 VM cho đến khi số tiền nạp đạt $10. Khi bật quota, quy tắc đó không còn áp dụng nữa.
- **Các VM do admin tạo không bị chặn.**
- **Lỗi sẽ xử lý theo hướng đóng an toàn (fail-closed).** Nếu không thể đọc trạng thái quota, yêu cầu sẽ bị từ chối với `quota_unavailable` thay vì được cho phép.
- Các yêu cầu qua **API, CLI and MCP** đều dùng chung bộ xử lý, do đó cùng áp dụng các giới hạn này.
- **Tín dụng khuyến mãi** không làm tăng tier (xem [Promotions](https://nexcmp.com/vi/docs/billing/promotions/)).
- **Các ngưỡng tier được tính bằng cent**, không phải dollar.

## Xử lý sự cố {#troubleshooting}

| Hiện tượng | Nguyên nhân | Cách khắc phục |
|---|---|---|
| `quota_exceeded`, lý do `resources` | Tổng vCPU/RAM/ổ đĩa mới vượt quá tier | Nạp thêm số tiền như thông báo hoặc thiết lập giá trị override. |
| `quota_exceeded`, lý do `vm_30d` | Vượt quá số lượng VM của tier 24h và số dư ví chưa đủ chi trả 30 ngày cho toàn bộ dàn máy | Nạp thêm số tiền hiển thị. |
| `quota_exceeded`, lý do `vm_max` | Đã chạm giới hạn VM tuyệt đối | Tăng **Max VMs when meeting 30-day threshold** hoặc sử dụng giá trị override. |
| `quota_exceeded`, `scope: service` | Đã chạm giới hạn theo từng dịch vụ | Tăng giá trị trong bảng hoặc override khóa đó cho khách hàng. |
| `quota_unavailable` | Không thể xác minh trạng thái quota | Thử lại; kiểm tra nhật ký server nếu lỗi vẫn tiếp diễn. |
| "quota_max_vms_30d must be >= quota_max_vms_24h" khi lưu | Giá trị bị đảo ngược | Đặt giá trị 30 ngày tối thiểu bằng giá trị 24 giờ. |
| Khách hàng báo tier bị hạ | Tier không bị hạ; hãy so sánh **Held resource basis** với chi phí gói | Kiểm tra bảng giá gói: việc tăng giá gói có thể làm thay đổi các ngưỡng. |
