Instansskydd för instanser av skalningsuppsättningen för virtuella Azure-datorer
Gäller för: ✔️ Virtuella Linux-datorer ✔️ Windows VM:heavy_check_mark: Flexibla skalningsuppsättningar:heavy_check_mark: Enhetliga skalningsuppsättningar
Skalningsuppsättningar för virtuella Azure-datorer ger bättre elasticitet för dina arbetsbelastningar via autoskalning, så att du kan konfigurera när din infrastruktur skalar ut och när den skalar in. Med skalningsuppsättningar kan du också centralt hantera, konfigurera och uppdatera ett stort antal virtuella datorer via olika principinställningar för uppgradering. Du kan konfigurera en uppdatering av skalningsuppsättningsmodellen och den nya konfigurationen tillämpas automatiskt på varje skalningsuppsättningsinstans om du har angett uppgraderingsprincipen till Automatisk eller Rullande.
När ditt program bearbetar trafik kan det finnas situationer där du vill att specifika instanser ska behandlas annorlunda än resten av skalningsuppsättningsinstansen. Till exempel kan vissa instanser i skalningsuppsättningen utföra långvariga åtgärder och du vill inte att dessa instanser ska skalas in förrän åtgärderna har slutförts. Du kan också ha specialiserade några instanser i skalningsuppsättningen för att utföra ytterligare eller andra uppgifter än de andra medlemmarna i skalningsuppsättningen. Du kräver att dessa "särskilda" virtuella datorer inte ska ändras med de andra instanserna i skalningsuppsättningen. Instansskydd ger ytterligare kontroller för att aktivera dessa och andra scenarier för ditt program.
Den här artikeln beskriver hur du kan tillämpa och använda olika funktioner för instansskydd med skalningsuppsättningsinstanser.
Typer av instansskydd
Skalningsuppsättningar har två typer av funktioner för instansskydd:
Skydda mot inskalning
- Aktiveras via egenskapen protectFromScaleIn på skalningsuppsättningsinstansen
- Skyddar instansen från autoskalningsinitierad inskalning
- Användarinitierade instansåtgärder (inklusive instansens borttagning) blockeras inte
- Åtgärder som initierats på skalningsuppsättningen (uppgradering, avbild, frilokalisering osv.) blockeras inte
Skydda från skalningsuppsättningsåtgärder
- Aktiveras via egenskapen protectFromScaleSetActions på skalningsuppsättningsinstansen
- Skyddar instansen från autoskalningsinitierad inskalning
- Skyddar instansen från åtgärder som initieras på skalningsuppsättningen (till exempel uppgradering, avimning, frilokalisering osv.)
- Användarinitierade instansåtgärder (inklusive instansens borttagning) blockeras inte
- Borttagning av den fullständiga skalningsuppsättningen blockeras inte
Skydda mot inskalning
Instansskydd kan tillämpas på skalningsuppsättningsinstanser när instanserna har skapats. Skyddet tillämpas och ändras endast på instansmodellen och inte på skalningsuppsättningsmodellen.
Det finns flera sätt att tillämpa inskalningsskydd på dina skalningsuppsättningsinstanser enligt beskrivningen i exemplen nedan.
Azure Portal
Du kan använda inskalningsskydd via Azure Portal till en instans i skalningsuppsättningen. Du kan inte justera mer än en instans i taget. Upprepa stegen för varje instans som du vill skydda.
- Gå till en befintlig VM-skalningsuppsättning.
- Välj Instanser på menyn till vänster, under Inställningar.
- Välj namnet på den instans som du vill skydda.
- Välj fliken Skyddsprincip.
- På bladet Skyddsprincip väljer du alternativet Skydda från inskalning.
- Välj Spara.
REST-API
I följande exempel tillämpas inskalningsskydd på en instans i skalningsuppsättningen.
PUT on `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instance-id}?api-version=2019-03-01`
{
"properties": {
"protectionPolicy": {
"protectFromScaleIn": true
}
}
}
Anteckning
Instansskydd stöds endast med API-version 2019-03-01 och senare
Azure PowerShell
Använd cmdleten Update-AzVmssVM för att tillämpa inskalningsskydd på din skalningsuppsättningsinstans.
I följande exempel tillämpas inskalningsskydd på en instans i skalningsuppsättningen med instans-ID 0.
Update-AzVmssVM `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myVMScaleSet" `
-InstanceId 0 `
-ProtectFromScaleIn $true
Azure CLI 2.0
Använd az vmss update för att tillämpa inskalningsskydd på din skalningsuppsättningsinstans.
I följande exempel tillämpas inskalningsskydd på en instans i skalningsuppsättningen med instans-ID 0.
az vmss update \
--resource-group <myResourceGroup> \
--name <myVMScaleSet> \
--instance-id 0 \
--protect-from-scale-in true
Skydda från skalningsuppsättningsåtgärder
Instansskydd kan tillämpas på skalningsuppsättningsinstanser när instanserna har skapats. Skyddet tillämpas och ändras endast på instansmodellen och inte på skalningsuppsättningsmodellen.
Om du skyddar en instans från skalningsuppsättningsåtgärder skyddas även instansen från autoskalningsinitierad inskalning.
Det finns flera sätt att tillämpa skydd av skalningsuppsättningsåtgärder på dina skalningsuppsättningsinstanser enligt beskrivningen i exemplen nedan.
Azure Portal
Du kan tillämpa skydd från skalningsuppsättningsåtgärder via Azure Portal till en instans i skalningsuppsättningen. Du kan inte justera mer än en instans i taget. Upprepa stegen för varje instans som du vill skydda.
- Gå till en befintlig VM-skalningsuppsättning.
- Välj Instanser på menyn till vänster, under Inställningar.
- Välj namnet på den instans som du vill skydda.
- Välj fliken Skyddsprincip.
- På bladet Skyddsprincip väljer du alternativet Skydda från skalningsuppsättningsåtgärder.
- Välj Spara.
REST-API
I följande exempel tillämpas skydd från skalningsuppsättningsåtgärder till en instans i skalningsuppsättningen.
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
}
}
}
Anteckning
Instansskydd stöds endast med API-version 2019-03-01 och senare. Om du skyddar en instans från skalningsuppsättningsåtgärder skyddas även instansen från autoskalningsinitierad inskalning. Du kan inte ange "protectFromScaleIn": false när du anger "protectFromScaleSetActions": true
Azure PowerShell
Använd cmdleten Update-AzVmssVM för att tillämpa skydd från skalningsuppsättningsåtgärder till din skalningsuppsättningsinstans.
I följande exempel tillämpas skydd från skalningsuppsättningsåtgärder till en instans i skalningsuppsättningen med instans-ID 0.
Update-AzVmssVM `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myVMScaleSet" `
-InstanceId 0 `
-ProtectFromScaleIn $true `
-ProtectFromScaleSetAction $true
Azure CLI 2.0
Använd az vmss update för att tillämpa skydd från skalningsuppsättningsåtgärder till din skalningsuppsättningsinstans.
I följande exempel tillämpas skydd från skalningsuppsättningsåtgärder till en instans i skalningsuppsättningen med instans-ID 0.
az vmss update \
--resource-group <myResourceGroup> \
--name <myVMScaleSet> \
--instance-id 0 \
--protect-from-scale-in true \
--protect-from-scale-set-actions true
Felsöka
Ingen protectionPolicy på skalningsuppsättningsmodellen
Instansskydd gäller endast för skalningsuppsättningsinstanser och inte på skalningsuppsättningsmodellen.
Ingen protectionPolicy på skalningsuppsättningsinstansmodellen
Som standard tillämpas inte skyddsprincipen på en instans när den skapas.
Du kan tillämpa instansskydd på skalningsuppsättningsinstanser när instanserna har skapats.
Det går inte att tillämpa instansskydd
Instansskydd stöds endast med API-version 2019-03-01 och senare. Kontrollera vilken API-version som används och uppdatera efter behov. Du kan också behöva uppdatera PowerShell eller CLI till den senaste versionen.
Nästa steg
Lär dig hur du distribuerar ditt program på VM-skalningsuppsättningar.