Chi phí là một trong những vấn đề đầu tiên cần lưu ý khi bắt đầu làm việc với AWS. Khi bắt đầu làm quen với AWS, việc chưa nắm rõ cấu trúc của các loại chi phí đôi khi sẽ đặt người dùng vào tình trạng không hiểu sao mình lại mất tiền, và với những mục đích như tìm hiểu, làm quen với AWS thì Spot Instance sẽ cung cấp một giải pháp tuyệt vời hơn giúp bạn tiết kiệm chi phí khi làm việc với Amazon Web Service.
Bài viết này tập trung vào Spot Instance vì giải pháp này có thể giúp người dùng tiết kiệm lên tới 90% chi phí khi so với các gói như On-demand thông thường. Trong trường hợp cần tìm hiểu thêm về các loại chi phí khác, bạn có thể tham khảo bài viết Bài toán chi phí khi làm việc với AWS EC2 tại Ezidev.
Các đặc điểm nổi bật của Spot Instance
Có thể nhận được mức discount lên tới 90% so với On-demand.
Có thể định nghĩa mức giá tối đa có thể chi trả (max spot price
) và instance này thuộc về bạn khi current spot price < max price
. Điều này giúp bạn có thể kiểm soát được chi phí của mình không bị vượt quá ngưỡng giới hạn. Có 2 yếu tố chính cần lưu ý dưới đây:
- Mức giá giao ngay (spot price
) sẽ thay đổi tùy theo mức độ ưu đãi và công suất của instance.
- Nếu mức giá giao ngay vượt quá mức giá tối đa đã được đặt trước, nhìn chung thì AWS chắc chắn sẽ loại bỏ Instance của bạn và dành nó cho người trả giá cao hơn, tuy nhiên hệ thống vẫn sẽ cho bạn 02 phút để bạn có thể lựa chọn xem instance này nên được stop
hay terminate
, tất nhiên khoảng thời gian này nhìn chung không mấy ý nghĩa khi ít ai có thể ngồi canh giá liên tục và khoảng thời gian 02 phút là quá ngắn trước khi Instance bị thu hồi một cách thô thiển và không thể phục hồi.
Một chiến lược khác khi sử dụng Spot Instance có tên là Spot Block. Chiến lược này cho phép bạn có thể xác định sẵn thời gian bắt đầu và kết thúc của quá trình sử dụng (trong khoảng 1-6h). Mặc dù vẫn tuân theo các nguyên tắc chung của Spot Instance là instance sẽ bị thu hồi ngay khi mức giá đặt trước nhỏ hơn mức giá giao ngay, tuy nhiên chiến lược theo kiểu "du kích" này sẽ cung cấp khả năng kiểm soát tốt hơn cho người dùng.
Nó cũng đặc biệt hiệu quả và tiết kiệm chi phí đối với các tác vụ cần "đánh nhanh rút gọn" như các CICD pipeline hay các tác vụ xử lý dữ liệu, vốn không cần duy trì hoạt động liên tục trong thời gian dài mà chỉ cần hoạt động trong khoảng thời gian ngắn và có thể khởi tạo nhanh chóng bất cứ lúc nào.
Làm thế nào để terminate một Spot Instances?
Có một số lưu ý vô cùng quan trọng để tránh "mất tiền oan":
- Spot Instance Request chỉ có thể bị cancel khi nó ở một trong 3 trạng thái
open, active, or disabled.
- Việc Cancel Spot Request không terminate instances.
- Muốn Stop Instance gắn với Spot Request, cần Cancel Spot Request trước khi Stop Instance.
Spot Fleets
Spot Fleets = set of Spot Instances + (optional) On-Demand Instances
Spot Fleets là một giải pháp giúp tìm kiếm sự cân bằng giữa mong muốn tối ưu về mặt hiệu suất cũng như giá cả. Spot Fleets có thể tự tính toán để Launch hoặc Terminate các Instance tùy theo điều kiện đặt trước hoặc sự biến động của thị trường giao ngay. Điều này giúp người dùng có thể tối ưu phần nào về mặt chi phí cũng như hiệu suất. Tuy nhiên cần lưu ý rằng các Spot Fleets Instances cũng sẽ bị dừng khi đạt ngưỡng về cả hiệu suất cũng như giá cả.