Skip to main content

EC2 Savings Plans & Reserved Instances

Để tối ưu chi phí EC2, AWS cung cấp 2 cơ chế cam kết sử dụng dài hạn đổi lấy discount: Savings PlansReserved Instances (RI). Cả hai đều giúp tiết kiệm đến 72% so với On-Demand pricing.


So sánh tổng quan

Tiêu chíSavings PlansReserved Instances
DiscountLên đến 72%Lên đến 72%
Cam kếtSố tiền USD/giờ (VD: $10/hour)Instance type + số lượng cụ thể (VD: 5x m5.large)
Tính linh hoạt⭐⭐⭐ Cao - đổi instance type, OS, region⭐ Thấp - bị lock instance type, AZ/region
Áp dụng tự động✅ Tự động apply cho EC2, Fargate, Lambda✅ Tự động apply nếu exact match
Phạm viEC2, Fargate, LambdaEC2, RDS, ElastiCache, Redshift, OpenSearch

I. Savings Plans (Khuyến nghị)

Savings Plans là cơ chế linh hoạt hơn, bạn cam kết chi một số tiền cố định mỗi giờ (VD: $10/giờ) trong 1 hoặc 3 năm, đổi lại discount.

Các loại Savings Plans

1. Compute Savings Plans

  • Discount: Lên đến 66%
  • Linh hoạt nhất: Áp dụng cho EC2, Fargate, Lambda bất kể instance family, size, OS, region
  • Use case: Workload có thể thay đổi architecture (ví dụ: migrate từ EC2 sang Fargate)

Ví dụ:

Giả sử: Sử dụng gói Compute Savings Plans 1 năm, No Upfront, Discount rate = 50%

Bạn cam kết: Trả $10 tương đương giá On-Demand $20 mỗi giờ trong 1 năm
→ Có thể chạy workload trị giá $20 On-Demand (vì discount 50%)

--- Scenario 1: Dùng đúng mức cam kết ---
Usage thực tế: 10x m5.large (us-east-1, Linux) = $20 On-Demand/giờ

Billing:
✅ SP cover: $20 On-Demand → Bạn trả $10 (commitment)
→ Tổng bạn phải trả: $10/giờ ✅ Tối ưu!

--- Scenario 2: Dùng dưới cam kết (LÃNG PHÍ) ---
Usage thực tế: 5x m5.large = $10 On-Demand/giờ

Billing:
❌ SP cover: Chỉ $10 On-Demand → Bạn vẫn phải trả $10 (commitment)
→ Lãng phí: $10 capacity không dùng
-> Tổng bạn phải trả: $10/giờ

--- Scenario 3: Vượt cam kết ---
Usage thực tế: 15x m5.large = $30 On-Demand/giờ

Billing:
✅ SP cover: $20 On-Demand đầu tiên → Trả $10 (commitment)
💰 Phần vượt: $10 On-Demand còn lại → Trả $10 (On-Demand rate)
→ Tổng bạn phải trả: $20/giờ (vẫn rẻ hơn full On-Demand $30)

📌 **Tổng kết:** Dùng ít hơn hoặc bằng commitment → trả đúng theo commitment. Dùng nhiều hơn → phần hơn tính theo giá On-Demand

2. EC2 Instance Savings Plans

  • Discount: Lên đến 72% (cao hơn Compute SP)
  • Linh hoạt vừa phải: Áp dụng trong cùng instance family (VD: M5), nhưng linh hoạt về size, OS, AZ
  • Use case: Workload ổn định trên một instance family cụ thể

Ví dụ:

Giả sử: EC2 Instance SP cho M5 family, us-east-1, 1 năm, No Upfront, Discount = 60%

Bạn cam kết: Trả $10 tiền mặt mỗi giờ cho M5 trong us-east-1
→ Có thể chạy workload M5 trị giá $25 On-Demand (vì discount 60%)

--- Scenario 1: Chỉ dùng M5 ---
Usage: 10x m5.xlarge (us-east-1, Linux) = $25 On-Demand/giờ

Billing:
✅ SP cover: $25 On-Demand → Bạn trả $10 (commitment)
→ Tổng bạn phải trả: $10/giờ

--- Scenario 2: Mix M5 sizes (Linh hoạt size/AZ/OS) ---
Usage:
- 5x m5.large (us-east-1a, Linux) = $12.5 OD
- 2x m5.xlarge (us-east-1b, Windows) = $12.5 OD
Tổng = $25 On-Demand

Billing:
✅ SP cover: $25 On-Demand → Bạn chỉ phải trả $10 (commitment)
→ Đổi size, AZ, OS trong M5 family ✅ OK!

--- Scenario 3: Dùng C5 (Không được cover) ---
Usage:
- 10x m5.xlarge = $25 OD
- 5x c5.xlarge = $10 OD ❌ Không thuộc M5 family

Billing:
✅ SP cover M5: $25 OD → Trả $10 (commitment)
❌ C5 không cover: $10 OD → Trả $10 (On-Demand rate)
→ Tổng bạn phải trả: $20/giờ

📌 Tổng kết: Dùng ít hơn hoặc bằng commitment → trả đúng theo commitment. Dùng nhiều hơn hoặc dùng sai spec (instance family, region, ...) → phần đó tính theo giá On-Demand.

Khuyến nghị Savings Plans

  • Phân tích workload: Dùng AWS Cost Explorer để xem usage pattern trong 30-60 ngày qua
  • Bắt đầu thấp: Cam kết 50-70% baseline usage, để lại buffer cho workload thay đổi
  • Ưu tiên 1 năm: Cho môi trường thay đổi nhanh, 3 năm cho production ổn định
  • Monitor: Review utilization hàng tháng trong Cost Explorer

II. Reserved Instances

Reserved Instances (RI) là cơ chế cam kết instance type + số lượng cụ thể trong 1 hoặc 3 năm.

⚠️ Quan trọng: RI KHÔNG phải legacy! RI vẫn là cách duy nhất để tiết kiệm chi phí cho:

  • RDS (Database)
  • ElastiCache (Redis/Memcached)
  • Redshift (Data Warehouse)
  • OpenSearch (Elasticsearch)

→ Savings Plans chỉ cover EC2, Fargate, Lambda. Các dịch vụ database bắt buộc dùng RI.

Các loại Reserved Instances

1. Standard RI (EC2)

  • Discount: Lên đến 72%
  • Ít linh hoạt hơn Savings Plans: lock theo instance family/generation, platform (OS)tenancy
  • Có thể modify sau khi mua, nhưng có điều kiện:
    ↳ Đổi AZ trong cùng Region, hoặc đổi scope Regional ↔ Zonal
    ↳ Đổi size trong cùng family + generation (ví dụ m5.largem5.xlarge) chỉ khi Linux/UNIX + default tenancy + RI hỗ trợ instance size flexibility
    ↳ Tổng instance size footprint trước/sau phải bằng nhau (có thể split/merge RI)
  • Use case: Workload production rất ổn định; nếu cần capacity reservation thì dùng Zonal RI

Ví dụ:

  • Bạn mua Standard RI cho m5.large, Linux/UNIX, default tenancy, us-east-1.
  • ✅ Được đổi m5.largem5.xlarge hoặc tách 1 x m5.large2 x m5.small (cùng family/gen, footprint tương đương).
  • ✅ Được đổi AZ us-east-1aus-east-1b (cùng Region) hoặc đổi scope Regional/Zonal.
  • ❌ Không đổi sang c5.large/m6i.large, không đổi sang Windows/RHEL/SUSE, và không đổi dedicated tenancy.

2. Convertible RI (EC2)

  • Discount: Lên đến 66%
  • Có thể modify sau khi mua và linh hoạt hơn Standard:
    ↳ Có thể exchange (đổi) sang instance family/OS/tenancy khác trực tiếp, không cần phải hủy RI cũ
    ↳ Chỉ đổi sang Convertible RI khác (cùng Region)
    ↳ Giá trị RI mới phải bằng hoặc cao hơn RI cũ; nếu cao hơn thì trả thêm true-up cost
    ↳ Có thể modify (split/merge) rồi exchange một phần
  • Trade-off: Discount thấp hơn Standard RI (~6% gap)
  • Use case: Workload đang phát triển, có thể thay đổi cấu hình hoặc migrate instance type

Ví dụ Convertible RI:

Hiện tại: 1x t2.large Convertible RI
Muốn: Đổi sang m5.xlarge (instance family khác)

Exchange: Bạn có thể trực tiếp đổi sang m5.xlarge
- Nếu m5.xlarge value <= t2.large value → Không trả thêm (hoặc AWS điều chỉnh số instance)
- Nếu m5.xlarge value > t2.large value → Bạn trả true-up cost (chênh lệch)
- RI cũ tự động hủy, RI mới có cùng end date
✅ Khác Standard: Standard không thể đổi family, chỉ modify size trong cùng family

3. RDS Reserved Instances

  • Discount: Có thể tiết kiệm đến khoảng 69% so với On-Demand (tuỳ engine/region/term/payment option)
  • Áp dụng cho: Aurora, MySQL, MariaDB, PostgreSQL, Oracle (BYOL), SQL Server (BYOL), Db2
  • Không áp dụng cho: SQL Server License Included, Oracle License Included (RDS gói License Included)
  • Lưu ý quan trọng: RI chỉ cover compute DB instance; storage và I/O vẫn tính riêng. Sau khi mua, các tham số chính (Region/Engine/Class/Deployment/Term) không đổi được.

4. ElastiCache Reserved Nodes

  • Discount: Có thể tiết kiệm đến khoảng 55% so với On-Demand (tuỳ region/node family/term/payment option)
  • Áp dụng cho: Redis OSS, Valkey, Memcached
  • Size flexibility: áp dụng cho tất cả reserved offerings; discount tự apply cho mọi size trong cùng node family + cùng Region theo normalized units
  • Cross-engine benefit: Reserved Node Redis OSS có thể apply sang Valkey; do Valkey rẻ hơn, cùng số units có thể cover nhiều workload hơn
  • Lưu ý quan trọng: Region/node family/term chọn lúc mua và không đổi được; không thể cancel reserved node trước hạn; phần usage vượt units thì tính On-Demand

5. Redshift Reserved Nodes

  • Discount: Có thể tiết kiệm đến khoảng 76% so với On-Demand (tuỳ term/payment option)
  • Lưu ý quan trọng: Sau khi mua, reservation gắn với Region/node type/term/offering; đổi node type khi resize mà không có reservation tương ứng thì bị tính On-Demand

III. Payment Options

Cả Savings Plans và RI đều có 3 cách thanh toán:

Payment OptionDiscountThanh toánVí dụ (1 năm, cover $300,000 On-Demand)
All UpfrontCao nhất (~72%)Trả full ngay, $0 hàng thángTrả $84,000 ngay, cover $300,000 OD/năm
Partial UpfrontTrung bình (~60%)Trả 50% trước, 50% theo thángTrả $60,000 trước + $5,000/tháng, cover $300,000 OD/năm
No UpfrontThấp nhất (~50%)$0 trước, trả hàng tháng$0 trước, $12,500/tháng, cover $300,000 OD/năm

Khuyến nghị:

  • All Upfront: Discount cao nhất, dùng cho production ổn định với budget sẵn có
  • Partial Upfront: Cân bằng discount vs cash flow, phù hợp đa số trường hợp
  • No Upfront: Ưu tiên cash flow, chấp nhận discount thấp hơn