📄 Đọc hoá đơn cloud: line item, usage và phí bất thường

By Better Wise

Bài trước bạn đã vẽ được bản đồ chi phí: băng thông, egress, storage và database nhàn rỗi. Bản đồ đó chỉ có ích khi bạn soi được hoá đơn thật để biết khoản nào đang chảy máu. Hôm nay chúng ta học cách đọc từng dòng, đúng nghĩa "đọc sao kê" chứ không phải liếc con số tổng ở trang đầu.

Sau bài này bạn sẽ:

  • Đọc được cấu trúc hoá đơn từ tổng xuống usage detail.
  • Tính lại được cost của một line item từ usage và unit price.
  • So hai tháng và chỉ ra dòng nào tăng bất thường.
  • Nhận diện 6 dấu hiệu bất thường thường gặp nhất.

Hoá đơn cloud là sao kê, không phải bảng tổng kết

Con số to ở trang đầu chỉ là kết quả cuối. Tiền thật nằm ở các dòng chi tiết, nơi mỗi dòng ghi rõ dịch vụ nào, dùng bao nhiêu, đơn giá bao nhiêu. Người mới thường đọc mỗi tổng tiền, thấy "tháng này cao hơn tháng trước" rồi đóng lại, và đó chính là lúc hoá đơn tháng sau cao hơn nữa.

Bốn lớp của một hoá đơn

flowchart TD
  Inv["🧾<br/>Invoice"] --> Svc["📦<br/>Service"]
  Svc --> LI["🧮<br/>Line item (SKU)"]
  LI --> UD["🔍<br/>Usage detail"]
  • Invoice: tổng tiền cuối kỳ, gồm cả tax và credits.
  • Service: nhóm lớn, ví dụ Compute, Storage, Database, Networking.
  • Line item: một dòng chi phí cụ thể theo SKU, đây là đơn vị bạn soi.
  • Usage detail: dữ liệu thô theo giờ hoặc theo ngày, kèm resource ID, region, tag.

Khi ai đó hỏi "tại sao tháng này đắt", câu trả lời luôn nằm ở lớp 3 và lớp 4.

Đọc một dòng: usage, unit price và phần bị trừ

Một line item đầy đủ trông như sau:

service:      S3
line item:    Data Transfer Out to Internet
usage:        480 GB
unit price:   0.09 USD/GB
cost:         43.20 USD
region:       ap-southeast-1
tags:         team=media, env=prod

Công thức bạn cần nhớ: cost = usage quantity × unit price, sau đó trừ credits và discount, cuối cùng cộng tax. Ví dụ trên: 480 × 0.09 = 43.20 USD. Nếu tháng đó có 5 USD credit thì dòng này còn 38.20 USD.

Hai chi tiết dễ đọc sai:

Sign in to view the full content of this lesson. Sign in

  • Đơn vị: GB khác GB-month, hours khác requests. Nhân sai đơn vị là ra con số vô nghĩa.
  • Blended và unblended cost: blended là giá trung bình trộn nhiều mức giá, unblended là giá thực trả cho từng usage. Muốn biết tiền thật đã mất bao nhiêu thì đọc unblended.

Ví dụ: hoá đơn tăng gấp rưỡi mà không ai sửa một dòng code

Đây là bảng rút gọn từ hoá đơn thật của một app ảnh nhỏ, tháng 3 so với tháng 4:

Line item Tháng 3 Tháng 4 Chênh
Compute (744 h) 30.00 30.00 0
Object storage (GB) 5.00 5.25 +0.25
Data transfer out (GB) 10.80 43.20 +32.40
NAT gateway hours 3.72 3.72 0
NAT data processed (GB) 2.70 42.75 +40.05
Database (744 h) 9.80 9.80 0
Snapshot storage (GB) 0 16.00 +16.00
Tổng 62 151 +89

Đọc theo thứ tự: compute và database phẳng, nghĩa là app không chạy nhiều hơn. Toàn bộ phần tăng nằm ở ba dòng: data transfer out, NAT data processed và snapshot. Đi tiếp vào usage detail mới thấy nguyên nhân: ảnh gốc được trả trực tiếp từ S3 thay vì qua CDN, một job đồng bộ kéo ảnh qua NAT gateway, và backup tự động bật nhưng chưa ai đặt retention. Không có dòng nào "lạ", chỉ có ba dòng tăng đúng lúc một tính năng mới lên production.

Điểm mấu chốt: so delta tuyệt đối trước, rồi mới xem phần trăm. Dòng snapshot tăng từ 0 lên 16 USD nghe nhỏ, nhưng nếu nó tiếp tục cộng dồn mỗi tháng thì đó là khoản phí bị bỏ sót kinh điển.

Sáu dấu hiệu bất thường cần soi ngay

  1. Line item mới xuất hiện lần đầu: có tài nguyên hoặc tính năng vừa được bật. Luôn hỏi ai bật và có chủ đích không.
  2. Quantity tăng trên 20 đến 30 phần trăm trong khi các dòng khác gần như phẳng.
  3. Unit price thay đổi: nhà cung cấp đổi giá, hoặc bạn bị đẩy sang tier hay region khác.
  4. Region lạ: tài nguyên nằm ở region đắt hơn do cấu hình mặc định.
  5. Credits biến mất: free tier hết hạn hoặc credit cam kết đã dùng hết, tổng tiền nhảy dù usage không đổi.
  6. Dòng nhỏ tăng đều: storage, snapshot, IP tĩnh. Mỗi dòng vài USD nhưng cộng lại thành khoản đáng kể.

Điền nhanh để nhớ các khái niệm vừa học:

Mỗi dòng chi phí trong hoá đơn được gọi là một _____. Cost của một dòng bằng usage quantity nhân với _____. Phí truyền dữ liệu ra internet còn được gọi là _____. Một line item xuất hiện lần đầu trong tháng thường là dấu hiệu có _____. Giá trung bình trộn nhiều mức giá là _____, còn giá thực trả cho từng usage là _____.

Bài tập nhanh: soi bảng line item

Line item Tháng 5 Tháng 6
Object storage (GB) 900 940
Requests (triệu) 12 11
Data transfer out (GB) 300 310
Snapshot (GB) 40 480
Compute hours 744 744

Câu hỏi: dòng nào bạn mở ra kiểm tra trước, và vì sao?

Xem đáp án

Snapshot: từ 40 lên 480 GB, tăng 11 lần trong khi mọi dòng khác gần như phẳng. Đây là dấu hiệu số 2 và số 6 cùng lúc. Việc cần làm là mở usage detail xem snapshot nào được tạo, lịch backup có bị đổi không, và retention đang để bao nhiêu ngày. Đừng bắt đầu từ dòng requests giảm, vì giảm thì không làm bạn mất tiền.

Mẹo soi hoá đơn như dân từng bị trừ tiền oan

  • Export hoá đơn ra CSV rồi pivot theo service, đừng đọc trên giao diện web.
  • Sắp xếp theo chênh lệch tuyệt đối trước, phần trăm sau. Một dòng tăng 300 phần trăm từ 1 USD lên 4 USD không đáng lo bằng dòng tăng 15 phần trăm từ 200 USD lên 230 USD.
  • Luôn kiểm tra số ngày trong tháng. Tháng 2 có 28 ngày, so với tháng 3 có 31 ngày sẽ thấy mọi thứ "tăng" một cách vô tội vạ.
  • Ghi lại ngày bạn bật bất kỳ dịch vụ mới. Dòng chi phí mới xuất hiện thường khớp đúng ngày đó, và đó là cách nhanh nhất để truy nguyên nhân.
  • Lỗi phổ biến nhất của người mới: chỉ đọc blended cost, bỏ qua credits, và không đọc usage detail nên không biết dòng nào thuộc team nào.

Front: Hoá đơn cloud được chia thành những lớp nào, từ trên xuống? Back: Invoice, service, line item (SKU), usage detail.

Front: Công thức tính cost của một line item? Back: Usage quantity nhân unit price, sau đó trừ credits và discount, cuối cùng cộng tax.

Front: Unit price là gì? Back: Giá cho một đơn vị usage, ví dụ 0.09 USD mỗi GB.

Front: Dấu hiệu bất thường rõ nhất khi so hai tháng là gì? Back: Một line item tăng đột biến trong khi các dòng khác gần như không đổi.

Front: Một line item xuất hiện lần đầu nghĩa là gì? Back: Có tài nguyên hoặc tính năng mới được bật, cần xác định ai bật và có chủ đích không.

Front: Vì sao phải so unit price giữa hai tháng? Back: Vì nhà cung cấp có thể đổi giá, hoặc bạn bị chuyển sang tier hay region khác.

Front: Blended cost khác unblended cost ở đâu? Back: Blended là giá trung bình trộn nhiều mức giá, unblended là giá thực trả cho từng usage.

Front: Credits trên hoá đơn là gì? Back: Khoản giảm trừ như free tier hoặc cam kết chi tiêu, trừ vào tổng tiền và có thể hết hạn.

Front: Vì sao egress hay bị bỏ sót? Back: Nó nằm ở dòng data transfer out, tách khỏi dòng compute nên dễ bị nhìn nhầm là chi phí server.

Front: Tags trên line item dùng để làm gì khi đọc hoá đơn? Back: Quy chi phí về team hoặc dịch vụ để biết dòng nào thuộc về ai.

Front: Dòng NAT gateway có thể phát sinh mấy loại phí? Back: Phí theo giờ chạy và phí theo GB data processed.

Front: Ngưỡng thực dụng để quyết định soi một dòng là bao nhiêu? Back: Tăng trên 20 đến 30 phần trăm, hoặc tăng tuyệt đối đủ lớn để đáng bỏ thời gian điều tra.

Front: Vì sao tổng hoá đơn chỉ tăng nhẹ mà vẫn đáng lo? Back: Vì các dòng nhỏ như storage, snapshot, IP tĩnh tăng đều sẽ cộng dồn và rất khó thấy nếu chỉ nhìn tổng.

Ghi nhớ nhanh và bước tiếp theo

  • Đọc hoá đơn là đọc từng dòng, không đọc tổng tiền.
  • Cost bằng usage nhân unit price, và luôn kiểm tra đơn vị trước khi nhân.
  • Dòng mới xuất hiện, dòng tăng trên 20 đến 30 phần trăm, và dòng nhỏ tăng đều là ba nhóm cần soi trước.

Khi đã biết dòng nào tăng bất thường, câu hỏi tiếp theo là cắt ở đâu mà không làm chậm app. Bài sau sẽ đi vào right-sizing và chọn tier, tức là biến phát hiện hôm nay thành một bước giảm chi phí cụ thể.