Tại sao giá giao ngay của AWS EC2 lớn hơn giá theo yêu cầu?


27

Tôi đã cố gắng cung cấp các phiên bản giao ngay qua Ansible vào ngày hôm qua và gần như tất cả các yêu cầu của tôi đều thất bại, ngay cả khi tôi đặt giá giao ngay == giá theo yêu cầu của trường hợp đó.

Vì vậy, khi tôi nhìn vào biểu đồ giá tại chỗ, tôi đã tìm thấy một thứ rất thú vị:

nhập mô tả hình ảnh ở đây

Giá giao ngay của ví dụ ở chúng tôi-đông-1a nhiều hơn giá theo yêu cầu, khiến tôi bối rối. [trên thực tế, cao hơn ~ 5 lần]

Không có trường hợp tại chỗ ưa thích cho chi phí thấp? Nếu có, tại sao giá cao hơn giá theo yêu cầu?

Theo tài liệu của AWS :

Các phiên bản giao ngay cung cấp cho bạn quyền truy cập vào dung lượng Amazon EC2 chưa sử dụng với mức chiết khấu cao so với giá theo yêu cầu.

Ngoài ra, điều này có nghĩa là mọi người đang đấu thầu trên giá theo yêu cầu? Nếu có thì tại sao vậy? Họ có tốt hơn với một ví dụ theo yêu cầu không?

Hay tôi đã hiểu khái niệm về các trường hợp tại chỗ sai?


Nếu giá giao ngay luôn thấp hơn giá theo yêu cầu, tại sao giá theo yêu cầu lại tồn tại?
Zach Lipton

2
Zach, vì Amazon có thể chấm dứt cá thể của bạn theo ý muốn nếu có người trả giá cao hơn.
Xiong Chiamiov

1
Bất kể lý do đằng sau nó là gì - bạn có thể giảm thiểu rủi ro bằng cách thực hiện các quy tắc thực hành tốt nhất cho các trường hợp tại chỗ - aws.amazon.com/ec2/spot/getting-started - tạo yêu cầu cho nhiều loại thể hiện và nhiều AZ càng tốt, theo cách đó bạn có thể giảm thiểu khả năng bạn sẽ trả nhiều tiền hơn. Nếu bạn trả nhiều hơn một chút trong một phần nhỏ thời gian và thực chất ít hơn trong tất cả các trường hợp khác, điều này vẫn có lợi cho bạn. Ngoài ra, có vẻ như thuật toán với nhiều trường hợp nhỏ có thể an toàn hơn nhiều khi khối lượng công việc nút đơn lớn aws.amazon.com/ec2/spot/instance-advisor
Petr Chloupek

Câu trả lời:


23

Đây thực sự là một ví dụ tuyệt vời về những người hơi lạm dụng điểm. Mọi người đang nói 'Khối lượng công việc của chúng tôi thực sự quan trọng nhưng chúng tôi không muốn trả đầy đủ theo giá cầu', vì vậy họ đặt giá thầu cao hơn so với yêu cầu với giả định rằng rất khó bị chấm dứt, nhưng vẫn muốn nhận được giá giao ngay 'rẻ nhất có thể'.

Đã có trường hợp mọi người tham gia, ví dụ, 1000 đô la (tôi đã được thông báo về ít nhất một lần điều này xảy ra) vì họ muốn lợi ích của thị trường giao ngay. Tất nhiên, tại một số thời điểm, nhu cầu xuất hiện và SOARS giá giao ngay để khiến mọi người trả cao hơn so với nhu cầu.

Cách thức hoạt động của thị trường giao ngay là Amazon có dung lượng dự phòng X và họ tính từ trên xuống cho đến khi họ đáp ứng nhu cầu cho tất cả các phiên bản X. 'Giá', sau đó, là mức giá thấp nhất mà tại đó họ có thể đáp ứng các trường hợp X đó.

Vì vậy, hãy tưởng tượng Amazon có 10.000 trường hợp - họ sẽ đếm ngược đến (giả sử) 0,43 đô la cho đến khi họ hoàn thành 10.000 trường hợp đó. Nhưng nếu nguồn cung đó đột nhiên giảm xuống 100 trường hợp, thì có thể một vài người đặt giá thầu 10.000 đô la cho 100 trường hợp của họ, đột nhiên họ sẽ trả 10 nghìn đô la mỗi giờ.

Tl; dr Hiểu cách hoạt động của điểm và đặt giới hạn bạn chuẩn bị thanh toán.


12

Có 2 lý do cho việc này:

  • Rất nhiều người dùng đang sử dụng cá thể tại chỗ đôi khi (Hãy suy nghĩ về xử lý hàng loạt, khởi động 100 máy làm ví dụ tại chỗ và xử lý nhanh).

  • Đối với một trường hợp giao ngay bạn không trả giá đấu thầu, bạn phải trả giá giao ngay hiện tại. Giá đấu thầu là điểm cắt. Nếu giá giao ngay hiện tại vượt quá giá đấu thầu, AWS sẽ chấm dứt trường hợp đó.

Điều cuối cùng này cũng là lý do mà một số người dùng sẽ ồ ạt trả giá trên giá giao ngay. Họ không muốn cá thể của mình tắt máy thường xuyên, vì vậy họ trả giá cao đến mức giá giao ngay sẽ không bao giờ đạt được. Vì họ sẽ chỉ trả giá giao ngay hiện tại, ví dụ sẽ rẻ hơn rất nhiều 99% thời gian.


Vì vậy, trong bức ảnh này trong câu hỏi của tôi, giá giao ngay là $ 2,15 lúc 18:00, phải không? có nghĩa là mọi người vẫn trả 2,15 đô la cho một ví dụ, khi họ có thể trả giá theo yêu cầu. Tại sao như vậy?
Dawny33

1
xem câu trả lời của tôi (Sắp đăng nó)
Henry

@ Dawny33 Đôi khi giá chỉ tăng vượt ngưỡng trong một thời gian ngắn. Chuyển đổi từ giá tại chỗ sang theo yêu cầu liên quan đến việc tạo lại thể hiện trên một thể hiện ec2 bình thường. Nếu giá giảm trở lại, thể hiện theo yêu cầu đã bị hủy, thể hiện tại chỗ mới, v.v ... Do đó, mất thời gian, thể hiện có thể hữu ích. Một số người sẽ không nghĩ rằng việc này đáng để nỗ lực và sẽ chỉ sử dụng các trường hợp tại chỗ
Thern

6

Một chút thông tin hữu ích để hiểu lý do tại sao một người nào đó sẽ trả giá theo giá theo yêu cầu có thể được tìm thấy trong phần Giới thiệu về các trường hợp tại chỗ :

Trường hợp tại chỗ có thể được sử dụng để giúp bạn đáp ứng nhu cầu không thường xuyên cho số lượng lớn công suất tính toán (lưu ý rằng giới hạn mặc định cho Trường hợp tại chỗ là 100 so với giới hạn mặc định là 20 đối với Trường hợp theo yêu cầu.) Nếu bạn có nhu cầu khẩn cấp, bạn có thể chỉ định giá tối đa cao (thậm chí có thể cao hơn giá theo yêu cầu), điều này sẽ tăng mức độ ưu tiên tương đối của yêu cầu của bạn và cho phép bạn có quyền truy cập vào khả năng ngay lập tức nhất có thể với các yêu cầu khác và khả năng của Instance tại thời điểm đó.

Nếu bạn có nhu cầu dịch vụ của mình tăng đột biến (có lẽ được liên kết từ một trang web phổ biến khác, hãy xem hiệu ứng Slashdot ), đặt giá cao hơn giá theo yêu cầu cho một ví dụ tại chỗ sẽ giúp bạn có quyền truy cập vào nhiều trường hợp hơn, như ghi chú của tài liệu

Tất nhiên, điều này không bền vững trong thời gian dài và bạn sẽ có được một thỏa thuận tốt hơn cho việc tính toán dài hạn bằng cách chỉ mua các trường hợp theo yêu cầu (cộng với ít rủi ro bị trả giá cao hơn!).

Nếu bạn đang ở trong một tình huống mà bạn cần rất nhiều sức mạnh tính toán, thì nhanh hơn bạn có thể nhận được từ việc chỉ mua các trường hợp theo yêu cầu mà quá mức có thể có ý nghĩa.


3

Nếu bạn nhìn vào các biểu đồ chặt chẽ, bạn sẽ thấy rằng một đột biến luôn có thời lượng rất ngắn - chỉ đủ thời gian để các hệ thống giám sát tự động được viết bởi chủ sở hữu để chấm dứt các hệ thống đó một cách duyên dáng. Ngoài ra, đôi khi bạn sẽ thấy rằng giá giảm xuống 0 ngay sau khi tăng đột biến. Đó là bởi vì tất cả các hệ thống trong trung tâm dữ liệu đó đang được sử dụng như trên các hệ thống theo yêu cầu, không có hệ thống nào có sẵn để định giá tại chỗ, giá thực sự bằng không.

Khi cá thể tại chỗ của bạn được gắn cờ để chấm dứt, một thông báo cho biết điều này sẽ có sẵn trên hệ thống tại uri dữ liệu meta cục bộ của http://169.254.169.254/latest/meta-data/spot/termination-time . Sẽ có 3 phút cho đến khi nó chấm dứt. Nhiều hơn sau đó đủ thời gian trong hầu hết các trường hợp để xử lý chấm dứt tự động. Đặt giá thầu trên giá cầu chỉ cần thiết cho các triển khai cần nhiều hơn một vài phút để kết thúc một cách duyên dáng.

Nếu không thể thiết kế hệ thống của bạn để chấm dứt một cách duyên dáng, lưu trữ dữ liệu, v.v ... trong 3 phút, bạn có thể đặt giá thầu cao hơn giá cầu để đạt được thời gian. Hệ thống thậm chí có thể được thiết kế để chủ động giám sát giá giao ngay hiện tại và trao đổi trước khi giá vượt qua. Nhưng đối với những lần như vậy, bạn sẽ cần đưa ra quyết định kinh doanh về việc nó đáng giá bao nhiêu cho thời gian chấm dứt một cách duyên dáng.

Thật ngu ngốc khi trả 100 đô la / giờ trong 4-5 giờ để giữ cho hệ thống của bạn. Tuy nhiên, nếu hệ thống của bạn mất 30 phút để chấm dứt tất cả các quy trình một cách duyên dáng, bạn có thể đưa ra quyết định kinh doanh đáng giá bao nhiêu để có khả năng mất bất kỳ dữ liệu nào hoặc làm giảm dịch vụ theo chiều ngang của bạn. Một trang web thương mại điện tử với lợi nhuận ròng 10.000 đô la một giờ chắc chắn có thể đủ khả năng trả 1000 đô la để duy trì 2 trường hợp giao ngay trong 15 đến 30 phút trong khi đưa ra các hệ thống nhu cầu và lưu trữ dữ liệu.

Ứng dụng dựa trên web có thể sử dụng Đàn hồi tải cân bằng để giúp giải quyết việc chấm dứt tự động. Một người triển khai thông minh sẽ đặt một tập các kịch bản để xử lý cảnh báo. Họ có thể duy trì 2 chi phí thấp cho các trường hợp nhu cầu được cân bằng tải - và sau đó sử dụng tới nửa tá hệ thống chi phí trung bình thông qua các trường hợp giao ngay để duy trì hiệu suất cao và chi tiêu ít hơn một hệ thống theo yêu cầu có cùng công suất.

Để lại 3 trong số họ trả tới 100 đô la / giờ và 3 trong số họ chỉ trả tới một nửa giá theo yêu cầu. Khi AWS chấm dứt các trường hợp, ELB sẽ tự động điều chỉnh. Cung cấp cho hệ thống tự động lên đến một giờ để điều chỉnh chỉ với 200 đô la.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.