Чому спот-ціна AWS EC2 перевищує ціну на вимогу?


27

Я вчора намагався надати точкові екземпляри через Ansible, і майже всі мої запити зазнали невдачі, навіть коли я виставив свою спотову ціну == ціна за запитом цього екземпляра.

Отже, переглянувши графік точкового ціноутворення, я виявив щось дуже цікаве:

введіть тут опис зображення

Пряма ціна примірника в нас-схід-1а більше, ніж ціна за запитом, що мене бентежило. [насправді, ~ в 5 разів вище]

Чи не кращі точкові екземпляри бажані за низьку вартість? Якщо так, то чому ціна вище, ніж ціна за запитом?

Згідно з документами AWS :

Точкові екземпляри надають вам доступ до невикористаної ємності Amazon EC2 із стрімкими знижками щодо цін на вимогу.

Також це означає, що люди торгують за ціною за запитом? Якщо так, то чому так? Хіба їм не краще з екземпляром на вимогу?

Або я зрозумів поняття точкових примірників неправильно?


Якщо ціна спот завжди була меншою, ніж ціна за запитом, чому б взагалі існувала ціна за запитом?
Зак Ліптон

2
Зах, бо Amazon може припинити ваш примірник за бажанням, якщо є більш високий учасник.
Xiong Chiamiov

1
Незалежно від того, що є причиною цього - ви можете мінімізувати ризик, застосовуючи правила найкращих практик для точкових примірників - aws.amazon.com/ec2/spot/getting-started - створити запит для стільки типів екземплярів і стільки ж AZ Наскільки це можливо, таким чином ви можете пом'якшити ймовірність того, що ви заплатите більше. Якщо ви платите трохи більше за частину часу і значно менше у всіх інших випадках, це все одно вигідно для вас. Крім того, схоже, що алгоритм з багатьма маленькими екземплярами може бути набагато безпечнішим, що великий навантаження на один вузол aws.amazon.com/ec2/spot/instance-advisor
Петро Хлоупек

Відповіді:


23

Це насправді чудовий приклад, коли люди трохи зловживають місцем. Люди говорять: "Наші навантаження дуже важливі, але ми не хочемо платити по повній ціні попиту", тому вони встановлюють ціну ставки вище, ніж на вимогу, за умови, що це дуже навряд чи буде скасовано, але все ж хочуть отримати пропозицію "найдешевшої можливої" місця.

Були випадки, коли люди вводять, наприклад, 1000 доларів (мені принаймні один раз це траплялося), тому що вони хочуть користі від спотового ринку. Звичайно, природно, в якийсь момент попит приходить, і спотова ціна ЗАБАВЛЯЄ, щоб люди платили вище, ніж попиту.

Те, як працює спотовий ринок, полягає в тому, що в Amazon є X екземплярів запасної ємності, і вони рахуються зверху вниз, поки не заповнять потребу в усіх X екземплярах. Тоді «ціна» - це найнижча ціна, за якою вони можуть виконати ці X випадки.

Тож уявіть, що в Amazon є 10 000 екземплярів - добре, вони рахуватимуть (скажімо) 0,43 долара, поки не виконають ці 10 000 екземплярів. Але якщо ця пропозиція раптом знизиться до 100 примірників, то, можливо, кілька людей виставлять ставки за ціною 10000 доларів за свої 100 екземплярів, раптом вони заплатять ці 10 доларів за годину.

Tl; dr. Зрозумійте, як працює спот, і встановіть максимальну суму, яку ви готові платити.


12

Для цього є 2 причини:

  • Багато користувачів користуються точковим екземпляром у певний час (подумайте про пакетну обробку, завантажте 100 машин як точковий екземпляр і відіжміть).

  • Якщо ви не сплачуєте ціну торгів, ви платите поточну ціну спот. Ціна торгів є точкою відсічення. Якщо поточна ціна спот перевищує ціну торгів, AWS припиняє цей примірник.

Останнє ввімкнення також є причиною того, що деякі користувачі будуть масово завищувати ціни на місцях. Вони не хочуть, щоб їх екземпляр закривався так часто, тому вони пропонують ціну настільки високу, що спот ціна ніколи не досягне. Оскільки вони будуть платити лише поточну спотову ціну, екземпляр буде набагато дешевшим у 99% часу.


Отже, на цій картинці в моєму питанні спот-ціна становить 2,15 долара о 18:00, правда? що означає, що люди все ще платять $ 2,15 за примірник, коли вони можуть платити ціну за запитом. Чому так?
Dawny33

1
дивіться мою відповідь (про те, щоб опублікувати)
Генрі

@ Dawny33 Іноді ціна лише на короткий час піднімається над порогом. Перехід від ціноутворення до ціноутворення на вимогу передбачає відтворення примірника на звичайному екземплярі ec2. Якщо ціна знову знизиться, екземпляр за запитом буде знищений, новий точковий екземпляр, ест ... Таким чином, втрачаючи час, екземпляр може бути корисним. Деякі люди не будуть думати , що це варто зусиль , і буде використовувати тільки вибіркові екземпляри
Терн

6

Корисний фрагмент інформації для розуміння того, чому хтось зробив би ставку за ціною за запитом, можна знайти у Вступі до точкових примірників :

Точкові екземпляри можна використовувати, щоб допомогти вам задовольнити випадкові потреби у великих обсягах обчислювальної спроможності (зауважте, що обмеження за точковими екземплярами за замовчуванням становить 100 проти ліміту за замовчуванням 20 для інстанцій на вимогу.) Якщо ваші потреби термінові, ви можете вказати висока максимальна ціна (можливо, навіть вища, ніж ціна за запитом), що підвищить відносний пріоритет вашого запиту та дозволить отримати доступ до максимально швидкої ємності, враховуючи інші запити та наявний на той час потенціал точкової інстанції.

Якщо у вас великий попит на вашу послугу (можливо, пов’язаний з іншим популярним сайтом - див. Ефект Slashdot ), то ставка вище ціни за запитом для певного екземпляра допоможе вам отримати доступ до набагато більшої кількості випадків, оскільки відзначено документом.

Звичайно, це не є стійким у довгостроковій перспективі, і ви отримаєте набагато вигіднішу угоду для довгострокових обчислень, купуючи екземпляри на вимогу (плюс є менший ризик перехитрити!).

Якщо у вас є ситуація, коли вам потрібно багато обчислювальної потужності, швидше - більше, ніж ви могли отримати, лише купуючи екземпляри на вимогу - перевищення ставок може мати сенс.


3

Якщо ви уважно придивитесь до діаграм, то побачите, що шип завжди дуже короткий - достатньо часу, щоб автоматизовані системи моніторингу, написані власником, граціозно припинили ці системи. Крім того, ви будете час від часу виявляти, що ціна знижується до 0 одразу після спаду. Це тому, що всі системи в цьому центрі обробки даних використовуються як на вимогу, так як немає систем, доступних для точкового ціноутворення, ціна практично не дорівнює.

Коли ваш точковий екземпляр позначений для припинення, повідомлення, яке вказує на це, буде доступне в системі на локальному uri метаданих http://169.254.169.254/latest/meta-data/spot/termina-time . До його закінчення пройде 3 хвилини . Більше, ніж достатньо часу в більшості випадків, щоб автоматично обробляти припинення. Призначення ставок вище ціни попиту необхідне лише для розгортань, на які потрібно більш ніж кілька хвилин, щоб граціозно припинити.

Якщо неможливо розробити систему, щоб вона граціозно припинилася, архівуйте дані тощо за 3 хвилини, ви можете розмістити ставку вище, ніж ціна попиту, щоб отримати час. Система навіть може бути спроектована таким чином, щоб проактивно моніторити поточну ціну спот і змінити обмін, перш ніж ціна перевищить. Але для тих часів, коли це станеться, вам потрібно буде прийняти ділове рішення про те, скільки варто часу, щоб граціозно припинити.

Нерозумно платити $ 100 / годину протягом 4-5 годин, щоб зберегти вашу систему. Однак, якщо вашій системі знадобиться 30 хвилин, щоб всі процеси граціозно завершити, ви можете прийняти бізнес-рішення, наскільки варто потенційно втратити будь-які дані або погіршити послугу з горизонтальним масштабом. Сайт електронної комерції з чистим прибутком в 10000 доларів на годину, безумовно, може дозволити собі заплатити 1000 доларів, щоб тримати два екземпляри в точці від 15 до 30 хвилин під час створення систем попиту та архівування даних.

Веб-програма може використовувати Elastic Load Balancer, щоб допомогти в автоматичному вирішенні питання про припинення. Розумний реалізатор створив би набір сценаріїв для обробки сповіщення. Вони могли б підтримувати 2 екземпляри з низькою вартістю на вимогу, які збалансовані навантаженням, а потім використовувати до півдюжини систем середньої вартості через точкові екземпляри, щоб підтримувати високу продуктивність і витрачати менше однієї системи на вимогу однакової потужності.

Залиште 3 з них платити до 100 доларів на годину, а 3 з них платять лише до половини ціни за запитом. Як AWS припиняє екземпляри, ELB налаштовується автоматично. Даючи автоматизованій системі до години, щоб підлаштувати лише 200 доларів.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.