Ochrana instancí pro instance škálovací sady virtuálních počítačů Azure
Platí pro: ✔️ Virtuální počítače s Linuxem ✔️ virtuální počítače Windows:heavy_check_mark: Flexibilní škálovací sady ✔️ Jednotné škálovací sady
Škálovací sady virtuálních počítačů Azure umožňují lepší elasticitu úloh prostřednictvím automatického škálování, takže můžete nakonfigurovat, kdy se vaše infrastruktura škáluje na více a kdy se škáluje. Škálovací sady také umožňují centrálně spravovat, konfigurovat a aktualizovat velký počet virtuálních počítačů prostřednictvím různých nastavení zásad upgradu. Můžete nakonfigurovat aktualizaci modelu škálovací sady a nová konfigurace se automaticky použije pro každou instanci škálovací sady, pokud jste zásady upgradu nastavili na Automatické nebo Postupné.
Vzhledem k tomu, že vaše aplikace zpracovává provoz, může docházet k situacím, kdy chcete, aby se s konkrétními instancemi zacházelo jinak než se zbytkem instance škálovací sady. Například některé instance ve škálovací sadě mohou provádět dlouhotrací operace a nechcete, aby se tyto instance škáloval na více instancí, dokud se operace nedokoní. Je také možné, že jste ve škálovací sadě specializovali několik instancí, abyste mohli provádět další nebo jiné úlohy než ostatní členové škálovací sady. Vyžadujete, aby tyto "speciální" virtuální počítače nebyly změněny s jinými instancemi ve škálovací sadě. Ochrana instancí poskytuje další ovládací prvky umožňující tyto a další scénáře pro vaši aplikaci.
Tento článek popisuje, jak můžete použít a používat různé možnosti ochrany instancí s instancemi škálovací sady.
Typy ochrany instancí
Škálovací sady poskytují dva typy možností ochrany instancí:
Ochrana před horizontálním navýšením velikosti
- Povolení prostřednictvím vlastnosti protectFromScaleIn v instanci škálovací sady
- Chrání instanci před horizontálním navýšením velikosti iniciované automatickým škálováním.
- Operace instance iniciované uživatelem (včetně odstranění instance) se neblokují.
- Operace iniciované ve škálovací sadě (upgrade, obnovení z image, přidělení atd.) se neblokují.
Ochrana před akcemi škálovací sady
- Povolení prostřednictvím vlastnosti protectFromScaleSetActions v instanci škálovací sady
- Chrání instanci před horizontálním navýšením velikosti iniciované automatickým škálováním.
- Chrání instanci před operacemi iniciované ve škálovací sadě (například upgrade, obnovení z image, přidělení atd.).
- Operace instance iniciované uživatelem (včetně odstranění instance) se neblokují.
- Odstranění celé škálovací sady není blokované
Ochrana před horizontálním navýšením velikosti
Ochranu instancí je možné použít u instancí škálovací sady po jejich vytvoření. Ochrana se použije a změní jenom na model instance, a ne na modelu škálovací sady.
Pro instance škálovací sady existuje několik způsobů použití ochrany horizontálního navýšení velikosti, jak je podrobně uvedeno v následujících příkladech.
portál Azure
Ochranu horizontálního navýšení velikosti můžete použít prostřednictvím Azure Portal na instanci ve škálovací sadě. Najednou není možné upravit více instancí. Opakujte postup pro každou instanci, kterou chcete chránit.
- Přejděte na existující škálovací sadu virtuálních počítačů.
- V nabídce na levé straně v části vyberte Instance Nastavení .
- Vyberte název instance, kterou chcete chránit.
- Vyberte kartu Zásady ochrany.
- V okně Zásady ochrany vyberte možnost Chránit před horizontálním navýšením velikosti.
- Vyberte Uložit.
REST API
Následující příklad použije ochranu horizontálního navýšení velikosti na instanci ve škálovací sadě.
PUT on `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instance-id}?api-version=2019-03-01`
{
"properties": {
"protectionPolicy": {
"protectFromScaleIn": true
}
}
}
Poznámka
Ochrana instancí se podporuje pouze u rozhraní API verze 2019-03-01 a vyšší.
Azure PowerShell
Pomocí rutiny Update-AzVmssVM použijte u instance škálovací sady ochranu horizontálního navýšení velikosti.
Následující příklad použije ochranu horizontálního navýšení velikosti na instanci ve škálovací sadě s ID instance 0.
Update-AzVmssVM `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myVMScaleSet" `
-InstanceId 0 `
-ProtectFromScaleIn $true
Azure CLI 2.0
Pomocí příkazu az vmss update použijte pro instanci škálovací sady ochranu horizontálního navýšení velikosti.
Následující příklad použije ochranu horizontálního navýšení velikosti na instanci ve škálovací sadě s ID instance 0.
az vmss update \
--resource-group <myResourceGroup> \
--name <myVMScaleSet> \
--instance-id 0 \
--protect-from-scale-in true
Ochrana před akcemi škálovací sady
Ochranu instancí je možné použít u instancí škálovací sady po jejich vytvoření. Ochrana se použije a změní jenom na model instance, a ne na modelu škálovací sady.
Ochrana instance před akcemi škálovací sady také chrání instanci před automatickým škálováním iniciované horizontálním navýšením velikosti.
Existuje několik způsobů, jak u instancí škálovací sady použít ochranu akcí škálovací sady, jak je podrobně uvedeno v následujících příkladech.
portál Azure
Můžete použít ochranu před akcemi škálovací sady prostřednictvím Azure Portal na instanci ve škálovací sadě. Najednou není možné upravit více instancí. Opakujte postup pro každou instanci, kterou chcete chránit.
- Přejděte na existující škálovací sadu virtuálních počítačů.
- V nabídce na levé straně v části vyberte Instance Nastavení .
- Vyberte název instance, kterou chcete chránit.
- Vyberte kartu Zásady ochrany.
- V okně Zásady ochrany vyberte možnost Akce Chránit ze škálovací sady.
- Vyberte Uložit.
REST API
Následující příklad aplikuje ochranu před akcemi škálovací sady na instanci ve škálovací sadě.
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
}
}
}
Poznámka
Ochrana instancí se podporuje pouze u rozhraní API verze 2019-03-01 a vyšší. Ochrana instance před akcemi škálovací sady také chrání instanci před automatickým škálováním iniciované horizontálním navýšením velikosti. Při nastavení protectFromScaleSetActions nemůžete zadat protectFromScaleIn: false: true
Azure PowerShell
Pomocí rutiny Update-AzVmssVM použijte ochranu před akcemi škálovací sady na instanci škálovací sady.
Následující příklad použije ochranu před akcemi škálovací sady na instanci ve škálovací sadě s ID instance 0.
Update-AzVmssVM `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myVMScaleSet" `
-InstanceId 0 `
-ProtectFromScaleIn $true `
-ProtectFromScaleSetAction $true
Azure CLI 2.0
Pomocí příkazu az vmss update použijte ochranu z akcí škálovací sady na instanci škálovací sady.
Následující příklad použije ochranu před akcemi škálovací sady na instanci ve škálovací sadě s ID instance 0.
az vmss update \
--resource-group <myResourceGroup> \
--name <myVMScaleSet> \
--instance-id 0 \
--protect-from-scale-in true \
--protect-from-scale-set-actions true
Řešení potíží
Žádná ochranaZásažná u modelu škálovací sady
Ochrana instancí se vztahuje pouze na instance škálovací sady, a ne na model škálovací sady.
Žádná ochranaZásažná pro model instance škálovací sady
Ve výchozím nastavení se zásady ochrany při vytvoření instance neužádá.
Ochranu instancí můžete použít u instancí škálovací sady po jejich vytvoření.
Není možné použít ochranu instance
Ochrana instancí se podporuje pouze u rozhraní API verze 2019-03-01 a vyšší. Zkontrolujte použitou verzi rozhraní API a podle potřeby aktualizujte. Možná budete také muset aktualizovat PowerShell nebo rozhraní příkazového řádku na nejnovější verzi.
Další kroky
Zjistěte, jak nasadit aplikaci do škálovací sady virtuálních počítačů.