Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Масштабируемые наборы виртуальных машин Azure обеспечивают лучшую эластичность для рабочих нагрузок с помощью Автомасштабирования, чтобы настроить, когда ваша инфраструктура увеличивает количество ресурсов и когда уменьшает. Масштабируемые наборы также позволяют централизованно управлять, настраивать и обновлять большое количество виртуальных машин с помощью различных параметров политики обновления . Вы можете настроить обновление для модели масштабируемого набора, а новая конфигурация применяется автоматически к каждому экземпляру масштабируемого набора, если вы установили для политики обновления значение Automatic или Rolling.
При обработке трафика в приложении могут возникнуть ситуации, когда вы хотите, чтобы определенные экземпляры обрабатывались иначе, чем остальные экземпляры в наборе масштабируемых экземпляров. Например, некоторые экземпляры в масштабируемом наборе могут выполнять длительные операции, и эти экземпляры не будут масштабироваться до завершения операций. Кроме того, в масштабируемом наборе могут быть специализированы несколько экземпляров для выполнения дополнительных или разных задач, отличных от других элементов масштабируемого набора. Вам требуется, чтобы эти специальные виртуальные машины не изменялись с другими экземплярами в масштабируемом наборе. Защита экземпляров предоставляет дополнительные элементы управления, позволяя включать эти и другие сценарии для вашего приложения.
В этой статье описывается, как применять и использовать различные возможности защиты экземпляров в масштабируемых наборах экземпляров.
Типы защиты экземпляров
Масштабируемые наборы предоставляют два типа функций защиты экземпляров.
Защита от масштабирования
- Включено с помощью свойства protectFromScaleIn в экземпляре масштабируемого набора
- ** Защита экземпляра от инициированного автомасштабированием уменьшения масштаба
- Операции, инициированные пользователем (включая удаление экземпляра), не блокируются
- Операции, инициированные в масштабируемом наборе (обновление, повторное создание, освобождение и т. д.) не блокируются.
Защита от действий с набором масштабируемых операций
- Включено с помощью свойства protectFromScaleSetActions в экземпляре набора виртуальных машин
- Защита экземпляра от инициированного автомасштабированием уменьшения
- Защищает экземпляр от операций, инициированных в рамках масштабируемого набора (например, обновление, повторное создание, освобождение ресурсов и т. д.).
- Операции, инициированные пользователем (включая удаление экземпляра), не блокируются
- Удаление полномасштабного набора не блокируется
Защита от уменьшения горизонтального масштаба
После создания экземпляров можно применить защиту экземпляров к экземплярам масштабируемого набора. Защита применяется и изменяется только в модели экземпляра, а не в модели набора масштабирования.
В вашем масштабируемом наборе существует несколько способов применения защиты от уменьшения масштаба, как показано в примерах ниже.
Портал Azure
Вы можете применить защиту масштабирования с помощью портала Azure к экземпляру в масштабируемом наборе. Нельзя настроить более одного экземпляра одновременно. Повторите шаги для каждого экземпляра, который требуется защитить.
- Перейдите в существующий масштабируемый набор виртуальных машин.
- Выберите инстанции в меню слева, в разделе Параметры.
- Выберите имя экземпляра, который требуется защитить.
- Перейдите на вкладку "Политика защиты ".
- В колонке "Политика защиты" выберите параметр "Защитить от масштабирования ".
- Нажмите кнопку "Сохранить".
REST API
В следующем примере применяется защита масштабирования к экземпляру в масштабируемом наборе.
PUT on `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instance-id}?api-version=2019-03-01`
{
"properties": {
"protectionPolicy": {
"protectFromScaleIn": true
}
}
}
Замечание
В режиме гибкой оркестрации защита экземпляров поддерживается только в API версии 2023-09-01 и выше. Для режима единообразной оркестрации защита экземпляров доступна с версии API 2019-03-01 и выше.
Azure PowerShell
Используйте командлет Update-AzVmssVM , чтобы применить защиту масштабирования к экземпляру масштабируемого набора.
В следующем примере применяется защита масштабирования к экземпляру в масштабируемом наборе с идентификатором экземпляра 0.
Update-AzVmssVM `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myVMScaleSet" `
-InstanceId 0 `
-ProtectFromScaleIn $true
Azure CLI 2.0
Используйте az vmss update , чтобы применить защиту масштабирования к экземпляру масштабируемого набора.
В следующем примере применяется защита масштабирования к экземпляру в масштабируемом наборе с идентификатором экземпляра 0.
az vmss update \
--resource-group <myResourceGroup> \
--name <myVMScaleSet> \
--instance-id 0 \
--protect-from-scale-in true
Защита от действий масштабируемого набора
После создания экземпляров можно применить защиту экземпляров к экземплярам масштабируемого набора. Защита применяется и изменяется только у модели экземпляра, но не у модели набора шкалы.
Защита экземпляра от действий группы масштабирования также защищает экземпляр от масштабирования, инициированного автомасштабированием.
Существует несколько способов применения защиты операций в масштабируемых экземплярах, как это описано в приведенных ниже примерах.
Портал Azure
Вы можете применить защиту от действий масштабируемого набора с помощью портала Azure к экземпляру в масштабируемом наборе. Нельзя настроить более одного экземпляра одновременно. Повторите шаги для каждого экземпляра, который требуется защитить.
- Перейдите в существующий масштабируемый набор виртуальных машин.
- Выберите Экземпляры в меню слева в разделе Параметры.
- Выберите имя экземпляра, который требуется защитить.
- Перейдите на вкладку "Политика защиты ".
- В разделе "Политика защиты" выберите параметр "Защита от действий в группе масштабирования".
- Нажмите кнопку "Сохранить".
REST API
В следующем примере к экземпляру масштабируемого набора применяется защита от операций с масштабируемым набором.
PUT on `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vMScaleSetName}/virtualMachines/{instance-id}?api-version=2019-03-01`
{
"properties": {
"protectionPolicy": {
"protectFromScaleIn": true,
"protectFromScaleSetActions": true
}
}
}
Замечание
Защита экземпляров поддерживается только в API версии 2019-03-01 и выше.
Защита экземпляра от действий масштабируемого набора также защищает его от уменьшения, инициированного функцией автомасштабирования. Невозможно указать "protectFromScaleIn": false при настройке "protectFromScaleSetActions": true
Azure PowerShell
Используйте командлет Update-AzVmssVM , чтобы применить защиту от действий масштабируемого набора к экземпляру масштабируемого набора.
В следующем примере применяется защита от операций масштабируемого набора к экземпляру с идентификатором 0 в масштабируемом наборе.
Update-AzVmssVM `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myVMScaleSet" `
-InstanceId 0 `
-ProtectFromScaleIn $true `
-ProtectFromScaleSetAction $true
Azure CLI 2.0
Используйте az vmss update , чтобы применить защиту от действий масштабируемого набора к экземпляру масштабируемого набора.
В следующем примере применяется защита от действий масштабируемого набора к экземпляру в масштабируемом наборе с идентификатором экземпляра 0.
az vmss update \
--resource-group <myResourceGroup> \
--name <myVMScaleSet> \
--instance-id 0 \
--protect-from-scale-in true \
--protect-from-scale-set-actions true
Устранение неполадок
Нет политики защиты в модели масштабируемого набора.
Защита экземпляров применима только к экземплярам масштабируемого набора, а не к модели масштабируемого набора.
Нет политики защиты в модели экземпляра группы виртуальных машин
По умолчанию политика защиты не применяется к экземпляру при его создании.
Защиту экземпляров можно применить к инстанциям масштабируемого набора после их создания.
Не удается применить защиту экземпляров
Защита экземпляров поддерживается только в API версии 2019-03-01 и выше. Проверьте версию API, используемую и обновляемую по мере необходимости. Возможно, вам также потребуется обновить PowerShell или CLI до последней версии.
Дальнейшие шаги
Узнайте, как развернуть приложение на масштабируемых наборах виртуальных машин.