Trong các dòng instance của EC2, dòng T đang được nhiều người dùng ưa chuộng và sử dụng hiện hiện nay. Hôm nay Sunny Cloud sẽ giải thích rõ hơn các đặc điểm của dòng T, và khái niệm “CPU Credit”.

CPU Credit là gì

CPU Credit là một khái niệm quan trọng khi sử dụng dịch vụ Amazon Elastic Compute Cloud (EC2). Đây là một cơ chế giúp quản lý CPU của các instance EC2 được sử dụng trong các lớp instance như T2, T3, T4g, và một số loại khác.

Với các instance T trong Amazon EC2, khác với các loại instance khác là có tỷ lệ sử dụng CPU được xác định trước gọi là baseline. Các instance này có thể cung cấp hiệu suất CPU tạm thời cao hơn baseline của nó trong một khoảng thời gian ngắn khi cần. Khi bạn sử dụng CPU nhiều hơn, CPU Credit sẽ giảm, và khi nó hết, hiệu suất CPU sẽ giảm đi. Điều này được thực hiện để đảm bảo hiệu suất cân bằng cho các tài nguyên máy chủ chung.

Khi instance không hoạt động cơ tốt và không tiêu tốn CPU, CPU Credit sẽ được tích lũy lại. Điều này có nghĩa rằng bạn có thể sử dụng nhiều CPU hơn trong tương lai khi cần. CPU Credit được sử dụng để đảm bảo hiệu suất đồng đều trong các mô hình sử dụng CPU biến đổi, giúp tránh trường hợp quá tải hệ thống và đảm bảo tính khả dụng của các instance EC2 của bạn.

Cách dùng loại instance T là sau khi đăng nhập vào bảng điều khiển quản lý, truy cập dịch vụ EC2, kiểm tra instance liên quan thì hãy xem tab “Monitoring”.

Tab Monitoring của dịch vụ EC2
Tab Monitoring của dịch vụ EC2

“CPU Credit Usage” và “CPU Credit Balance” sẽ được hiển thị ở phần dưới của mục “Monitoring”. Khi “CPU Credit Balance” trở thành 0, tuỳ thuộc vào loại tiêu thụ CPU Credit, hiệu suất sẽ giảm xuống dưới mức baseline hoặc phát sinh thêm phí.

CPU Credit chỉ đơn vị thời gian vCPU, có thể được tính như sau:

1 CPU Credit = 1 vCPU × 100% tỷ lệ sử dụng × 1 phút

1 CPU Credit = 1 vCPU × 50% tỷ lệ sử dụng × 2 phút

1 CPU Credit = 2 vCPU × 25% tỷ lệ sử dụng × 2 phút

Tỷ lệ sử dụng Baseline

Tỷ lệ sử dụng Baseline hay Baseline là mức có thể sử dụng CPU với số dư credit ròng là 0 nếu số lượng CPU Credit kiếm được và số lượng CPU Credit sử dụng bằng nhau. Tỷ lệ sử dụng baseline được thể hiện dưới dạng tỷ lệ sử dụng vCPU và được tính như sau:

Tỷ lệ sử dụng baseline (%) = (Số credit kiếm được ÷ Số vCPUs) ÷ 60 phút

Ví dụ: Nếu một instance t3.nano có 2 vCPU kiếm được 6 credit trong mỗi giờ, tỷ lệ sử dụng baseline sẽ là 5%. Điều này được tính như sau:

(6 credit / 2 vCPUs) / 60 phút = 5% tỷ lệ sử dụng baseline

Một instance t3.xlarge có 4 vCPU, nếu kiếm được 96 Credit trong mỗi giờ, tỷ lệ sử dụng Baseline sẽ là 40% ( baseline = (96/4) / 60 ).

Credit kiếm được

Đây là số credit mà các Instance đang chạy liên tục kiếm được.

Số lượng credit kiếm được mỗi giờ = Tỷ lệ sử dụng Baseline (%) x Số vCPU (chiếc) x 60 (phút)

Ví dụ: Với t3.nano sử dụng 2 vCPU thì tỷ lệ sử dụng Baseline được thiết lập là 5%, sẽ kiếm được 6 Credit mỗi giờ như phép tính sau.

2 vCPU x 5% Tỷ lệ Baseline x 60 phút = 6 credit mỗi giờ

Số credit CPU kiếm được mỗi giờ được quyết định tuỳ thuộc vào kích thước của instance. Như đã trình bày ở trên, t3.nano kiếm được 6 credit mỗi giờ, thông tin chi tiết về các loại instance khác theo như bảng bên dưới.

Loại instanceSố credit CPU nhận được mỗi giờSố credit kiếm được tối đa có khả năng lưu trữ*Số vCPUTỷ lệ sử dụng Baseline mỗi vCPU
T2
t2.nano37215%
t2.micro6144110%
t2.small12288120%
t2.medium24576220%
t2.large36864230%
t2.xlarge541296422.5%
t2.2xlarge81.61958.4817%
T3
t3.nano614425%
t3.micro12288210%
t3.small24576220%
t3.medium24576220%
t3.large36864230%
t3.xlarge962304440%
t3.2xlarge1924608840%
T3a
t3a.nano614425%
t3a.micro12288210%
t3a.small24576220%
t3a.medium24576220%
t3a.large36864230%
t3a.xlarge962304440%
t3a.2xlarge1924608840%
T4g
t4g.nano614425%
t4g.micro12288210%
t4g.small24576220%
t4g.medium24576220%
t4g.large36864230%
t4g.xlarge962304440%
t4g.2xlarge1924608840%
Thông tin chi tiết các loại instance

Credit tiêu thụ hoặc đã được sử dụng

Đây là số credit mà các Instance đang chạy liên tục sử dụng.

Số CPU credit tiêu thụ trong mỗi phút = Số vCPU (chiếc) × Tỷ lệ sử dụng CPU (%) × 1 phút

Credit được lưu trữ

Vì lượng sử dụng của Instance nhỏ hơn tỷ lệ sử dụng Baseline nên credit CPU không được tiêu thụ.

Credit được lưu trữ = Credit kiếm được – Credit tiêu thụ (cả hai đều thấp hơn Baseline)

Ví dụ: Trong trường hợp t3.nano có tỷ lệ sử dụng CPU 2%, nếu tỷ lệ sử dụng CPU thấp hơn Baseline là 5% trong một giờ, credit lưu trữ được tính như sau.

Credit CPU lưu trữ = (Số credit kiếm được mỗi giờ) – (Số credit tiêu thụ mỗi giờ)

6 – 2 (Số vCPU) × 2 (Tỷ lệ sử dụng CPU%) × 60 (Phút)

= 6 – 2.4

= 3.6 (Số credit được lưu trữ mỗi giờ)

Giới hạn lưu trữ Credit

Tùy vào kích thước của Instance, mà giới hạn lưu trữ khác nhau nhưng thường bằng số lượng tối đa Credit có thể kiếm được trong vòng 24 giờ.

Ví dụ: Đối với t3.nano, giới hạn lưu trữ Credit = 24 × 6 = 144 Credit

CPU Credit khởi động 

Đây là Credit chỉ áp dụng cho Instance T2 được đặt ở chế độ chuẩn.

Credit khởi động được phân bổ cho Instance T2 mới và có giới hạn về số lượng CPU Credit. Khi khởi động ở chế độ chuẩn, có khả năng burst vượt qua Baseline.

CPU Credit dư 

(※ chỉ áp dụng cho chế độ Unlimited)

Đây là Credit được sử dụng bởi một Instance có số dư Credit lưu trữ đã hết. Credit dư được thiết kế để các Instance burst duy trì hiệu suất cao trong thời gian dài, chỉ có thể sử dụng trong chế độ Unlimited. Số dư Credit dư được sử dụng để xác định số lượng Credit mà một Instance ở chế độ Unlimited sử dụng để burst.

Các loại CPU Credit

Có hai chế độ tiêu thụ Credit: “Standard” và “Unlimited”.

Standard Mode (Chế độ chuẩn): Khi số dư CPU Credit trở thành 0, tỷ lệ sử dụng CPU chỉ có thể sử dụng tới mức Baseline. Khi CPU ở trạng thái rỗi, số dư CPU Credit sẽ phục hồi.

Unlimited Mode (Chế độ không giới hạn): Trường hợp chạy Instance với tỷ lệ sử dụng CPU cao trong thời gian dài, sau khi số CPU credit bằng 0 thì sẽ phát sinh phí bổ sung cố định trên mỗi giờ vCPU. Tỷ lệ sử dụng CPU trung bình của Instance trong 24 giờ hoặc tuổi thọ của Instance,trường hợp tỷ lệ sử dụng CPU trung bình của Instance xuống dưới mức Baseline tuỳ thuộc và thời gian nào ngắn hơn thì giá của Instance hàng giờ sẽ tự động bao gồm tất cả các chuỗi sử dụng CPU.

CPU Credit có hiệu lực trong bao lâu?

CPU Credit của các Instance đang chạy có thể được sử dụng mà không hết hạn.

Đối với T2, cần lưu ý rằng khi một Instance dừng, số dư CPU Credit không thể tiếp tục sử dụng khi Instance khởi động lại. Nếu bạn dừng một Instance T2, tất cả CPU Credit đã lưu trữ sẽ bị mất.

Đối với T4g, T3a và T3, số dư CPU Credit được giữ trong 7 ngày sau khi Instance dừng, sau đó sẽ mất. Ngay cả khi dừng một Instance, nếu khởi động lại Instance trong vòng 7 ngày, Credit sẽ không bị mất và có thể tiếp tục sử dụng.

Tổng kết

“Số dư CPU Credit” của các Instance T, mặc dù sử dụng với giá rẻ, nhưng có thể ảnh hưởng đến hiệu suất và việc thanh toán. Trong lúc có số dư CPU Credit thì sẽ không có giới hạn về tỷ lệ sử dụng CPU. Tuy nhiên, khi số dư CPU Credit bằng 0 thì sẽ có giới hạn về tỷ lệ sử dụng CPU. Kết quả là, tốc độ phản hồi của web có thể chậm, gây ra sự không hài lòng từ người dùng web.

Trường hợp thường xuyên sử dụng với tải cao, thì nên xem xét các loại Instance khác ngoài T.

Ngoài ra, nên giám sát số dư CPU Credit. Nếu số dư CPU Credit bằng 0, tỷ lệ sử dụng CPU sẽ giảm xuống mức Baseline và phát sinh phí. Thiết lập giám sát bằng cách sử dụng CloudWatch’s Burst Performance Instance bổ sung vào CloudWatch Metrics.

Sử dụng AWS có lợi hơn nhiều so với việc kí hợp đồng trực tiếp.
Được giảm giá 3% cho chi phí sử dụng AWS và có thể thanh toán bằng hóa đơn VND.

Tham khảo: 【初心者向け】Amazon EC2のCPUクレジットとは