Instance Protection pro instance škálovací sady virtuálních počítačů Azure

Poznámka:

Pro nové úlohy doporučujeme používat flexibilní orchestraci. Další informace najdete v tématu Režimy orchesration pro škálovací sady virtuálních počítačů v Azure.

Škálovací sady virtuálních počítačů Azure umožňují lepší elasticitu vašich úloh prostřednictvím automatického škálování, abyste mohli nakonfigurovat, kdy se infrastruktura škáluje 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. Aktualizaci v modelu škálovací sady můžete nakonfigurovat a nová konfigurace se automaticky použije pro každou instanci škálovací sady, pokud jste nastavili zásadu upgradu na automatickou nebo klouzavý.

Vzhledem k tomu, že vaše aplikace zpracovává provoz, mohou nastat situace, 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ě můžou provádět dlouhotrvající operace a nechcete, aby se tyto instance škálovaly, dokud se operace nedokončí. Můžete mít také specializované několik instancí ve škálovací sadě, které provádějí další nebo jiné úlohy než ostatní členové škálovací sady. Vyžadujete, aby se tyto speciální virtuální počítače neupravovaly s jinými instancemi ve škálovací sadě. Ochrana instancí poskytuje další ovládací prvky, které umožňují 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 snížením kapacity

    • Povoleno prostřednictvím vlastnosti protectFromScaleIn v instanci škálovací sady
    • Chrání instanci před automatickým škálováním inicializováno škálováním.
    • Operace instance iniciované uživatelem (včetně odstranění instance) nejsou blokované.
    • Operace zahájené ve škálovací sadě (upgrade, opětovné nastavení, zrušení přidělení atd.) nejsou blokované.
  • Ochrana před akcemi škálovací sady

    • Povoleno prostřednictvím vlastnosti protectFromScaleSetActions v instanci škálovací sady
    • Chrání instanci před automatickým škálováním inicializováno škálováním.
    • Chrání instanci před operacemi iniciovaným ve škálovací sadě (například upgrade, opětovné vytvoření image, zrušení přidělení atd.).
    • Operace instance iniciované uživatelem (včetně odstranění instance) nejsou blokované.
    • Odstranění úplné škálovací sady není blokované.

Ochrana před horizontálním snížením kapacity

Ochranu instance je možné použít u instancí škálovací sady po vytvoření instancí. Ochrana se použije a upraví pouze v modelu instance, nikoli v modelu škálovací sady.

Existuje několik způsobů použití ochrany škálovací sady na instance škálovací sady, jak je podrobně popsáno v následujících příkladech.

portál Azure

Ochranu horizontálního navýšení kapacity můžete použít prostřednictvím webu Azure Portal na instanci ve škálovací sadě. Najednou nelze upravit více instancí. Opakujte kroky pro každou instanci, kterou chcete chránit.

  1. Přejděte na existující škálovací sadu virtuálních počítačů.
  2. V nabídce vlevo v části Nastavení vyberte Instances.
  3. Vyberte název instance, kterou chcete chránit.
  4. Vyberte kartu Zásady ochrany.
  5. V okně Zásady ochrany vyberte možnost Chránit před horizontálním snížením kapacity.
  6. Zvolte Uložit.

REST API

Následující příklad používá ochranu horizontálního snížení kapacity 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:

S flexibilním režimem orchestrace se ochrana instancí podporuje pouze v rozhraní API verze 2023-09-01 a vyšší. Pro režim jednotné orchestrace je ochrana instancí dostupná v rozhraní API verze 2019-03-01 a vyšší.

Azure PowerShell

Pomocí rutiny Update-AzVmssVM použijte ochranu škálovací sady na instanci škálovací sady.

Následující příklad používá ochranu horizontálního snížení kapacity na instanci ve škálovací sadě s ID 0 instance.

Update-AzVmssVM `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myVMScaleSet" `
  -InstanceId 0 `
  -ProtectFromScaleIn $true

Azure CLI 2.0

Pomocí příkazu az vmss update použijte ochranu škálovací sady na instanci škálovací sady.

Následující příklad používá ochranu horizontálního snížení kapacity na instanci ve škálovací sadě s ID 0 instance.

az vmss update \  
  --resource-group <myResourceGroup> \
  --name <myVMScaleSet> \
  --instance-id 0 \
  --protect-from-scale-in true

Ochrana před akcemi škálovací sady

Ochranu instance je možné použít u instancí škálovací sady po vytvoření instancí. Ochrana se použije a upraví pouze v modelu instance, nikoli v 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ým škálováním.

Existuje několik způsobů použití ochrany akcí škálovací sady na instance škálovací sady, jak je podrobně popsáno v následujících příkladech.

portál Azure

Ochranu před akcemi škálovací sady můžete použít prostřednictvím webu Azure Portal na instanci ve škálovací sadě. Najednou nelze upravit více instancí. Opakujte kroky pro každou instanci, kterou chcete chránit.

  1. Přejděte na existující škálovací sadu virtuálních počítačů.
  2. V nabídce vlevo v části Nastavení vyberte Instances.
  3. Vyberte název instance, kterou chcete chránit.
  4. Vyberte kartu Zásady ochrany.
  5. V okně Zásady ochrany vyberte možnost Chránit před akcemi škálovací sady.
  6. Zvolte Uložit.

REST API

Následující příklad používá 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í je podporována pouze s rozhraním 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ým škálováním. Nelze zadat "protectFromScaleIn": false při nastavení "protectFromScaleSetActions": 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žívá 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 před akcemi škálovací sady na instanci škálovací sady.

Následující příklad používá 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

Odstraňování potíží

Žádná ochranaPolicy v modelu škálovací sady

Ochrana instancí se vztahuje pouze na instance škálovací sady, nikoli na model škálovací sady.

Žádná ochranaPolicy v modelu instance škálovací sady

Ve výchozím nastavení se zásady ochrany při vytváření neaplikují na instanci.

Ochranu instancí můžete použít pro instance škálovací sady po vytvoření instancí.

Nejde použít ochranu instance

Ochrana instancí je podporována pouze s rozhraním API verze 2019-03-01 a vyšší. Podle potřeby zkontrolujte, jakou verzi rozhraní API používáte, a aktualizujte. Možná budete muset aktualizovat powershell nebo rozhraní příkazového řádku na nejnovější verzi.

Další kroky

Zjistěte, jak nasadit aplikaci ve škálovacích sadách virtuálních počítačů.