Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Гибкость размера экземпляра (ISF) — это функция резервирования Azure, которая позволяет автоматически применять одну покупку резервирования для нескольких SKU, а не блокироваться на одного точного размера. Вместо того, чтобы требовать от клиентов прогнозирования и резервирования определённого SKU, ISF динамически применяет преимущества резервирования на основе использования, если ресурсы принадлежат той же группе гибкости. Это гарантирует, что клиенты продолжают получать зарезервированные цены, даже если рабочие нагрузки масштабируются вверх или вниз или перемещаются между совместимыми размерами, уменьшая операционные издержки и улучшая использование резервов.
Как работает гибкость размера экземпляра
Каждая служба с поддержкой резервирования определяет группы гибкости размера экземпляра, в которых поддерживается ISF. Только артикулы в той же группе гибкости могут использовать совместно преимущество резервирования. Например, несколько размеров виртуальных машин в одном семействе могут находиться в одной группе, а размеры в другом семействе — нет.
В группе гибкости каждый номер SKU имеет относительное соотношение:
- Меньшие размеры имеют более низкие коэффициенты.
- Большие размеры имеют более высокие коэффициенты.
При покупке бронирования вы обязываетесь на определенное количество. Корпорация Майкрософт применяет преимущество резервирования к запущенному правомочному использованию до его исчерпания. Коэффициенты являются относительными единицами, а не ценами.
Корпорация Майкрософт постоянно оценивает текущее использование и предоставляет скидки на резервирование подходящим ресурсам по принципу «первым пришел — первым получил» в рамках области резервирования. Если использование превышает приобретенное количество, остальные расходы выставляются по тарифам по мере использования. Назначение вручную не требуется.
Примеры
Пример виртуальной машины
При наличии резервированного экземпляра виртуальной машины, оптимизированного для гибкости размера экземпляра, приобретенное вами резервирование может применяться к размерам виртуальных машин в той же группе гибкости размера экземпляра. Другими словами, при покупке зарезервированного экземпляра виртуальной машины любого размера в группе гибкости экземпляров, этот экземпляр распространяется на все размеры в пределах группы. Например, если вы покупаете резервирование для размера виртуальной машины, указанного в серии DSv2, например Standard_DS3_v2, скидка на резервирование может применяться к другим размерам, перечисленным в той же группе гибкости размера экземпляра:
Standard_DS1_v2 Standard_DS2_v2 Standard_DS3_v2 Standard_DS4_v2 Но скидка на резервирование не применяется к размерам виртуальных машин, которые перечислены в различных группах гибкости размеров экземпляров, таких как SKU серии DSv2 для высокопроизводительной памяти: Standard_DS11_v2, Standard_DS12_v2 и т. д.
В группе гибкости размеров экземпляров количество виртуальных машин, на которые применяется скидка на резервирование, зависит от выбранного размера виртуальной машины при покупке. Также оно зависит от размеров используемых виртуальных машин. Столбец коэффициента позволяет сравнить относительную занимаемую память для каждого размера виртуальной машины в этой группе гибкости размера экземпляра. Используйте значение коэффициента, чтобы вычислить, как скидка на резервирование применяется к используемым виртуальным машинам.
Пример Microsoft Foundry
Предположим, что вы покупаете глобальное резервирование на 300 PTU для зарезервированной пропускной способности Microsoft Foundry.
- Если вы развертываете 250 глобальных ПТП для Azure OpenAI Service и 50 глобальных ПТП для DeepSeek в одном регионе, все 300 ПТП покрыты резервированием.
Глобальные, зоны данных и региональные резервирования не являются взаимозаменяемыми, поэтому для каждого типа развертывания требуется собственное резервирование.
Другие службы
Сопоставление преимуществ резервирования не ограничивается резервированиями виртуальных машин. Аналогичное поведение резервирования для конкретной службы также существует для других служб, и вы можете найти подробные сведения о отдельных документах для каждого типа резервирования.
Извлечение коэффициентов гибкости размера экземпляра с помощью API каталогов Azure
В этом разделе описывается, как использовать API каталогов резервирования Azure для извлечения коэффициентов гибкости размера экземпляра (ISF) для резервирования Azure. ISF позволяет гибко применять преимущества резервирования для различных размеров в пределах одного семейства ресурсов и региона. Это относится к различным типам резервирования Azure, включая Virtual Machines, кэш Redis Azure и другие поддерживаемые службы.
Что вы узнаете
Использование API каталогов Azure с помощью PowerShell для извлечения коэффициентов гибкости размера экземпляров для различных типов резервирования Azure, создания CSV-файлов ISF и обработки различных типов ресурсов, поддерживающих ISF.
Необходимые условия
- Подписка Azure с соответствующими разрешениями
- Доступ к API управления ресурсами Azure
- PowerShell с модулем Az.Reservations (примеры PowerShell)
- Понимание типов ресурсов Azure, для которых вы хотите создать коэффициенты ISF
Структура CSV-файла ISF
Полученный CSV-файл содержит три столбца:
| колонна | Описание |
|---|---|
InstanceSizeFlexibilityGroup |
Имя группы гибкости (например, Av2 Series, "General Purpose Gen5") |
ArmSkuName |
Имя SKU Azure Resource Manager (например, "Standard_A1_v2", "GP_Gen5_2") |
Ratio |
Коэффициент гибкости для SKU в рамках своей группы |
Справочник по API
Для разработчиков, которые предпочитают использовать REST API напрямую, см. документацию по REST API каталога резервирования Azure.
Информация об ISF-коэффициенте содержится в ответе API в массиве каждого элемента каталога skuProperties. Найдите свойства со следующими именами:
-
ReservationsAutofitGroup— Содержит имя группы гибкости -
ReservationsAutofitRatio— Содержит значение коэффициента для этого номера SKU
Нормализация коэффициентов ISF
Необработанные коэффициенты ISF из API и PowerShell не всегда начинаются с 1 наименьшего SKU в группе. Например, BS Series группа начинается с 0.25 и Ddsv5 Series начинается с 2. Чтобы упростить сравнение коэффициентов, можно нормализовать их так, чтобы наименьший номер SKU в каждой группе гибкости имеет отношение 1.
# Function to normalize ISF ratios so the smallest SKU in each group = 1
function Get-NormalizedISFRatios {
param(
[Parameter(Mandatory=$true)]
[PSCustomObject[]]$ISFData
)
$NormalizedData = @()
$groups = $ISFData | Group-Object InstanceSizeFlexibilityGroup
foreach ($group in $groups) {
# Find the minimum ratio in the group
$minRatio = ($group.Group | ForEach-Object { [double]$_.Ratio } | Measure-Object -Minimum).Minimum
foreach ($item in $group.Group) {
$NormalizedData += [PSCustomObject]@{
InstanceSizeFlexibilityGroup = $item.InstanceSizeFlexibilityGroup
ArmSkuName = $item.ArmSkuName
Ratio = [math]::Round([double]$item.Ratio / $minRatio, 4)
}
}
}
return $NormalizedData
}
# Normalize the extracted ISF data
$NormalizedRatios = Get-NormalizedISFRatios -ISFData $ISFRatios
# Export to CSV
$NormalizedRatios | Export-Csv -Path "isf-ratios-normalized.csv" -NoTypeInformation
# Display sample results
$NormalizedRatios | Select-Object -First 10 | Format-Table
Пример: до и после нормализации
Серия BS
| ArmSkuName | Исходное соотношение | Нормализованное соотношение |
|---|---|---|
| Standard_B1ls | 0.25 | 1 |
| Standard_B1s | 0,5 | 2 |
| Standard_B2s | 2 | 8 |
Серия Ddsv5
| ArmSkuName | Исходное соотношение | Нормализованное соотношение |
|---|---|---|
| Standard_D2ds_v5 | 2 | 1 |
| Standard_D4ds_v5 | 4 | 2 |
| Standard_D8ds_v5 | 8 | 4 |
| Standard_D16ds_v5 | 16 | 8 |
| Standard_D32ds_v5 | 32 | 16 |
| Standard_D48ds_v5 | 48 | двадцать четыре |
| Standard_D64ds_v5 | 64 | 32 |
| Standard_D96ds_v5 | 96 | 48 |
Нормализованная структура CSV-файла
| колонна | Описание |
|---|---|
InstanceSizeFlexibilityGroup |
Имя группы гибкости |
ArmSkuName |
SKU-имя в Azure Resource Manager |
Ratio |
Нормализованное соотношение (наименьший номер SKU в каждой группе = 1) |
Замечание
После нормализации коэффициенты остаются пропорциональными в каждой группе. Нормализованное соотношение 2 означает, что SKU потребляет вдвое больше единиц резервирования по сравнению с наименьшим SKU в этой группе.
Использование PowerShell
Установка обязательного модуля
# Install the Az.Reservations module if not already installed
Install-Module -Name Az.Reservations -Force -AllowClobber
# Connect to Azure
Connect-AzAccount
Получение данных каталога с помощью PowerShell
# Set parameters
$SubscriptionId = "your-subscription-id"
$Location = "eastus"
$ResourceType = "VirtualMachines" # Change for different resource types
# Set subscription context
Set-AzContext -SubscriptionId $SubscriptionId
# Get catalog data
$CatalogData = Get-AzReservationCatalog -SubscriptionId $SubscriptionId -Location $Location -ReservedResourceType $ResourceType
# Display results
$CatalogData | Select-Object Name, ResourceType | Format-Table
Извлечение коэффициентов ISF из ответа PowerShell
Ответ API каталогов содержит информацию о соотношении ISF в массиве skuProperties. Найдите свойства с именами InstanceSizeFlexibilityRatio и InstanceSizeFlexibilityGroup.
Пример синтаксического анализа PowerShell
# Function to extract ISF data from catalog response
function Get-ISFRatios {
param(
[Parameter(Mandatory=$true)]
$CatalogData
)
$ISFData = @()
foreach ($item in $CatalogData) {
$flexGroup = ""
$ratio = ""
# Extract ISF properties
foreach ($property in $item.SkuProperties) {
if ($property.Name -eq "ReservationsAutofitGroup") {
$flexGroup = $property.Value
}
elseif ($property.Name -eq "ReservationsAutofitRatio") {
$ratio = $property.Value
}
}
# Only include items with both group and ratio
if ($flexGroup -and $ratio) {
$ISFData += [PSCustomObject]@{
InstanceSizeFlexibilityGroup = $flexGroup
ArmSkuName = $item.Name
Ratio = $ratio
}
}
}
return $ISFData
}
# Extract ISF data
$ISFRatios = Get-ISFRatios -CatalogData $CatalogData
# Export to CSV
$ISFRatios | Export-Csv -Path "isf-ratios.csv" -NoTypeInformation
# Display sample results
$ISFRatios | Select-Object -First 10 | Format-Table
Важные замечания
-
Пагинация: API возвращает пагинированные результаты. Используйте свойство
nextLinkдля получения всех данных. - Региональные данные: коэффициенты ISF могут различаться в зависимости от региона Azure. Создайте отдельные файлы для каждого целевого региона.
- Поддержка типов ресурсов: не все сервисы Azure поддерживают ISF. Проверьте ответ API для свойств InstanceSizeFlexibilityGroup.
- Регулярные обновления: коэффициенты ISF могут изменяться при появлении новых размеров ресурсов. Регулярно обновляйте файлы.
- Коэффициенты, относящиеся к службе: разные службы могут иметь различные методы вычисления и масштабы коэффициентов ISF.
Troubleshooting
Распространенные проблемы и решения
| Проблема | Решение |
|---|---|
| Ошибки проверки подлинности | Убедитесь, что у вас есть Microsoft.Capacity/catalogs/read разрешение |
| Пустые результаты | Убедитесь, что параметр расположения соответствует имени региона Azure, а тип ресурса поддерживает ISF. |
| Отсутствующие свойства ISF | Некоторые семейства ресурсов могут не поддерживать ISF. Такое поведение ожидаемо. |
| Недопустимый тип ресурса | Проверьте поддерживаемые значения типов зарезервированных ресурсов для целевой службы |
Дальнейшие действия
- Узнайте больше о резервациях в Azure
- Понимание гибкости размера экземпляра для разных служб
- Справочник по REST API Azure Resource Manager REST API
Связанные статьи
- Документация по резервированию Azure
- Управление резервированиями в Azure
- документация Azure PowerShell