EC2 Spot Instance là một lựa chọn giúp tối ưu chi phí sử dụng EC2 bằng các tận dụng tài nguyên dư thừa của AWS với giá giảm đến 90% so với On-Demand Instance. Tuy nhiên, Spot Instance có thể bị AWS thu hồi bất cứ lúc nào. Trong bài viết này, hãy cùng mình tìm hiểu chi tiết về cơ chế hoạt động, cách định giá, cách giảm thiểu rủi ro mất phiên bản, cũng như cách tối ưu hóa chi phí với Spot Fleet.
Xem thêm:
AWS IPv4 Public – Cách tính phí mới nhất
1. EC2 Spot Instance là gì?
EC2 Spot Instance là các máy ảo trên AWS được cung cấp từ nguồn tài nguyên dư thừa của Amazon với giá thấp hơn On-Demand Instance. Tuy nhiên, AWS có thể thu hồi Spot Instance bất cứ lúc nào.
Ưu điểm:
- Tiết kiệm chi phí (giảm đến 90% so với On-Demand).
- Mở rộng quy mô linh hoạt mà không tốn quá nhiều chi phí.
- Hỗ trợ nhiều loại khối lượng công việc khác nhau, từ phân tích dữ liệu đến CI/CD pipelines.
Nhược điểm:
- Có thể bị AWS thu hồi.
- Không phù hợp với ứng dụng quan trọng, như cơ sở dữ liệu hoặc hệ thống yêu cầu tính sẵn sàng cao.
Khi nào nên sử dụng Spot Instance:
- Xử lý hàng loạt (Batch Processing) – Phân tích dữ liệu, AI/ML training.
- CI/CD Pipelines – Chạy thử nghiệm tự động, xây dựng ứng dụng.
- Dịch vụ web không trạng thái (Stateless Applications) – Backend có thể mở rộng.
- Xử lý video (Rendering & Transcoding) – Chỉnh sửa, mã hóa video.
Không phù hợp với:
- Cơ sở dữ liệu (Databases) – Dữ liệu dễ mất khi bị thu hồi.
- Dịch vụ quan trọng (Critical Applications) – Không thể bị gián đoạn.
2. Chi phí Spot Instance
AWS sử dụng mô hình định giá động dựa trên cung và cầu. Giá Spot Instance thay đổi liên tục, do đó bạn phải đặt một mức giá tối đa (Max Price) mà bạn sẵn sàng trả.
Nguyên tắc hoạt động:
- Nếu giá Spot thấp hơn giá tối đa của bạn, phiên bản EC2 tiếp tục chạy.
- Nếu giá Spot cao hơn giá tối đa, phiên bản EC2 bị thu hồi.
Các yếu tố ảnh hưởng đến giá Spot:
- Khả dụng của tài nguyên AWS – Nếu còn dư nhiều tài nguyên, giá sẽ rẻ.
- Loại phiên bản EC2 – Các phiên bản phổ biến có thể có giá cao hơn.
- Khu vực và vùng sẵn sàng AWS (AZ) – Mỗi khu vực có mức giá khác nhau.
3. Quản lý việc bị thu hồi của Spot Instance
Vì Spot Instance có thể bị thu hồi, AWS cung cấp một thời gian gia hạn 2 phút để bạn chuẩn bị. Trong thời gian này, bạn có hai lựa chọn:
Dừng (Stop) Instance:
- EC2 sẽ tắt nhưng giữ lại dữ liệu trên EBS (Elastic Block Store).
- Khi giá Spot giảm xuống mức cho phép, bạn có thể khởi động lại phiên bản.
Xóa (Terminate) Instance:
- Phiên bản EC2 bị xóa hoàn toàn.
- Phù hợp với khối lượng công việc không yêu cầu trạng thái (stateless workloads).
4. Quy trình tạo và xóa AWS EC2 Spot Instances
Quy trình xử lý request Spot Instance:
1. Tạo yêu cầu Spot (Create request) với các thông tin:
- Giá tối đa
- Số lượng instance mong muốn
- Thông số kỹ thuật của instance
- Loại yêu cầu: one-time (một lần) hoặc persistent (liên tục)
- Thời gian hiệu lực (Valid from, Valid until)
2. Kết quả của request Spot
- Nếu không thành công, yêu cầu sẽ bị từ chối (Request failed).
- Nếu thành công, Spot Instances sẽ được khởi chạy (Launch instances).
3. Quản lý vòng đời của Spot Instances:
- Nếu là yêu cầu one-time, instance sẽ bị ngắt vĩnh viễn.
- Nếu là yêu cầu persistent, nó có thể được tự động khởi động lại (Start) hoặc bị dừng (Stop) tùy theo chính sách.
Trạng thái của request Spot Instances:
- Khi request được tạo, nó sẽ ở trạng thái open.
- Nếu request không thành công, nó sẽ chuyển sang trạng thái failed.
- Nếu được chấp nhận, nó sẽ chuyển sang active.
- Một request active có thể chuyển sang:
- cancelled (bị hủy)
- closed (đóng) nếu là yêu cầu one-time
- disabled nếu là yêu cầu persistent nhưng không còn hoạt động
- Yêu cầu có thể quay lại trạng thái open nếu là loại persistent.
Lưu ý:
Chỉ có thể hủy yêu cầu Spot Instance ở trạng thái open, active, hoặc disabled.
Nếu bạn xóa Spot Instance trước, Spot Request vẫn còn và AWS sẽ tạo lại phiên bản mới.
Vì vậy, luôn phải hủy Spot Request trước, rồi mới xóa phiên bản.
5. Spot Block
Nếu không muốn Spot Instance bị thu hồi trong một khoảng thời gian nhất định, bạn có thể sử dụng Spot Block.
Đặc điểm của Spot Block:
- Giữ nguyên Spot Instance trong 1 đến 6 giờ.
- Không bị gián đoạn, trừ trường hợp hiếm hoi AWS thu hồi do hết tài nguyên.
6. Spot Fleet
Spot Fleet là một tập hợp Spot Instances và On-Demand Instances, giúp tự động tìm kiếm tài nguyên với giá thấp nhất và khả dụng cao nhất, giúp tối ưu chi phí mà vẫn đảm bảo hiệu suất.
Cách hoạt động:
- Bạn định nghĩa nhiều loại instance, vùng, giá tối đa.
- AWS chọn lựa thông minh các instance có giá tốt nhất.
- Giúp đảm bảo công suất tối đa với chi phí tối thiểu.
Chiến lược phân bổ Spot Fleet:
- Lowest Price – Chọn instance rẻ nhất.
- Diversified – Phân bổ phiên bản trên nhiều nhóm để tăng tính sẵn sàng.
- Capacity Optimized – Ưu tiên nhóm có dung lượng lớn nhất.
- Price-Capacity Optimized – Cân bằng giữa giá và dung lượng.
EC2 Spot Instance là một trong những cách hiệu quả nhất để giảm chi phí AWS. Cảm ơn bạn đã tham khảo AWS Certified Solutions Architect Associate trên ttnguyen.net
Bài viết cùng chủ đề: