Udostępnij przez


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

Zestawy skalowania maszyn wirtualnych platformy Azure umożliwiają lepszą elastyczność Twoich obciążeń za pomocą skalowania automatycznego, dzięki czemu można skonfigurować, kiedy Twoja infrastruktura rozszerza się i kurczy się. 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.

Podczas gdy aplikacja przetwarza ruch, mogą wystąpić sytuacje, w których niektóre instancje powinny być traktowane inaczej niż reszta instancji 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ż określić kilka wyspecjalizowanych wystąpień w zestawie skalowania, aby wykonywać zadania dodatkowe lub różne niż pozostali członkowie zestawu skalowania. Te "specjalne" maszyny wirtualne nie muszą być modyfikowane przy użyciu innych wystąpień w zestawie skalowania. Ochrona instancji zapewnia dodatkowe środki kontroli umożliwiające włączenie tych oraz innych możliwych scenariuszy dla aplikacji.

W tym artykule opisano, jak można zastosować i używać różnych mechanizmów ochrony wystąpień dla wystąpień w zestawie skalowania.

Typy ochrony instancji

Zestawy skalowania zapewniają dwa typy możliwości ochrony instancji.

  • Ochrona przed redukcją zasobów

    • Włączone za pomocą właściwości protectFromScaleIn w wystąpieniu zestawu skalowania
    • Chroni instancję przed redukcją zasobów inicjowaną przez automatyczne skalowanie
    • Operacje na instancjach inicjowane przez użytkownika (w tym usuwanie instancji) nie są blokowane
    • Operacje inicjowane w zestawie skalowania (uaktualnianie, ponowne obrazowanie, dezaktywacja itp.) nie są blokowane
  • Ochrona przed działaniami skalowania zestawu

    • Włączone za pomocą właściwości protectFromScaleSetActions w wystąpieniu zestawu skalowania
    • Chroni instancję przed zainicjowanym przez Autoscale zmniejszeniem liczby instancji.
    • Chroni instancję przed operacjami zainicjowanymi w zestawie skalowania (takimi jak uaktualnienie, odtworzenie obrazu, dealokacja itp.)
    • Operacje na instancjach inicjowane przez użytkownika (w tym usuwanie instancji) nie są blokowane
    • Usuwanie pełnego zestawu skalowania nie jest blokowane

Ochrona przed skalowaniem

Ochronę wystąpień można zastosować do instancji w zestawie skalującym po ich utworzeniu. 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.

Portal Azure

Ochronę skalowaną w poziomie można zastosować za pośrednictwem witryny Azure Portal do wystąpienia w zestawie skalowania. Nie można jednocześnie 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ę instancji, którą chcesz chronić.
  4. Wybierz kartę Zasady ochrony .
  5. W bloku Zasady ochrony wybierz opcję Chroń przed skalowaniem .
  6. Wybierz Zapisz.

Interfejs programistyczny REST

Poniższy przykład stosuje ochronę przed redukcją liczby instancji w zestawie skalującym.

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

Uwaga / Notatka

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ę przed skalowaniem w dół do instancji w zestawie skalowania o identyfikatorze instancji 0.

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ę zmniejszania skali do instancji zestawu skalowania.

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

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 w górę inicjowanym przez funkcję Autoscale.

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

Portal Azure

Ochronę przed działaniami zestawu skalowania można zastosować za pośrednictwem portalu Azure dla instancji w zestawie skalowania. Nie można jednocześnie 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ę instancji, którą chcesz chronić.
  4. Wybierz kartę Zasady ochrony .
  5. W bloku Zasady ochrony wybierz opcję Chroń przed działaniami zestawu skalowania.
  6. Wybierz Zapisz.

Interfejs programistyczny REST

Przykład ilustruje ochronę przed działaniami zestawu skalowania dla 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 / Notatka

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, jeśli ustawia się wartość "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 az vmss update, aby zastosować ochronę przed działaniami zestawu skalowania na swoje wystąpienie 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 polityki ochrony w modelu zestawu skalowania

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

Brak polityki ochrony w modelu instancji zestawu skalowania

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

Można zastosować ochronę wystąpień dla wystąpień w zestawie skalowania po ich utworzeniu.

Nie udało się zastosować ochrony instancji

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.

Dalsze kroki

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