Instance Protection dla wystąpień zestawu skalowania maszyn wirtualnych platformy Azure

Uwaga

Zalecamy używanie elastycznej orkiestracji dla nowych obciążeń. Aby uzyskać więcej informacji, zobacz Tryby orchesration dla zestawów skalowania maszyn wirtualnych na platformie Azure.

Zestawy skalowania maszyn wirtualnych platformy Azure umożliwiają lepszą elastyczność obciążeń za pomocą skalowania automatycznego, dzięki czemu można skonfigurować skalowanie infrastruktury w poziomie i skalowanie w poziomie. Zestawy skalowania umożliwiają również centralne zarządzanie, konfigurowanie i aktualizowanie dużej liczby maszyn wirtualnych za pomocą różnych ustawień zasad uaktualniania. Możesz skonfigurować aktualizację w modelu zestawu skalowania, a nowa konfiguracja jest stosowana automatycznie do każdego wystąpienia zestawu skalowania, jeśli zasady uaktualniania zostały ustawione na wartość Automatyczne lub Stopniowe.

W miarę przetwarzania ruchu przez aplikację mogą występować sytuacje, w których określone wystąpienia mają być traktowane inaczej niż pozostałe wystąpienia zestawu skalowania. Na przykład niektóre wystąpienia w zestawie skalowania mogą wykonywać długotrwałe operacje i nie chcesz, aby te wystąpienia były skalowane do momentu zakończenia operacji. Możesz również mieć wyspecjalizowane kilka wystąpień w zestawie skalowania, aby wykonywać dodatkowe lub inne zadania niż inni członkowie zestawu skalowania. Te "specjalne" maszyny wirtualne nie muszą być modyfikowane przy użyciu innych wystąpień w zestawie skalowania. Ochrona wystąpienia zapewnia dodatkowe mechanizmy kontroli umożliwiające włączenie tych i innych scenariuszy dla aplikacji.

W tym artykule opisano sposób stosowania i używania różnych funkcji ochrony wystąpień z wystąpieniami zestawu skalowania.

Typy ochrony wystąpień

Zestawy skalowania zapewniają dwa typy funkcji ochrony wystąpień:

  • Ochrona przed skalowaniem

    • Włączone za pomocą właściwości protectFromScaleIn w wystąpieniu zestawu skalowania
    • Chroni wystąpienie przed skalowaniem automatycznym inicjowanym przez skalowanie w poziomie
    • Operacje wystąpienia inicjowane przez użytkownika (w tym usuwanie wystąpienia) nie są blokowane
    • Operacje inicjowane w zestawie skalowania (uaktualnianie, reimage, cofanie przydziału itp.) nie są blokowane
  • Ochrona przed akcjami zestawu skalowania

    • Włączone za pomocą właściwości protectFromScaleSetActions w wystąpieniu zestawu skalowania
    • Chroni wystąpienie przed skalowaniem automatycznym inicjowanym przez skalowanie w poziomie
    • Chroni wystąpienie przed operacjami zainicjowanymi w zestawie skalowania (na przykład uaktualnienie, odtworzenie obrazu, cofnięcie przydziału itp.)
    • Operacje wystąpienia inicjowane przez użytkownika (w tym usuwanie wystąpienia) nie są blokowane
    • Usuwanie pełnego zestawu skalowania nie jest blokowane

Ochrona przed skalowaniem

Ochronę wystąpienia można zastosować do wystąpień zestawu skalowania po utworzeniu wystąpień. Ochrona jest stosowana i modyfikowana tylko w modelu wystąpienia, a nie w modelu zestawu skalowania.

Istnieje wiele sposobów stosowania ochrony skalowanej w poziomie w wystąpieniach zestawu skalowania zgodnie z opisem w poniższych przykładach.

Azure Portal

Ochronę skalowaną w poziomie można zastosować za pośrednictwem witryny Azure Portal do wystąpienia w zestawie skalowania. Jednocześnie nie można dostosować więcej niż jednego wystąpienia. Powtórz kroki dla każdego wystąpienia, które chcesz chronić.

  1. Przejdź do istniejącego zestawu skalowania maszyn wirtualnych.
  2. Wybierz pozycję Wystąpienia z menu po lewej stronie w obszarze Ustawienia.
  3. Wybierz nazwę wystąpienia, które chcesz chronić.
  4. Wybierz kartę Zasady ochrony.
  5. W bloku Zasady ochrony wybierz opcję Chroń przed skalowaniem.
  6. Wybierz pozycję Zapisz.

Interfejs API REST

Poniższy przykład stosuje ochronę skalowaną w poziomie do wystąpienia w zestawie skalowania.

PUT on `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instance-id}?api-version=2019-03-01`
{
  "properties": {
    "protectionPolicy": {
      "protectFromScaleIn": true
    }
  }        
}

Uwaga

W trybie elastycznej aranżacji ochrona wystąpień jest obsługiwana tylko w przypadku interfejsu API w wersji 2023-09-01 lub nowszej. W przypadku trybu jednolitej aranżacji ochrona wystąpień jest dostępna w interfejsie API w wersji 2019-03-01 lub nowszej.

Azure PowerShell

Użyj polecenia cmdlet Update-AzVmssVM, aby zastosować ochronę skalowaną w poziomie do wystąpienia zestawu skalowania.

Poniższy przykład stosuje ochronę skalowaną w poziomie do wystąpienia w zestawie skalowania o identyfikatorze 0 wystąpienia.

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

Interfejs wiersza polecenia platformy Azure 2.0

Użyj polecenia az vmss update , aby zastosować ochronę skalowaną w poziomie do wystąpienia zestawu skalowania.

Poniższy przykład stosuje ochronę skalowaną w poziomie do wystąpienia w zestawie skalowania o identyfikatorze 0 wystąpienia.

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

Ochrona przed akcjami zestawu skalowania

Ochronę wystąpienia można zastosować do wystąpień zestawu skalowania po utworzeniu wystąpień. Ochrona jest stosowana i modyfikowana tylko w modelu wystąpienia, a nie w modelu zestawu skalowania.

Ochrona wystąpienia przed akcjami zestawu skalowania chroni również wystąpienie przed skalowaniem inicjowanym przez automatyczne skalowanie.

Istnieje wiele sposobów stosowania ochrony akcji zestawu skalowania w wystąpieniach zestawu skalowania, jak opisano w poniższych przykładach.

Azure Portal

Ochronę akcji zestawu skalowania można zastosować za pośrednictwem witryny Azure Portal do wystąpienia w zestawie skalowania. Jednocześnie nie można dostosować więcej niż jednego wystąpienia. Powtórz kroki dla każdego wystąpienia, które chcesz chronić.

  1. Przejdź do istniejącego zestawu skalowania maszyn wirtualnych.
  2. Wybierz pozycję Wystąpienia z menu po lewej stronie w obszarze Ustawienia.
  3. Wybierz nazwę wystąpienia, które chcesz chronić.
  4. Wybierz kartę Zasady ochrony.
  5. W bloku Zasady ochrony wybierz opcję Chroń z zestawu skalowania.
  6. Wybierz pozycję Zapisz.

Interfejs API REST

Poniższy przykład stosuje ochronę z akcji zestawu skalowania do wystąpienia w zestawie skalowania.

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
    }
  }        
}

Uwaga

Ochrona wystąpień jest obsługiwana tylko w przypadku interfejsu API w wersji 2019-03-01 lub nowszej.
Ochrona wystąpienia przed akcjami zestawu skalowania chroni również wystąpienie przed skalowaniem inicjowanym przez automatyczne skalowanie. Nie można określić wartości "protectFromScaleIn": false podczas ustawiania wartości "protectFromScaleSetActions": true

Azure PowerShell

Użyj polecenia cmdlet Update-AzVmssVM, aby zastosować ochronę z akcji zestawu skalowania do wystąpienia zestawu skalowania.

Poniższy przykład stosuje ochronę z akcji zestawu skalowania do wystąpienia w zestawie skalowania o identyfikatorze 0 wystąpienia.

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

Interfejs wiersza polecenia platformy Azure 2.0

Użyj polecenia az vmss update , aby zastosować ochronę z akcji zestawu skalowania do wystąpienia zestawu skalowania.

Poniższy przykład stosuje ochronę z akcji zestawu skalowania do wystąpienia w zestawie skalowania o identyfikatorze 0 wystąpienia.

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

Rozwiązywanie problemów

Brak ochronyZasady w modelu zestawu skalowania

Ochrona wystąpień ma zastosowanie tylko w wystąpieniach zestawu skalowania, a nie w modelu zestawu skalowania.

Brak zasad ochrony w modelu wystąpienia zestawu skalowania

Domyślnie zasady ochrony nie są stosowane do wystąpienia podczas jego tworzenia.

Ochronę wystąpień można zastosować do wystąpień zestawu skalowania po utworzeniu wystąpień.

Nie można zastosować ochrony wystąpienia

Ochrona wystąpień jest obsługiwana tylko w przypadku interfejsu API w wersji 2019-03-01 lub nowszej. Sprawdź używaną wersję interfejsu API i aktualizuj zgodnie z potrzebami. Może być również konieczne zaktualizowanie programu PowerShell lub interfejsu wiersza polecenia do najnowszej wersji.

Następne kroki

Dowiedz się, jak wdrożyć aplikację w zestawach skalowania maszyn wirtualnych.