Использование точечных виртуальных машин Azure

Применимо к: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows ✔️ Универсальные масштабируемые наборы

Точечные виртуальные машины Azure позволяют применить неиспользуемую мощность наших ресурсов. Это обеспечивает значительную экономию. В любой момент, когда эта мощность становится нужна, инфраструктура Azure вытесняет точечные виртуальные машины Azure. Это означает, что точечные виртуальные машины Azure прекрасно подходят для рабочих нагрузок, для которых допустимы прерывания, например для заданий пакетной обработки, сред разработки или тестирования, больших вычислительных рабочих нагрузок и др.

Объем доступной емкости может варьироваться в зависимости от размера, региона, времени суток и других параметров. При развертывании точечных виртуальных машин в Azure им выделяется доступная мощность (при наличии), но соглашение об уровне обслуживания для них не поддерживается. Точечная виртуальная машина Azure не дает гарантий высокого уровня доступности. В любой момент, когда эта мощность становится нужна, инфраструктура Azure вытесняет точечные виртуальные машины Azure, уведомляя пользователя об этом за 30 секунд.

YouTube video about Spot VMs and reducing operational costs of stateless workloads.

Политика вытеснения

Виртуальные машины могут быть вытеснены в зависимости от доступной емкости или настроенной вами максимальной цены. При создании точечной виртуальной машины Azure в качестве политики вытеснения можно задать Отменить распределение (по умолчанию) или Удалить.

Политика Отменить выделение переводит виртуальные машины в остановленное состояние (отменяет распределение), что позволяет повторно развернуть их позже. Однако нет гарантии, что распределение будет выполнено успешно. Освобожденные виртуальные машины будут учитываться в квоте, и вам будет выставлен счет за хранение на базовых дисках.

Если вы хотите, чтобы ваша виртуальная машина была удалена при вытеснении, можно настроить для политики вытеснения действие Удалить. Вытесненные виртуальные машины удаляются вместе с их базовыми дисками, и поэтому вы не будете платить за хранение.

Вы можете настроить получение уведомлений в виртуальной машине через подслужбу Запланированные события Azure. Вы получите информацию о предстоящем вытеснении виртуальных машин, и у вас будет 30 секунд до вытеснения для завершения всех заданий и корректной остановки работы.

Параметр Результат
Максимальная цена >= текущей цены. Виртуальная машина будет развернута, пока есть доступная емкость и не превышена квота.
Максимальная цена < текущей цены. Виртуальная машина не будет развернута. Вы получите сообщение об ошибке с информацией о том, что максимальная цена должна быть не ниже текущей цены.
Перезапуск остановленной или освобожденной виртуальной машины, если максимальная цена >= текущей цены. Если есть доступная емкость и не превышена квота, виртуальная машина будет развернута.
Перезапуск остановленной или освобожденной виртуальной машины, если максимальная цена < текущей цены. Вы получите сообщение об ошибке с информацией о том, что максимальная цена должна быть не ниже текущей цены.
Цена на виртуальную машину выросла и > максимальной цены. Виртуальная машина вытесняется. Вы получите 30-секундное уведомление перед вытеснением.
После вытеснения цена на виртуальную машину снова < максимальной цены. Виртуальная машина не будет автоматически перезапущена. Вы можете запустить виртуальную машину вручную, и она будет оплачиваться по текущей цене.
Если установлена максимальная цена -1 Виртуальная машина не будет вытесняться по критерию цены. Максимальной ценой всегда будет считаться текущая цена, вплоть до уровня стандартной цены на виртуальные машины. Цена никогда не будет превышать стандартную цену.
Изменение максимальной цены Для изменения максимальной цены виртуальную машину придется освободить. Освободите виртуальную машину, установите новую максимальную цену и обновите виртуальную машину.

Совет

Сведения о том, как в Azure создать надежную рабочую нагрузку, допускающую прерывание, см. в нашем руководстве Вытеснение точечных виртуальных машин Azure.

Ограничения

Следующие размеры не поддерживаются для точечных виртуальных машин Azure:

  • серия B;
  • Рекламные версии любого размера (например, рекламные размеры Dv2, NV, NC и H)

Azure Spot Виртуальные машины можно развернуть в любом регионе, за исключением Microsoft Azure, работающего в 21Vianet.

В настоящее время поддерживаются следующие типы предложений:

  • Соглашение Enterprise
  • Код предложения с оплатой по мере использования (003P)
  • Спонсируемый (0036P и 0136P)
  • Для поставщика облачных служб (CSP) обратитесь к Центру партнеров или обратитесь непосредственно к своему партнеру.

Цены

Цены на точечные виртуальные машины Azure зависят от региона и ценовой категории. Дополнительные сведения см. на страницах с информацией о ценах на виртуальные машины Linux и Windows.

Вы также можете запросить сведения о ценах с помощью API розничных цен Azure. Значения meterName и skuName должны содержать Spot.

Переменное ценообразование позволяет вам задать максимальную цену в долларах США (USD) с точностью до 5 знаков после запятой. Например, значение 0.98765 определяет максимальную цену 0,98765 долларов США в час. Если вы укажете для максимальной цены значение -1, виртуальная машине не будет вытесняться по критерию цены. Цена на такую виртуальную машину будет определяться меньшим из двух значений: текущая цена точечных виртуальных машин или цена на стандартные виртуальные машины, но только при условии наличия емкости и соблюдения квоты.

Журнал цен и вытеснения

Портал

При создании виртуальной машины можно увидеть исторические цены и ставки вытеснения на размер в регионе на портале. Выбрав проверка box для запуска с помощью скидки Azure Spot, ссылка появится под выбранным размером журнала цен на виртуальную машину с названием "Просмотр цен" и сравнение цен в близлежащих регионах. Выбрав эту ссылку, вы сможете просмотреть таблицу или график точечных цен на указанный размер виртуальной машины. На рисунках ниже приведены примеры цен и частот вытеснения.

Совет

Ставки вытеснения цитируются в час. Например, скорость вытеснения 10% означает, что виртуальная машина имеет 10% шансов вытеснения в течение следующего часа на основе исторических данных о вытеснениях последних 28 дней.

Диаграмма

Screenshot of the region options with the difference in pricing and eviction rates as a chart.

Table.

Screenshot of the region options with the difference in pricing and eviction rates as a table.

Azure Resource Graph

Вы можете с помощью программных средств получить доступ к соответствующим данным об SKU Точечной виртуальной машины, используя Azure Resource Graph. Получите журнал цен за последние 90 дней и показатель частоты вытеснения за последние 28 дней, чтобы определить, какой номер SKU лучше всего соответствует вашим потребностям.

Основные преимущества:

  • запрос данных о частоте вытеснения точечных виртуальных машин и ценах на эти виртуальные машины с помощью программных средств (ARM или обозревателя ARG на портале Azure); 
  • Создайте пользовательский запрос для извлечения определенных данных, относящихся к вашему сценарию, с возможностью фильтрации по различным параметрам, таким как SKU и регион
  • Простое сравнение данных между несколькими регионами и номерами SKU
  • Поиск другого номера SKU или региона с более низкой ценой и /или тарифом вытеснения

Опробуйте приведенные ниже примеры запросов для журнала цен и показателя вытеснения точечных виртуальных машин, используя обозреватель ARG на портале Azure. Данные журнала цен на точечную виртуальную машину и частоты вытеснения доступны в таблице SpotResources. 

Пример запроса журнала цен на точечные виртуальные машины:

SpotResources 
| where type =~ 'microsoft.compute/skuspotpricehistory/ostype/location' 
| where sku.name in~ ('standard_d2s_v4', 'standard_d4s_v4') 
| where properties.osType =~ 'linux' 
| where location in~ ('eastus', 'southcentralus') 
| project skuName = tostring(sku.name), osType = tostring(properties.osType), location, latestSpotPriceUSD = todouble(properties.spotPrices[0].priceUSD) 
| order by latestSpotPriceUSD asc 

Пример запроса данных о частоте вытеснения точечных виртуальных машин:

SpotResources 
| where type =~ 'microsoft.compute/skuspotevictionrate/location' 
| where sku.name in~ ('standard_d2s_v4', 'standard_d4s_v4') 
| where location in~ ('eastus', 'southcentralus') 
| project skuName = tostring(sku.name), location, spotEvictionRate = tostring(properties.evictionRate) 
| order by skuName asc, location asc

Кроме того, попробуйте получить данные журнала цен и частоты вытеснения с помощью REST API ARG.

Часто задаваемые вопросы

Вопрос. Можно ли считать, что после создания точечная виртуальная машина Azure ничем не отличается от стандартной?

Ответ. Да, за исключением того, что для точечных виртуальных машин Azure не предоставляется соглашение об уровне обслуживания и они могут быть вытеснены в любое время.

Вопрос. Что делать, если вытеснена виртуальная машина, а емкость по-прежнему нужна?

Ответ. Если емкость вам нужна без промедлений, используйте стандартные виртуальные машины вместо Точечных виртуальных машин Azure.

Вопрос. Как управляются квоты для точечных виртуальных машин Azure?

Ответ. Точечные виртуальные машины Azure будут иметь отдельный пул квот. Эти квоты совместно используются всеми точечными виртуальными машинами и экземплярами масштабируемых наборов. Дополнительные сведения см. в статье Подписка Azure, границы, квоты и ограничения службы.

Вопрос. Можно ли запросить дополнительную квоту для точечных виртуальных машин Azure?

Ответ. Да, вы можете отправить запрос на увеличение квоты для Точечных виртуальных машин Azure, используя стандартный процесс запроса квот.

Вопрос. Где можно задать вопрос?

Ответ. Вы можете опубликовать и пометить свой вопрос с azure-spot помощью Q&A.

Вопрос. Как изменить максимальную цену для точечной виртуальной машины?

Ответ. Прежде чем можно будет изменить максимальную цену, необходимо освободить виртуальную машину. Затем можно изменить максимальную цену на портале в разделе Конфигурация для виртуальной машины.

Следующие шаги

Используйте интерфейс командной строки, портал, шаблон ARM или PowerShell для развертывания точечных виртуальных машин Azure.

Вы также можете развернуть масштабируемый набор с помощью экземпляров точечных виртуальных машин Azure.

Если при выполнении возникнут ошибки, изучите статью Коды ошибок.