Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano funkcję automatycznego skalowania w usłudze Azure Monitor i jej zalety.
Funkcja autoskalowania obsługuje wiele typów zasobów. Aby uzyskać więcej informacji na temat obsługiwanych zasobów, zobacz Automatyczne skalowanie obsługiwanych zasobów.
Uwaga
Zestawy dostępności to starsza funkcja skalowania dla maszyn wirtualnych z ograniczoną wsparciem technicznym. Zalecamy migrację do usługi Azure Virtual Machine Scale Sets w celu szybszego i bardziej niezawodnego skalowania automatycznego.
Co to jest autoskalowanie
Automatyczne skalowanie to usługa, której można użyć do automatycznego dodawania i usuwania zasobów zgodnie z obciążeniem aplikacji.
Gdy aplikacja ma większe obciążenie, automatyczne skalowanie dodaje zasoby do obsługi zwiększonego obciążenia. Gdy obciążenie jest niskie, skalowanie automatyczne zmniejsza liczbę zasobów, co obniża koszty. Aplikację można skalować na podstawie metryk, takich jak użycie procesora CPU, długość kolejki i dostępna pamięć. Można również skalować na podstawie harmonogramu. Metryki i harmonogramy są konfigurowane w regułach. Reguły obejmują minimalny poziom zasobów potrzebnych do uruchomienia aplikacji oraz maksymalny poziom zasobów, którego nie można przekroczyć.
Na przykład przeprowadź skalowanie aplikacji w poziomie, dodając maszyny wirtualne, gdy średnie użycie procesora na maszynę wirtualną przekracza 70%. Zmniejsz skalę, usuwając maszyny wirtualne, gdy użycie CPU spadnie do 40%.
Po spełnieniu warunków w regułach jest wyzwalana co najmniej jedna akcja autoskalowania, dodawanie lub usuwanie maszyn wirtualnych. Możesz również wykonywać inne akcje, takie jak wysyłanie wiadomości e-mail, powiadomień lub elementów webhook w celu wyzwalania procesów w innych systemach.
Skalowanie w poziomie a w pionie
Skalowanie automatyczne rozszerza się i kurczy, lub działa w poziomie. Skalowanie horyzontalne to zwiększenie lub zmniejszenie liczby wystąpień zasobów. Na przykład w przypadku zestawu skalowania maszyn wirtualnych skalowanie w poziomie oznacza dodanie większej liczby maszyn wirtualnych. Skalowanie oznacza usuwanie maszyn wirtualnych. Skalowanie w poziomie jest elastyczne w sytuacji chmury, ponieważ umożliwia uruchamianie dużej liczby maszyn wirtualnych do obsługi obciążenia.
Autoskalowanie nie obsługuje skalowania w pionie. Natomiast skalowanie w górę i w dół lub skalowanie w pionie utrzymuje stałą liczbę wystąpień zasobów, ale zapewnia im większą pojemność pod względem pamięci, szybkości procesora CPU, miejsca na dysku i sieci. Skalowanie w pionie jest ograniczone przez dostępność większego sprzętu, który ostatecznie osiągnie górny limit. Dostępność rozmiaru sprzętu różni się w zależności od regionu platformy Azure. Skalowanie w pionie może również wymagać ponownego uruchomienia maszyny wirtualnej podczas procesu skalowania.
Po spełnieniu warunków w regułach jest wyzwalana co najmniej jedna akcja autoskalowania, dodawanie lub usuwanie maszyn wirtualnych. Możesz również wykonywać inne akcje, takie jak wysyłanie wiadomości e-mail, powiadomień lub elementów webhook w celu wyzwalania procesów w innych systemach.
Automatyczne skalowanie predykcyjne
Autoskalowanie predykcyjne wykorzystuje uczenie maszynowe do zarządzania zestawami maszyn wirtualnych i ich skalowania w oparciu o cykliczne wzorce obciążeń. Prognozuje ogólne obciążenie procesora CPU w zestawie skalowania maszyn wirtualnych na podstawie historycznych wzorców użycia procesora CPU. Zestaw skalowania można następnie skalować w czasie, aby sprostać przewidywanemu zapotrzebowaniu.
Konfiguracja automatycznego skalowania
Autoskalowanie można skonfigurować za pomocą:
- Portal Azure
- PowerShell
- Międzyplatformowy interfejs wiersza polecenia (CLI)
- Interfejs API REST usługi Azure Monitor
Metryki zasobów
Zasoby generują metryki używane w regułach skalowania automatycznego do wyzwalania zdarzeń związanych ze skalowaniem. Zestawy skalowania maszyn wirtualnych używają danych telemetrycznych agentów diagnostyki platformy Azure do generowania metryk. Dane telemetryczne funkcji Web Apps usługi Azure App Service i usług Azure Cloud Services pochodzą bezpośrednio z infrastruktury platformy Azure. Niektóre często używane metryki obejmują użycie procesora CPU, użycie pamięci, liczniki wątków, długość kolejki i użycie dysku. Aby uzyskać listę dostępnych metryk, zobacz Autoskaluj typowe metryki.
Metryki niestandardowe
Użyj własnych metryk niestandardowych generowanych przez aplikację. Skonfiguruj aplikację, aby wysyłała metryki do usługi Application Insights , aby można było używać tych metryk do decydowania o tym, kiedy należy skalować.
Czas
Ustaw reguły oparte na harmonogramie, aby wyzwalać zdarzenia skalowania. Użyj reguł opartych na harmonogramie, gdy widzisz wzorce czasu obciążenia i chcesz skalować je przed przewidywaną zmianą obciążenia.
Reguły
Reguły definiują warunki potrzebne do wyzwolenia zdarzenia skalowania, kierunek skalowania i wielkość skalowania. Połącz wiele reguł przy użyciu różnych metryk, takich jak użycie procesora CPU i długość kolejki. Zdefiniuj maksymalnie 10 reguł na profil.
Reguły mogą być następujące:
- Oparta na metryce: wyzwalacz na podstawie wartości metryki, na przykład gdy użycie procesora przekracza 50%.
- Na podstawie czasu: Wyzwalacz wg harmonogramu, na przykład w każdą sobotę o 8:00.
Skalowanie automatyczne zwiększa zasoby, jeśli którakolwiek z reguł zostanie spełniona. Skalowanie automatyczne zostaje wykonane tylko w przypadku spełnienia wszystkich reguł. Jeśli chodzi o operatory logiki, operator OR jest używany do skalowania w górę z wieloma regułami. Operator AND jest używany do skalowania w dół z wieloma regułami.
Akcje i automatyzacja
Reguły mogą wyzwalać co najmniej jedną akcję. Akcje obejmują:
- Skalowanie: Skalowanie zasobów w górę lub w dół.
- Wiadomość e-mail: wyślij wiadomość e-mail do administratorów subskrypcji, współadministratorów i/lub dowolnego innego adresu e-mail.
-
Webhooki: Wywołuj webhooki, aby wyzwalać wiele złożonych akcji wewnątrz lub na zewnątrz platformy Azure. Na platformie Azure można wykonywać następujące czynności:
- Uruchom element Runbook usługi Azure Automation.
- Wywołaj funkcję Azure.
- Wyzwalanie aplikacji logiki platformy Azure.
Ustawienia autoskalowania
Ustawienia skalowania automatycznego obejmują warunki skalowania, które definiują reguły, limity i harmonogramy oraz powiadomienia. Zdefiniuj co najmniej jeden warunek skalowania w ustawieniach i jedną konfigurację powiadomień.
Autoskalowanie używa następującej terminologii i struktury.
INTERFEJS UŻYTKOWNIKA | Kod JSON/interfejs wiersza polecenia | opis |
---|---|---|
Warunki skalowania | Profile | Kolekcja reguł, limitów wystąpień i harmonogramów na podstawie metryki lub czasu. Można zdefiniować jeden lub więcej warunków skalowania lub profilów. Zdefiniuj maksymalnie 20 profilów na ustawienie autoskalowania. |
Reguły | zasady | Zestaw warunków na podstawie czasu lub metryk, które wyzwalają akcję skalowania. Można zdefiniować jedną lub więcej reguł dla akcji skurczania i rozszerzania zasobów. Zdefiniuj maksymalnie 10 reguł na profil. |
Limity wystąpień | pojemność | Każdy warunek skalowania lub profil definiuje domyślną, maksymalną i minimalną liczbę wystąpień, które mogą być uruchamiane w ramach tego profilu. |
Zaplanuj | nawrót | Wskazuje, kiedy autoskalowanie wprowadza ten warunek skalowania lub profil w życie. Istnieje wiele warunków skalowania, które umożliwiają obsługę różnych i nakładających się wymagań. Na przykład można mieć różne warunki skalowania dla różnych godzin dnia lub dni tygodnia. |
Powiadom | powiadomienie | Definiuje powiadomienia do wysyłania, gdy wystąpi zdarzenie autoskalowania. Automatyczne skalowanie może powiadamiać jeden lub więcej adresów e-mail lub wykonywać wywołanie przy użyciu jednego lub więcej webhooków. W formacie JSON można skonfigurować wiele elementów webhook, ale tylko jeden w interfejsie użytkownika. |
Pełna lista konfigurowalnych pól i opisów jest dostępna w Autoscale REST API.
Aby zapoznać się z przykładami kodu, zobacz:
- Samouczek: automatyczne skalowanie zestawu skalowania maszyn wirtualnych przy użyciu interfejsu wiersza polecenia platformy Azure
- Samouczek: automatyczne skalowanie maszyn wirtualnych za pomocą programu PowerShell
Obsługiwane usługi skalowania automatycznego
Skalowanie automatyczne obsługuje następujące usługi.
Następne kroki
Aby dowiedzieć się więcej na temat autoskalowania, zobacz następujące zasoby:
- Typowe metryki skalowania automatycznego w usłudze Azure Monitor
- Użyj akcji automatycznego skalowania do wysyłania powiadomień o alertach za pomocą wiadomości e-mail i alertów webhook
- Samouczek: automatyczne skalowanie zestawu skalowania maszyn wirtualnych przy użyciu interfejsu wiersza polecenia platformy Azure
- Samouczek: automatyczne skalowanie zestawu skalowania maszyn wirtualnych za pomocą programu Azure PowerShell
- Dokumentacja interfejsu wiersza polecenia automatycznego skalowania
- Definicja zasobu w szablonie usługi ARM
- Dokumentacja modułu Az.Monitor programu PowerShell
- Dokumentacja interfejsu API REST: ustawienia skalowania automatycznego