FinOps AWS: Hướng dẫn tối ưu chi phí cloud cho developer

FinOps AWS: Hướng dẫn tối ưu chi phí cloud cho developer

avatar

Long Ngo

2026.02.12

Hướng dẫn từng bước tối ưu chi phí AWS. Từ đọc hóa đơn, thiết lập cảnh báo ngân sách, chọn đúng cấu hình EC2, đến Savings Plans. Tất cả bài thực hành đều miễn phí, kèm ảnh chụp chi tiết.

00. Kiến thức cần có trước khi đọc

AWS Certified CloudOps Engineer Associate

Khóa học liên quan: Toàn bộ kiến thức FinOps trong bài này được dạy chi tiết trong khóa luyện thi AWS Certified SysOps Administrator - Associate, kèm hướng dẫn xây tool báo cáo chi phí tự động.

Trước khi bắt đầu, bạn cần:

  • Có AWS account (Free Tier vẫn làm được tất cả bài thực hành trong bài này)
  • Biết cơ bản EC2 và S3 là gì
  • Có quyền truy cập trang Billing. Nếu dùng IAM user, root account phải bật "IAM user and role access to Billing information" trước

Nếu bạn muốn nhận báo cáo chi phí tự động qua email hàng ngày, xem bài Thiết lập báo cáo chi phí và bảo mật trên AWS trước.

Tất cả 7 bài thực hành trong bài này đều miễn phí. Không tạo tài nguyên mới, không phát sinh chi phí.

01. Vì sao bạn cần biết FinOps , dù ít ai dạy bài bản

Ôn thi AWS, phần cost optimization thường chỉ vài câu multiple choice. Đọc qua, chọn đáp án, qua mục tiếp theo. Nhưng ra dự án thật, đây lại là phần khiến người ta toát mồ hôi nhiều nhất , vì nó liên quan trực tiếp đến tiền.

Sếp hỏi: "Chi phí hạ tầng năm nay cao quá, vì sao?"

Mỗi đợt xin ngân sách y rằng một kịch bản. Sếp hoặc khách hàng nhìn con số rồi hỏi: "Vì sao tháng này cao hơn tháng trước? Hãy cho anh một lý do."

Nhưng thật ra họ không muốn nghe lý do. Họ muốn nghe: "Em có phương án giảm 30-50%, đây là kế hoạch cụ thể." Nếu bạn không biết hóa đơn AWS cấu thành từ đâu, bạn không trả lời được câu đó.

Side project tháng trước $200, tháng này $500 , ủa?

Bạn không thay đổi gì cả. Không tạo thêm EC2, không chạy thêm workload (khối lượng công việc) mới. Mà bill nhảy gấp đôi.

Sau 7749 lần google và hỏi AI thì phát hiện: cái voucher EC2 hết hạn từ đầu tháng. Hoặc Reserved Instance hết hạn mà không ai biết, instance tự chuyển sang on-demand (trả theo giờ, không cam kết). Lúc nhìn thấy bill thì đã lãng phí cả tháng rồi. Làm sao biết trước chuyện này sẽ xảy ra?

Dự án thật: không ai chịu trách nhiệm theo dõi chi phí

EC2 tạo lúc test rồi quên tắt. NAT Gateway dựng từ hồi làm lab VPC, không ai xóa , riêng tiền chạy không đã $32/tháng. EBS snapshot (bản sao ổ đĩa) tích tụ 6 tháng, 50 bản cộng lại cũng ra tiền. Không phải cố ý lãng phí, mà vì không có quy trình để ai đó nhìn vào con số.

Theo nghiên cứu của Hykell, doanh nghiệp trung bình lãng phí 25-35% chi phí cloud. Không phải ít.

Ba tình huống trên đều dẫn về một chỗ: thiếu quy trình quản lý chi phí cloud. FinOps (quản lý tài chính cloud) giải quyết đúng vấn đề này. Không phải cắt chi phí bằng mọi giá, mà là biết tiền đi đâu, tiêu có đúng chỗ không, và có cách nào rẻ hơn không.

Quy trình gồm 3 bước, lặp đi lặp lại:

  1. Nắm thông tin , Biết tiền đi đâu
  2. Tối ưu , Giảm chi phí mà không ảnh hưởng hệ thống
  3. Vận hành , Duy trì thói quen theo dõi

Bài này đi qua từng bước, kèm 7 bài thực hành trên console. Tất cả đều miễn phí.

Vòng đời FinOps: Nắm thông tin → Tối ưu → Vận hành

02. Đọc hiểu hóa đơn AWS

2.1 Cấu trúc hóa đơn AWS

Trang Billing Dashboard cho bạn cái nhìn tổng quan:

  • Chi phí tháng hiện tại, so sánh với tháng trước
  • Chi phí chia theo dịch vụ: EC2 bao nhiêu, S3 bao nhiêu, RDS bao nhiêu
  • Lượng Free Tier đã dùng: còn bao nhiêu trước khi bị tính tiền

2.2 Mấy thứ hay gây hóa đơn cao mà ít ai để ý

Thủ phạmGiáGhi chú
EC2 chạy không ai dùngTùy loại instancet3.medium = ~$30/tháng
NAT Gateway$0.045/giờ + $0.045/GBChạy cả tháng = ~$32 chưa tính dữ liệu
EBS Snapshot cũ$0.05/GB/tháng50 bản x 10GB = $25/tháng
Elastic IP trống$3.6/tháng mỗi IPTừ tháng 2/2024, IP không gắn EC2 bị tính phí
Truyền dữ liệu giữa AZ$0.01/GB mỗi chiềuTưởng ít nhưng tích lũy nhanh

NAT Gateway là thủ phạm bất ngờ nhất. Nhiều người tạo lúc làm lab VPC rồi quên. Nó không hiện rõ trên bill vì nằm chung mục "EC2-Other".

2.3 Thực hành: Đọc hóa đơn AWS lần đầu

Chi phí: $0

Bước 1. Mở Billing Dashboard

Truy cập: https://us-east-1.console.aws.amazon.com/billing/home#/

Nếu dùng IAM user mà không thấy trang Billing, cần đăng nhập bằng root account và bật quyền truy cập Billing cho IAM user tại Account Settings.

Trang Billing Dashboard tổng quan

Bước 2. Xem chi phí theo dịch vụ

Ở trang chính, kéo xuống phần "Cost trend by top five services". Bạn sẽ thấy biểu đồ xu hướng chi phí 3 tháng gần nhất và bảng "Cost by service" bên phải, liệt kê từng dịch vụ kèm chi phí trung bình, sắp xếp từ cao xuống thấp. Dịch vụ nào đứng đầu là thủ phạm chính.

Bảng chi phí theo dịch vụ

Bước 3. Kiểm tra Free Tier đã dùng bao nhiêu

Thanh bên trái → click "Free Tier".

Trang này hiển thị từng dịch vụ, lượng đã dùng so với giới hạn, và phần trăm. Cột "Forecasted" (dự báo) cho biết cuối tháng có vượt giới hạn miễn phí không. Nếu con số này gần 100%, cần cẩn thận.

Trang Free Tier hiển thị lượng dùng từng dịch vụ

Bước 4. Bật Cost Allocation Tags (nhãn phân bổ chi phí)

Thanh bên trái → "Cost allocation tags".

Bạn sẽ thấy danh sách tag (có thể vài chục tag nếu account đã dùng nhiều dịch vụ). Ban đầu tất cả đều ở trạng thái "Inactive". Chọn những tag muốn dùng để phân loại chi phí , ví dụ Environment, Team, Project , rồi click "Activate".

Nếu muốn bật tag do AWS tự tạo, chuyển sang tab "AWS-generated cost allocation tags", tìm tag aws:createdBy → đánh dấu → click "Activate". Tag này cho biết ai tạo ra từng tài nguyên.

Sau khi bật, Cost Explorer sẽ hiển thị chi phí theo tag. Mất khoảng 24 giờ để có dữ liệu.

Cost Allocation Tags - danh sách tag cần kích hoạt

03. Cost Explorer: xem tiền đi đâu

3.1 Cost Explorer là gì

Cost Explorer là công cụ miễn phí để phân tích chi phí AWS theo thời gian, theo dịch vụ, theo tag (nhãn). Nói đơn giản thì nó giống Google Analytics nhưng dành cho tiền AWS.

Nếu Billing Dashboard cho bạn bức tranh tổng quan, thì Cost Explorer cho bạn kính lúp để soi vào từng góc.

3.2 Thực hành: Tạo báo cáo tìm tài nguyên tốn tiền

Chi phí: $0

Bước 1. Mở Cost Explorer

Truy cập: https://us-east-1.console.aws.amazon.com/costmanagement/home#/cost-explorer

Nếu lần đầu sử dụng, click "Launch Cost Explorer" và đợi 24 giờ để AWS thu thập dữ liệu. Sau đó quay lại sẽ thấy biểu đồ cột chi phí theo tháng.

Cost Explorer biểu đồ chi phí theo tháng

Bước 2. Lọc theo dịch vụ

Bên phải có bảng "Filters". Click "Service" → chọn 1 dịch vụ muốn xem, ví dụ Amazon EC2 → click "Apply".

Biểu đồ giờ chỉ hiển thị chi phí EC2.

Bước 3. Nhóm theo loại sử dụng

Bên phải, trong bảng "Report parameters" → mục "Group by" → ô "Dimension" → chọn "Usage type".

Biểu đồ tách ra thành nhiều màu, mỗi màu là một loại sử dụng khác nhau. Đây là lúc bạn thấy cụ thể cái gì tốn tiền , NAT Gateway, DataTransfer thường nấp ở đây.

Cost Explorer nhóm theo Usage Type

Bước 4. Xem dự báo chi phí

Để xem dự báo, cần 2 điều chỉnh:

  1. Mở rộng "Date Range" (khoảng thời gian) ra vài tháng tới (ví dụ: đến tháng 4/2026) để Cost Explorer có chỗ vẽ dự báo
  2. Ô "Dimension" trong mục "Group by" → chọn "None" (bỏ nhóm). Cost Explorer không hiển thị dự báo khi đang nhóm theo dịch vụ

Sau khi điều chỉnh, bạn sẽ thấy các cột nét đứt cho tháng hiện tại và các tháng tới , đó là chi phí dự báo.

Cost Explorer với cột dự báo chi phí

Bước 5. Lưu báo cáo

Click "Save as new report" góc trên phải. Đặt tên "Monthly cost by service""Save report". Lần sau mở Cost Explorer sẽ thấy báo cáo này trong "Saved reports" ở thanh bên.

3.3 Đề xuất chọn đúng cấu hình

Cost Explorer có sẵn phần đề xuất right-sizing (chọn đúng cấu hình cho tài nguyên).

Thanh bên trái → "Rightsizing recommendations".

Nếu có EC2 đang chạy, AWS sẽ phân tích mức sử dụng CPU và đề xuất loại instance phù hợp hơn. Ví dụ: bạn đang dùng m5.xlarge ($140/tháng) nhưng CPU trung bình chỉ 5%. AWS sẽ đề xuất m5.large ($70/tháng), tiết kiệm 50%.

Nếu account mới chưa có EC2 chạy, sẽ thấy "No recommendations available". Bình thường.

Lưu ý: Đừng nghe đề xuất một cách máy móc. Nếu ứng dụng có lúc chạy nặng (giờ cao điểm, xử lý hàng loạt ban đêm), CPU trung bình thấp nhưng vẫn cần instance lớn cho lúc peak (giờ cao điểm).

04. AWS Budgets: đặt giới hạn, không bất ngờ

4.1 Các loại ngân sách

AWS Budgets cho phép tạo ngân sách và nhận cảnh báo khi chi tiêu gần chạm hoặc vượt giới hạn.

Có 3 loại chính:

  • Cost Budget: Đặt giới hạn tổng chi phí. Phổ biến nhất, ví dụ: tháng này không quá $100.
  • Usage Budget: Đặt giới hạn theo lượng sử dụng, ví dụ: không quá 750 giờ EC2.
  • Reservation Budget: Theo dõi mức sử dụng Reserved Instances hoặc Savings Plans đã mua.

4.2 Hành động tự động khi vượt ngân sách

Ngoài gửi email cảnh báo, Budgets còn hỗ trợ hành động tự động:

  • Khi đạt 80% ngân sách: gửi email cảnh báo
  • Khi đạt 100%: áp dụng IAM policy chặn tạo tài nguyên mới

Ví dụ thực tế: Account dev đặt ngân sách $50/tháng. Khi vượt, AWS tự áp dụng policy chặn tạo EC2 mới. Developer phải xin nâng ngân sách hoặc dọn dẹp tài nguyên cũ.

4.3 Thực hành: Tạo ngân sách + cảnh báo email

Chi phí: $0 (2 ngân sách đầu tiên miễn phí)

Bước 1. Mở AWS Budgets

Truy cập: https://us-east-1.console.aws.amazon.com/billing/home#/budgets/overview

Trang tổng quan Budgets hiện ra. Nếu chưa tạo ngân sách nào, danh sách sẽ trống.

Bước 2. Click "Create a budget"

Bước 3. Chọn mẫu

Chọn "Use a template (simplified)" → chọn mẫu "Monthly cost budget". Form đơn giản chỉ có 2 ô cần điền.

Bước 4. Điền thông tin

  • Budget name: monthly-cost-alert
  • Budgeted amount ($): 10 (đặt $10 cho account thực hành, bạn có thể thay đổi)
  • Email recipients: điền email của bạn

Click "Create budget".

Ngân sách xuất hiện trong danh sách. Nếu chi tiêu chưa vượt $10, trạng thái là "OK" và Health status "Healthy".

Danh sách Budgets với ngân sách $10

Bước 5. Xem chi tiết ngân sách

Click vào tên ngân sách vừa tạo. Trang chi tiết hiển thị "Budget health" , bao gồm phần trăm đã dùng so với ngân sách (Current vs. budgeted) và phần trăm dự báo (Forecasted vs. budgeted). Bên phải là bảng Alerts hiển thị trạng thái cảnh báo.

Chi tiết ngân sách với biểu đồ chi phí thực tế so với giới hạn

Bước 6. (Tùy chọn) Tạo ngân sách $0

Quay lại Budgets → "Create a budget" → chọn mẫu "Zero spend budget" → đặt tên zero-spend-freetier → điền email.

Ngân sách này cảnh báo ngay khi phát sinh bất kỳ chi phí nào, dù chỉ $0.01. Rất hữu ích cho account Free Tier, biết ngay khi mình vượt giới hạn miễn phí.

05. Right-sizing: chọn đúng cấu hình, trả đúng giá

Right-sizing (chọn đúng cấu hình cho tài nguyên) nghĩa là: EC2 bạn đang dùng có thể quá lớn so với nhu cầu thực tế. Đang trả tiền m5.xlarge nhưng CPU chỉ dùng 5%? Đổi xuống m5.large, tiết kiệm ngay một nửa.

5.1 Compute Optimizer

AWS Compute Optimizer dùng machine learning (học máy) để phân tích mức sử dụng CPU, bộ nhớ, và mạng của EC2 trong 14 ngày. Sau đó đề xuất loại instance phù hợp hơn.

Gói tiêu chuẩn miễn phí. Gói nâng cao (Enhanced) tốn $0.25/tài nguyên/tháng, nhưng bài này chỉ dùng gói miễn phí.

5.2 Thực hành: Bật Compute Optimizer và xem đề xuất

Chi phí: $0 (gói tiêu chuẩn miễn phí)

Bước 1. Mở Compute Optimizer

Truy cập: https://us-east-1.console.aws.amazon.com/compute-optimizer/home#/dashboard

Nếu lần đầu, sẽ thấy trang "Get started".

Bước 2. Đăng ký sử dụng

Click "Opt in". Trang tiếp theo hiển thị 2 lựa chọn: "All member accounts of this organization" (nếu dùng AWS Organizations) hoặc "Only this account". Nếu chỉ muốn bật cho account hiện tại, chọn "Only this account" → click "Opt in".

Compute Optimizer cần khoảng 14 ngày để thu thập đủ dữ liệu và đưa ra đề xuất.

Bước 3. Xem bảng tổng quan

Sau khi bật, trang Dashboard hiển thị 2 phần chính:

  • Estimated savings opportunities (cơ hội tiết kiệm ước tính): Tài nguyên đang dùng quá nhiều so với nhu cầu
  • Estimated performance improvement opportunities (cơ hội cải thiện hiệu năng): Tài nguyên cần nâng cấp

Thanh bên trái liệt kê các loại đề xuất: EC2 instances, Auto Scaling groups, EBS volumes, Lambda functions, Aurora and RDS databases, ECS services on Fargate, Licenses, Idle resources.

Nếu vừa bật hoặc account ít tài nguyên, bảng sẽ hiển thị "Data not available". Cần đợi 14 ngày để có dữ liệu.

Compute Optimizer - trang đăng ký sử dụng

Bước 4. Xem đề xuất cho EC2

Thanh bên trái → "EC2 instances". Nếu có EC2 đang chạy đủ 14 ngày, bảng sẽ hiển thị từng instance với loại hiện tại, kết quả phân tích, và đề xuất.

Click vào 1 instance để xem chi tiết: biểu đồ CPU 14 ngày, bộ nhớ (nếu có CloudWatch Agent), và các lựa chọn instance kèm chi phí tiết kiệm ước tính.

Compute Optimizer Dashboard - tổng quan đề xuất

5.3 Graviton: tiết kiệm thêm 20%

Ngoài right-sizing, một cách khác để giảm chi phí EC2 là chuyển sang chip Graviton (ARM). Các dòng instance t4g, m7g, c7g dùng chip ARM do AWS tự thiết kế, rẻ hơn chip x86 khoảng 20% với hiệu năng tương đương hoặc tốt hơn.

t4g.micro nằm trong Free Tier: 750 giờ/tháng trong 12 tháng đầu.

Dùng được khi ứng dụng chạy Node.js, Python, Java, hoặc Docker. Đa số không cần thay đổi code.

Không dùng được khi ứng dụng biên dịch riêng cho x86, dùng .NET Framework cũ, hoặc phần mềm chỉ chạy trên Windows.

06. Savings Plans và Reserved Instances: chọn gì?

Phần này chỉ giải thích và hướng dẫn xem đề xuất. Không mua gì cả.

6.1 Reserved Instances (đặt trước)

Cam kết dùng 1 loại instance cụ thể trong 1 hoặc 3 năm. Đổi lại, AWS giảm giá tới 72% so với giá on-demand (trả theo giờ, không cam kết).

Nhược điểm: nếu giữa chừng muốn đổi loại instance hoặc chuyển khu vực, giảm giá sẽ mất. Phù hợp cho workload (khối lượng công việc) chạy 24/7 và bạn biết chắc cần loại instance gì ít nhất 1 năm.

6.2 Savings Plans (kế hoạch tiết kiệm)

Thay vì cam kết instance cụ thể, bạn cam kết chi tiêu một số tiền mỗi giờ (ví dụ $0.10/giờ). AWS tự áp dụng giảm giá cho bất kỳ dịch vụ nào đủ điều kiện.

Có 2 loại:

  • Compute Savings Plans: Áp dụng cho EC2, Fargate, Lambda. Đổi loại instance, khu vực thoải mái. Giảm giá tới 66%.
  • EC2 Instance Savings Plans: Chọn cụ thể dòng instance (m5, c6g...) nhưng linh hoạt kích cỡ. Giảm giá cao hơn một chút.

6.3 So sánh

Reserved InstancesSavings Plans
Cam kếtLoại instance + khu vựcSố tiền mỗi giờ
Linh hoạtThấpCao
Giảm giá tối đa72%66%
Áp dụng choChỉ EC2EC2, Fargate, Lambda
Nên dùng khiBiết chắc cần gì 1-3 nămKhối lượng công việc thay đổi

Gợi ý: Nếu không chắc chắn, chọn Compute Savings Plans. Linh hoạt hơn, và chênh lệch giảm giá so với RI không lớn lắm.

So sánh Savings Plans và Reserved Instances

6.4 Thực hành: Xem đề xuất Savings Plans (chỉ xem, không mua)

Chi phí: $0

Bước 1. Mở trang đề xuất Savings Plans

Truy cập: https://us-east-1.console.aws.amazon.com/costmanagement/home#/savings-plans/recommendations

Bước 2. Thiết lập bộ lọc

Trang hiển thị 4 loại Savings Plans: Compute, Database, EC2 Instance, và SageMaker. Chọn "Compute Savings Plans""Savings Plans term": 1-year → "Payment option": No upfront (không trả trước) → click "Refresh recommendations".

Phía dưới hiển thị kết quả đề xuất. Nếu account chi tiêu ít, sẽ thấy "Recommendations (0)" , bình thường, vì AWS cần đủ dữ liệu chi tiêu để đề xuất.

Trang đề xuất Savings Plans

Bước 3. Hiểu các con số

  • "Recommended hourly commitment": Mức cam kết mỗi giờ mà AWS đề xuất
  • "Estimated monthly savings": Tiết kiệm ước tính hàng tháng
  • "Estimated savings percentage": Tỷ lệ tiết kiệm

Không cần click "Add to cart" hay "Purchase". Chỉ cần biết con số này để ra quyết định sau.

07. Chi phí ẩn: lưu trữ và truyền dữ liệu

Nhiều người chỉ để ý chi phí EC2 mà quên mất 2 nguồn tốn tiền âm thầm: lưu trữ và truyền dữ liệu.

7.1 Các lớp lưu trữ S3

S3 có nhiều lớp lưu trữ, mỗi lớp phù hợp với mục đích khác nhau:

Lớp lưu trữGiá/GB/thángDùng cho
Standard$0.023Dữ liệu truy cập thường xuyên
Standard-IA (truy cập không thường xuyên)$0.0125Dữ liệu ít truy cập, phí lấy cao hơn
Glacier Instant Retrieval$0.004Lưu trữ, cần lấy ngay khi cần
Glacier Deep Archive$0.00099Lưu trữ lâu dài, lấy mất vài giờ
Intelligent-Tiering (tự động phân lớp)Tự chuyểnAWS tự di chuyển dữ liệu giữa các lớp

Nếu có bucket S3 chứa dữ liệu cũ mà không ai truy cập, chuyển sang Glacier Deep Archive có thể giảm chi phí lưu trữ tới 95%. Hoặc bật Intelligent-Tiering để AWS tự xử lý.

7.2 EBS cần dọn dẹp

3 thứ hay bị quên:

  • Ổ đĩa không gắn EC2: Khi xóa EC2, ổ đĩa EBS có thể không bị xóa theo. Ổ đĩa gp3 trống tốn $0.08/GB/tháng.
  • Snapshot cũ: Bản sao ổ đĩa cũ 6 tháng, 1 năm vẫn nằm đó tính tiền $0.05/GB/tháng.
  • gp2 chưa chuyển gp3: gp3 rẻ hơn gp2 khoảng 20%, hiệu năng cơ sở tốt hơn (3000 IOPS miễn phí thay vì tính theo dung lượng). Chuyển đổi không mất dữ liệu, không cần tắt EC2.

7.3 Phí truyền dữ liệu: tiền từ đâu ra

Loại truyềnGiá
Cùng AZ (vùng sẵn sàng)Miễn phí
Giữa các AZ$0.01/GB mỗi chiều
Giữa các khu vực$0.02/GB ra ngoài
Ra internet$0.09/GB (100GB đầu/tháng miễn phí)
Qua NAT Gateway$0.045/GB + $0.045/giờ
Qua VPC Endpoint cho S3Miễn phí (loại Gateway)

Ví dụ tính: Ứng dụng chạy 2 AZ, mỗi ngày truyền 10GB giữa 2 AZ = 10 x $0.02 x 30 = $6/tháng. Nếu dữ liệu đi qua NAT Gateway ra S3 thay vì dùng VPC Endpoint, thêm khoảng $14/tháng nữa.

Mẹo: Tạo VPC Endpoint loại Gateway cho S3. Miễn phí và giảm phí truyền dữ liệu qua NAT.

Sơ đồ chi phí truyền dữ liệu trong VPC

7.4 Thực hành: Tìm ổ đĩa EBS và snapshot không dùng

Chi phí: $0 (chỉ xem, không xóa gì)

Bước 1. Mở trang Volumes trên EC2 Console

Truy cập: https://us-east-1.console.aws.amazon.com/ec2/home#Volumes:

Bước 2. Kiểm tra ổ đĩa không gắn EC2

Nếu có ổ đĩa, dùng ô tìm kiếm phía trên → chọn bộ lọc "Status" → chọn "available". Kết quả hiện ra là các ổ đĩa đang tốn tiền mà không gắn EC2 nào. Mỗi GB gp3 tốn $0.08/tháng.

Nếu region này không có ổ đĩa, bạn sẽ thấy "You currently have no volumes in this region". Bên dưới có "Snapshot summary" cho biết số lượng volume đã được backup.

Trang EBS Volumes và Snapshot summary

Bước 3. Xem snapshot

Thanh bên trái → "Elastic Block Store""Snapshots". Chọn tab "Owned by me" để chỉ xem snapshot do bạn tạo.

Nếu có snapshot, sắp xếp theo cột "Started" (cũ nhất trước). Snapshot cũ vài tháng mà bạn chắc chắn không cần khôi phục = có thể xóa. Mỗi GB snapshot tốn $0.05/tháng.

Nếu region này không có snapshot, sẽ thấy "You currently have no snapshots in this Region".

Trang EBS Snapshots

Bước 4. Xem Elastic IPs (địa chỉ IP tĩnh)

Thanh bên trái → "Network & Security""Elastic IPs".

Nhìn cột "Associated instance ID". Nếu trống, IP này không gắn EC2 nào và đang tốn $3.6/tháng.

08. Cost Optimization Hub: xem tất cả đề xuất một chỗ

8.1 Một chỗ xem tất cả

Ở các phần trước, mỗi công cụ có đề xuất riêng: Cost Explorer có Rightsizing, Compute Optimizer có đề xuất instance, Savings Plans có đề xuất cam kết. Cost Optimization Hub gom tất cả vào một chỗ.

Hub tổng hợp hơn 18 loại đề xuất tiết kiệm, sắp xếp theo số tiền tiết kiệm ước tính, từ lớn đến nhỏ. Bạn mở lên, thấy ngay cơ hội nào đáng làm nhất.

8.2 Thực hành: Bật và xem Cost Optimization Hub

Chi phí: $0

Bước 1. Mở Cost Optimization Hub

Truy cập: https://us-east-1.console.aws.amazon.com/costmanagement/home#/cost-optimization-hub

Nếu lần đầu, sẽ thấy nút "Opt in" hoặc "Get started".

Bước 2. Đăng ký

Trang giới thiệu "How it works" giải thích cách Hub hoạt động: gom đề xuất từ nhiều nguồn (EC2, Lambda, EBS, Savings Plans...) vào một chỗ.

Click "Opt in". Nếu dùng AWS Organizations, có thể chọn bao gồm tất cả member accounts. Sau khi đăng ký, Hub cần vài giờ đến 1 ngày để thu thập dữ liệu.

Bước 3. Xem đề xuất

Sau khi có dữ liệu, tab "Recommendations" hiển thị bảng: tài nguyên, loại đề xuất, chi phí tiết kiệm ước tính, và hành động cần làm.

Sắp xếp theo "Estimated monthly savings" để thấy cơ hội lớn nhất trước. Click vào 1 đề xuất để xem hướng dẫn thực hiện.

Cost Optimization Hub bảng đề xuất tiết kiệm

09. FinOps cho cả team

Tới đây là phần dành cho ai đang quản lý cloud cho nhóm hoặc công ty. Nếu bạn chỉ dùng account cá nhân, có thể bỏ qua phần này.

9.1 Chiến lược gắn tag (nhãn phân loại)

Tag là cách duy nhất để biết nhóm nào tốn bao nhiêu tiền trên AWS.

4 tag nên bắt buộc cho mọi tài nguyên:

  • Environment: dev, staging, hay prod
  • Team: nhóm nào sở hữu
  • Project: thuộc dự án nào
  • CostCenter: mã trung tâm chi phí (nếu công ty yêu cầu)

Dùng Tag Policies trong AWS Organizations để bắt buộc gắn tag. Tài nguyên không có tag sẽ không tạo được.

Khi gắn tag đúng, mở Cost Explorer lọc theo tag Team, biết ngay nhóm Frontend tốn $300/tháng, nhóm Backend tốn $800/tháng.

9.2 Nhiều account với Organizations

Cách tốt nhất để quản lý chi phí cho nhiều nhóm: tách Dev, Staging, Prod thành account riêng.

Lợi ích:

  • Mỗi account có ngân sách riêng
  • Consolidated Billing (hóa đơn gộp) giúp được giảm giá theo khối lượng
  • Service Control Policies (chính sách kiểm soát dịch vụ) chặn tạo tài nguyên đắt tiền ở account dev. Ví dụ: chặn tạo instance lớn hơn m5.large ở account dev.

9.3 Ai dùng, người đó chịu trách nhiệm chi phí

FinOps hiệu quả khi mỗi nhóm tự theo dõi chi phí của mình. Không phải để đổ lỗi, mà để mọi người có ý thức hơn khi tạo tài nguyên.

Cách đơn giản nhất: mỗi tuần dành 15 phút mở Cost Explorer, lọc theo tag của nhóm mình, kiểm tra có gì bất thường không. Có con EC2 nào chạy mà không ai biết? Có dịch vụ nào tăng đột biến?

Nếu muốn đo sâu hơn: tính chi phí theo đơn vị. Bao nhiêu tiền cho mỗi giao dịch? Mỗi người dùng tốn bao nhiêu chi phí cloud? Những con số này giúp so sánh hiệu quả giữa các tháng.

10. Ví dụ thực tế

10.1 Startup thương mại điện tử, 5 người

Trước tối ưu: $2,000/tháng

Ngồi xuống rà soát, tìm được:

Vấn đềHành độngTiết kiệm/tháng
3 EC2 t3.medium chạy test, không ai dùng 2 thángTắt đi$90
NAT Gateway ở 3 AZ, chỉ cần 1Xóa 2 cái$64
200GB snapshot cũ hơn 6 thángXóa$10
S3 500GB dùng Standard, dữ liệu cũ không ai truy cậpChuyển Intelligent-Tiering$5
EC2 production m5.xlarge, CPU trung bình 8%Đổi m5.large$70
Chưa có Savings PlanMua Compute SP $0.05/giờ$42

Sau tối ưu: $1,719/tháng. Tiết kiệm ~$281/tháng (14%), tương đương ~$3,400/năm.

Không phải con số gây ấn tượng lắm. Nhưng startup nhỏ ít tài nguyên nên tỷ lệ tiết kiệm không cao. Chỗ giảm nhiều nhất vẫn là tắt EC2 không dùng và đổi cấu hình.

10.2 Công ty 50 người, nhiều account

Trước tối ưu: $15,000/tháng. Không ai biết tốn ở đâu.

Thực hiện theo 5 bước:

BướcHành độngTiết kiệm/tháng
1Bắt buộc gắn tag, 2 tuần gắn hết tài nguyên(không tiết kiệm trực tiếp, nhưng cần cho các bước sau)
2Tạo ngân sách theo nhóm(cảnh báo, không tiết kiệm trực tiếp)
3Compute Optimizer + đổi cấu hình 40 EC2$2,000
4Mua Compute Savings Plan 1 năm$3,000
5Dọn dẹp dev/staging$500

Sau tối ưu: $9,500/tháng. Tiết kiệm $5,500/tháng (37%), tương đương $66,000/năm.

Chỗ giảm lớn nhất: Savings Plans ($3,000) và đổi cấu hình ($2,000). Dọn dẹp môi trường dev chỉ chiếm phần nhỏ. Bài học: với công ty vừa, Savings Plans là công cụ tiết kiệm hiệu quả nhất.

So sánh chi phí trước và sau tối ưu

11. Danh sách việc cần làm để tối ưu chi phí

Làm ngay (15 phút)

  • Mở Billing Dashboard, xem tháng này tốn bao nhiêu
  • Tạo ngân sách $0 (zero-spend) để cảnh báo khi phát sinh chi phí
  • Kiểm tra Elastic IP không gắn EC2 → thả ra
  • Kiểm tra ổ đĩa EBS trạng thái "available" → xóa nếu không cần
  • Bật Cost Allocation Tags

Làm trong tuần

  • Bật Compute Optimizer (cần 14 ngày để có đề xuất)
  • Bật Cost Optimization Hub
  • Tạo báo cáo Cost Explorer theo dịch vụ
  • Xem lại snapshot cũ → xóa bản không cần
  • Kiểm tra NAT Gateway: có cần ở mỗi AZ không?

Làm trong tháng

  • Xem đề xuất chọn cấu hình → đổi EC2 phù hợp
  • Xem đề xuất Savings Plans → đánh giá có nên mua không
  • Xem lại S3: chuyển dữ liệu cũ sang lớp IA hoặc Glacier
  • Chuyển ổ đĩa gp2 → gp3
  • Thiết lập chiến lược gắn tag nếu làm nhóm

12. Tổng kết

Bản đồ công cụ quản lý chi phí AWS

5 công cụ, mỗi cái giải quyết 1 vấn đề:

Vấn đềCông cụ
Không biết tiền đi đâuBilling Dashboard + Cost Explorer
Sợ bị tính phí bất ngờAWS Budgets
EC2 quá lớn so với nhu cầuCompute Optimizer
Muốn giảm giá dài hạnSavings Plans
Muốn xem tất cả đề xuất một chỗCost Optimization Hub

Tất cả đều miễn phí. Mất khoảng 1 giờ để bật và thiết lập. Sau đó mỗi tuần chỉ cần 15 phút kiểm tra.

Tham khảo thêm

Bài tiếp theo

Bài tiếp trong loạt bài AWS Cloud Ops: AWS DevOps Agent - khi AWS tạo ra một "kỹ sư AI" trực 24/7 để xử lý sự cố cho bạn.