AWS Cost Review Automation — Từ 2 Ngày Xuống 30 Phút
Tóm tắt: Rà soát chi phí AWS thủ công tốn 1–2 ngày mỗi lần và phụ thuộc kinh nghiệm người làm. Mình đã xây dựng một hệ thống tự động rà soát chi phí bằng Python — thu thập hóa đơn, kiểm kê tài nguyên, phát hiện lãng phí theo khung 7 nhóm tiêu chí, đối chiếu bằng chứng và xuất báo cáo. Kết quả trên dự án thật: giảm 90% thời gian, phát hiện 248–360 USD/tháng có thể tiết kiệm, và mọi đề xuất đều kèm bằng chứng chi phí cụ thể.
(~18–24h → ~30 phút)
mỗi tháng
ước tính nội bộ
rà soát chuẩn hóa
Công nghệ sử dụng
Vai trò của mình
Tự thiết kế và xây dựng toàn bộ hệ thống tự động rà soát chi phí AWS: thu thập dữ liệu chi phí, kiểm kê tài nguyên, phát hiện lãng phí, đối chiếu bằng chứng, ước tính tiết kiệm và sinh báo cáo cho khách.
Bước 1 — Vấn đề: rà soát thủ công không mở rộng được
Trước khi xây dựng hệ thống này, mỗi lần rà soát chi phí AWS cho khách hàng tốn 1–2 ngày công thủ công. Quy trình thường là:
- Mở công cụ phân tích chi phí của AWS, lọc theo từng dịch vụ, chụp màn hình
- Đăng nhập console, kiểm tra thủ công từng loại tài nguyên (ổ đĩa, bản sao lưu, endpoint mạng...)
- Tổng hợp vào Excel rồi viết báo cáo
Vấn đề: phụ thuộc vào kinh nghiệm người làm, thiếu quy chuẩn thống nhất, và khó mở rộng cho nhiều khách hàng — mỗi lần rà lại làm từ đầu, khó đảm bảo rà đủ và đều.
Trường hợp đã ẩn danh — mọi số tiền tuyệt đối và tên tài nguyên khách hàng được che.
Bước 2 — Xây dựng hệ thống tự động
Mình thiết kế quy trình xử lý theo 3 nguyên tắc:
- Khung cố định, dữ liệu thay đổi — luôn rà theo 7 nhóm tiêu chí và cách phân loại lãng phí thống nhất
- Máy làm việc lặp lại, người làm việc cần phán đoán — script tự động thu thập & tính toán; con người xác minh và ra khuyến nghị
- Có bằng chứng, không đoán — mọi kết luận trỏ về nguồn dữ liệu cụ thể
Input
Khách hàng cung cấpXử lý tự động
Python — chạy trực tiếp, không cần dựng hạ tầng riêngCon người rà soát
Phán đoán & xác minh — phần máy không làm đượcKết quả
Giao cho kháchToàn cảnh quy trình — máy làm phần lặp lại, người làm phần cần phán đoán.
Chi tiết kỹ thuật: các module trong pipeline Dành cho kỹ sư
Pipeline viết bằng Python 3.10+ (chỉ dùng thư viện chuẩn + boto3), chạy trực tiếp qua AWS CLI v2 theo profile của khách (auth qua SSO / saml2aws) — không cần dựng hạ tầng riêng.
| Module | Nhiệm vụ |
|---|---|
fetch_costs.py | Kéo bill Cost Explorer theo tháng (Unblended Cost), group by SERVICE / USAGE_TYPE |
analyze_costs.py | Pareto top service, nhóm theo kiến trúc, đối chiếu Estimate vs Actual, phát hiện bất thường month-over-month (rule-based) |
investigate_findings.py | Rà EBS / snapshot / VPC Endpoint / EIP / ALB orphan hoặc idle (evidence-based, có traffic check) |
investigate_provisioning.py | Right-sizing qua Compute Optimizer |
investigate_commitments.py | Utilization của Savings Plans / Reserved Instances |
investigate_finops_tools.py | Kiểm tra Budgets, Cost Anomaly Detection, Trusted Advisor, Cost Allocation Tags |
drill_costs.py | Drill sâu theo USAGE_TYPE, tính run-rate quanh một sự kiện/cutover |
Đầu vào cấu hình qua engagement.json (client, kỳ phân tích, scope region, auth profile). Đầu ra: run-summary.md + investigation-summary.md (dữ liệu thô, chưa có narrative) để người review đọc trước khi viết finding.
Bước 3 — Khung rà soát 7 nhóm tiêu chí
Mọi dự án đều rà theo cùng một khung 7 nhóm tiêu chí, để đảm bảo không bỏ sót khoản nào:
| Nhóm tiêu chí | Mô tả | Ví dụ phát hiện |
|---|---|---|
| 1. Tài nguyên không dùng | Tài nguyên còn tồn tại nhưng không phục vụ gì | Ổ đĩa mồ côi, bản sao lưu thừa, endpoint mạng không dùng |
| 2. Đúng kích cỡ | Tài nguyên cấp lớn hơn nhu cầu thực | Máy chủ, cơ sở dữ liệu cấp dư công suất |
| 3. Cam kết mua trả trước | Tận dụng gói giá cam kết dài hạn | Gói trả trước dùng chưa hết hoặc còn thiếu |
| 4. Vòng đời lưu trữ | Quản lý dữ liệu cũ để giảm phí lưu trữ | Kho lưu trữ không có chính sách dọn dữ liệu cũ |
| 5. Truyền dữ liệu | Chi phí truyền dữ liệu trong/ra ngoài AWS | Cổng NAT, truyền dữ liệu chéo vùng |
| 6. Lịch vận hành | Tắt/mở tài nguyên theo giờ làm việc | Môi trường thử nghiệm chạy 24/7 không cần thiết |
| 7. Quản trị chi phí | Cơ chế kiểm soát & cảnh báo chi phí | Cảnh báo ngân sách, gắn nhãn, người phụ trách review |
Bước 4 — Pilot trên khách hàng thật
Áp dụng cho dự án đầu tiên — môi trường production AWS tại vùng US (phân tích 3 tháng hóa đơn):
| Chỉ số | Giá trị |
|---|---|
| Chi phí trung bình / tháng | Đã ẩn theo yêu cầu bảo mật |
| Chi phí thực tế so với ước tính của khách | Cao hơn 33.8% |
| Cơ hội tiết kiệm phát hiện được | 248–360 USD/tháng |
| Điểm trưởng thành quản trị chi phí | 1.5/5 (thang tự đánh giá) |
Phân bổ chi phí theo nhóm kiến trúc (3 tháng gộp):
| Nhóm | % tổng bill |
|---|---|
| Máy chủ & tính toán | 83.5% |
| Bảo mật & ghi log | 9.6% |
| Mạng & CDN | 3.4% |
| Dữ liệu & lưu trữ | 2.9% |
| Khác | 0.6% |
Số liệu đã ẩn danh — chỉ hiển thị tỷ trọng %, không lộ số tiền tuyệt đối hay tên tài nguyên khách hàng.
Bước 5 — Những phát hiện chính
Ổ đĩa EBS — tiết kiệm 218–300 USD/tháng
- Phát hiện: 27 ổ đĩa có vấn đề — ổ mồ côi (không gắn vào máy nào), ổ gắn vào máy đang tắt, và cơ sở dữ liệu production vẫn dùng loại ổ đời cũ (gp2) đắt hơn loại mới (gp3) cùng hiệu năng.
- Đề xuất: Xóa ổ mồ côi, gỡ bỏ cụm máy đã dừng, chuyển cơ sở dữ liệu sang loại ổ mới rẻ hơn.
Chi tiết kỹ thuật: cách phát hiện & gp2 → gp3 Dành cho kỹ sư
Cách phát hiện ổ lãng phí (evidence-based):
- Orphan: volume ở trạng thái
available(không cóattachment) — không gắn vào instance nào. - Attached-to-stopped: volume
in-usenhưng instance đích ở trạng tháistopped— vẫn tính phí storage dù không chạy. - Đối chiếu chéo với Compute Optimizer và Trusted Advisor (idle volume) để tăng độ tin cậy trước khi khuyến nghị.
gp2 → gp3: gp3 rẻ hơn ~20% ở cùng baseline (3.000 IOPS / 125 MB/s miễn phí), tách rời dung lượng và hiệu năng. Migrate qua modify-volume — không cần detach, không downtime, nhưng nên làm trong maintenance window để theo dõi.
aws ec2 modify-volume --volume-id vol-xxxx \ --volume-type gp3 --iops 3000 --throughput 125
Ước tính tiết kiệm theo hướng thận trọng — chỉ tính phần chắc chắn (orphan + stopped + delta gp2/gp3), không cộng dồn giả định lạc quan.
Endpoint mạng (VPC Endpoint) — tiết kiệm 30–60 USD/tháng
- Phát hiện: 10 endpoint kết nối riêng tới dịch vụ AWS, tốn ~128 USD/tháng, trong đó một số ít dùng.
- Đề xuất: Giữ các endpoint thiết yếu, rà bỏ những cái ít dùng.
Quản trị chi phí — tác động gián tiếp
- Phát hiện: Chưa có cảnh báo ngân sách, chưa gắn nhãn tài nguyên bắt buộc, chưa có người review hóa đơn định kỳ.
- Đề xuất: Bật cảnh báo ngân sách, xây quy định gắn nhãn để phát hiện chi phí tăng bất thường sớm.
Bước 6 — Mọi khuyến nghị đều có bằng chứng
Nguyên tắc xuyên suốt: không đề xuất cắt giảm dựa trên phỏng đoán. Mỗi khuyến nghị đều được đối chiếu từ nhiều nguồn dữ liệu (hóa đơn, công cụ gợi ý của AWS, cấu hình tài nguyên thực tế) và kiểm tra tác động thật trước khi đưa vào báo cáo.
- Kiểm tra quan hệ giữa các tài nguyên trước khi khuyến nghị xóa — ví dụ một bản sao lưu có thể đang được ảnh hệ thống dùng — để tránh phá vỡ hệ thống đang chạy.
- Ước tính tiết kiệm theo hướng thận trọng (dè dặt), kèm mã tài nguyên cụ thể để đội kỹ thuật thực thi được ngay.
- Phân loại rõ ràng: có thể tối ưu / chấp nhận (do yêu cầu công việc) / cần theo dõi thêm.
Chi tiết kỹ thuật: logic cross-check trước khi khuyến nghị xóa Dành cho kỹ sư
Ví dụ điển hình: một số snapshot ban đầu trông như "orphan" vì volume nguồn đã xóa. Nhưng nếu snapshot đó đang được một AMI đăng ký dùng làm block device mapping, xóa nó sẽ phá AMI — không khôi phục launch được nữa.
Quy tắc quyết định trước khi flag snapshot là waste:
snapshot không còn volume nguồn?
│
▼
được AMI nào đang đăng ký dùng? ── CÓ ─▶ GIỮ (không phải waste)
│
KHÔNG
│
▼
có backup marker (AWS Backup / DLM)? ── CÓ ─▶ GIỮ
│
KHÔNG
│
▼
ứng viên xóa (chờ người xác nhận)
Cùng nguyên tắc áp cho các tài nguyên khác: EIP kiểm tra association, ALB kiểm tra target group có traffic, VPC Endpoint kiểm tra consumer thực tế. Không xóa dựa trên trạng thái bề mặt.
Kết quả
| Chỉ số | Trước | Sau | Thay đổi |
|---|---|---|---|
| Thời gian mỗi lần rà soát | 1–2 ngày | ~30 phút | Giảm 90% |
| Tiết kiệm tiềm năng | — | 248–360 USD/tháng | Mới |
| Độ tin cậy của khuyến nghị | Phụ thuộc kinh nghiệm | Có bằng chứng chi phí + mã tài nguyên | Chuẩn hóa |
| Mức độ bao phủ khi rà | Dễ bỏ sót | Đủ 7 nhóm tiêu chí | Nhất quán |
Bài học rút ra
- Tự động hóa để nhanh, con người để đúng — máy lo phần thu thập & tính toán, chuyên gia lo phần phán đoán & xác minh.
- Khung cố định giúp không bỏ sót — 7 nhóm tiêu chí đảm bảo rà đầy đủ, nhất quán qua mọi dự án.
- Mọi khuyến nghị đều có bằng chứng — đối chiếu nhiều nguồn dữ liệu trước khi đề xuất.
- Quản trị chi phí quan trọng không kém việc tối ưu — cảnh báo ngân sách & gắn nhãn giúp phát hiện chi phí tăng đột biến sớm, tránh tái phát.
- Kết quả đo được, thực thi được — ước tính tiết kiệm thận trọng, kèm hành động cụ thể cho đội kỹ thuật.
Cần rà soát & tối ưu chi phí AWS?
Mình nhận rà soát chi phí AWS — từ dựng quy trình tự động đến kiểm tra thủ công chi tiết, kèm lộ trình tiết kiệm cụ thể.
Liên hệ tư vấn