Zestawy skalowania maszyn wirtualnych
Automatycznie skaluj identyczne maszyny wirtualne w górę lub w dół zależnie od zapotrzebowania oraz konfiguruj sondy kondycji i reguły równoważenia obciążenia dla aplikacji o wysokiej dostępności.
Zestawy skalowania maszyn wirtualnych to bezpłatna lekcja Azure Fundamentals na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Azure Fundamentals, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Azure Fundamentals zawiera 4 lekcji w sumie.
Problem rozwiązywany przez zestawy skalowania
Ręczne zarządzanie flotą identycznych maszyn wirtualnych — dodawanie serwerów w okresach szczytowego zapotrzebowania i usuwanie ich, gdy zapotrzebowanie spada — jest żmudne, podatne na błędy i powolne. Zestawy skalowania maszyn wirtualnych (VMSS) automatyzują ten proces, zarządzając grupą identycznych maszyn wirtualnych równoważonych obciążeniem jako jednym zasobem. Gdy zapotrzebowanie rośnie, VMSS automatycznie dodaje nowe wystąpienia maszyn wirtualnych. Gdy zapotrzebowanie spada, usuwa wystąpienia. Eliminuje to potrzebę ręcznej interwencji i zapewnia, że płacą Państwo tylko za potrzebną w danym momencie pojemność.
Tworzenie zestawu skalowania
Zestaw skalowania jest definiowany przez profil maszyny wirtualnej (obraz, rozmiar, konfigurację dysku i rozszerzenia), który jest współdzielony przez każde wystąpienie w zestawie. Podczas tworzenia zestawu skalowania określają Państwo minimalną i maksymalną liczbę wystąpień oraz początkową pojemność. Wszystkie wystąpienia są tworzone na podstawie tego samego obrazu, co zapewnia spójność całej floty. Zestaw skalowania można wdrożyć w wielu strefach dostępności, a Azure automatycznie równomiernie rozdzieli wystąpienia między strefy, zapewniając wysoką dostępność.
# Create a VM Scale Set across Zones 1, 2, and 3
az vmss create \
--resource-group myRG \
--name myScaleSet \
--image Ubuntu2204 \
--instance-count 2 \
--zones 1 2 3 \
--admin-username azureuser \
--generate-ssh-keysReguły automatycznego skalowania
Reguły automatycznego skalowania VMSS określają kiedy dodawać lub usuwać wystąpienia na podstawie metryk. Typowa reguła może brzmieć: „Gdy średnie użycie procesora przekroczy 70% przez 5 minut, dodaj 2 wystąpienia. Gdy średnie użycie procesora spadnie poniżej 30% przez 10 minut, usuń 1 wystąpienie”. Mogą Państwo również tworzyć reguły na podstawie metryk niestandardowych z usługi Azure Monitor (np. długości kolejki lub liczby żądań HTTP) albo na podstawie harmonogramu (np. skalowanie do 20 wystąpień w każdy dzień roboczy rano i powrót do 5 wystąpień w nocy). Połączenie reguł opartych na metrykach i harmonogramie zapewnia precyzyjną kontrolę nad pojemnością.
# Add autoscale rule: scale out when CPU > 70%
az monitor autoscale rule create \
--resource-group myRG \
--autoscale-name myScaleSetAutoscale \
--condition 'Percentage CPU > 70 avg 5m' \
--scale out 2Równoważenie obciążenia z użyciem zestawów skalowania
Zestawy skalowania są niemal zawsze łączone z modułem równoważenia obciążenia, który rozdziela przychodzące żądania między wszystkie zdrowe wystąpienia. Azure udostępnia dwie opcje: Azure Load Balancer (warstwa 4, TCP/UDP) do zastosowań wymagających małych opóźnień i dużej przepustowości oraz Azure Application Gateway (warstwa 7, HTTP/HTTPS) dla aplikacji internetowych wymagających routingu na podstawie adresów URL, terminowania SSL i ochrony WAF. Moduł równoważenia obciążenia używa sond kondycji do wykrywania niezdrowych wystąpień i automatycznie przestaje kierować do nich ruch do czasu ich przywrócenia.
Sondy kondycji i naprawa wystąpień
VMSS można skonfigurować z funkcją automatycznej naprawy wystąpień — jeśli sonda kondycji określi, że wystąpienie jest niezdrowe (np. aplikacja nie odpowiada na porcie 80), zestaw skalowania może automatycznie usunąć i zastąpić to wystąpienie nowym, zdrowym wystąpieniem. Konfiguruje się to za pomocą ustawienia automaticRepairsPolicy. Okres karencji (np. 10 minut od uruchomienia) zapobiega zastępowaniu wystąpień, zanim będą miały czas na uruchomienie aplikacji i przejście pierwszego sprawdzenia kondycji.
Orkiestracja uniform i elastyczna
VMSS obsługuje dwa tryby orkiestracji: tryb uniform — wszystkie wystąpienia są identyczne i zarządzane jako grupa; jest to rozwiązanie idealne dla bezstanowych obciążeń, takich jak serwery internetowe i kolejki zadań. Tryb elastyczny — wystąpienia mogą mieć różne rozmiary i konfiguracje, a poszczególnymi maszynami wirtualnymi można zarządzać niezależnie, korzystając jednocześnie z rozdzielania między strefy i modelu kondycji zestawu skalowania. Orkiestracja elastyczna lepiej sprawdza się w przypadku heterogenicznych obciążeń lub gdy trzeba zastąpić konkretne wystąpienia bez wpływania na pozostałe.
Aktualizacje kroczące bez przestoju
Po zaktualizowaniu obrazu maszyny wirtualnej lub konfiguracji zestawu skalowania zmiany trzeba przekazać do wszystkich wystąpień. VMSS obsługuje aktualizacje kroczące, które aktualizują wystąpienia w małych partiach (np. po 20%), zamiast aktualizować je wszystkie jednocześnie. Dzięki temu większość wystąpień pozostaje dostępna podczas stosowania aktualizacji. Zasady aktualizacji kroczących umożliwiają skonfigurowanie maksymalnego rozmiaru partii i czasu przerwy między partiami, zapewniając szczegółową kontrolę nad tempem aktualizacji i minimalizując wpływ na użytkowników.
Wystąpienia Spot w zestawach skalowania
VMSS może korzystać z wystąpień Spot (nazywanych również maszynami wirtualnymi Azure Spot), aby znacznie obniżyć koszty — nawet o 90% w porównaniu z cenami płatności zgodnie z rzeczywistym użyciem — wykorzystując niewykorzystaną pojemność Azure. Kompromisem jest możliwość odebrania wystąpień Spot z zaledwie 30-sekundowym wyprzedzeniem, gdy Azure potrzebuje odzyskać tę pojemność. Z tego powodu wystąpienia Spot w VMSS nadają się do odpornych na awarie bezstanowych obciążeń, takich jak zadania przetwarzania wsadowego, kodowanie multimediów i agenci kompilacji CI/CD, które mogą tolerować przerwy i wznawiać działanie z punktów kontrolnych.
Limity skalowania i przydziały
Domyślnie VMSS może zawierać maksymalnie 1000 wystąpień maszyn wirtualnych w przypadku korzystania z obrazów Azure Marketplace lub maksymalnie 600 wystąpień w przypadku obrazów niestandardowych. Subskrypcje Azure mają również obowiązujące w poszczególnych regionach limity vCPU, które ograniczają liczbę jednostek vCPU możliwych do wykorzystania we wszystkich zasobach. Jeśli potrzebują Państwo skalowania poza domyślne limity, mogą Państwo poprosić o zwiększenie przydziału za pośrednictwem portalu Azure. Wcześniejsze zaplanowanie uwzględniające te limity jest ważne w przypadku wdrożeń produkcyjnych na dużą skalę, które podczas szczytowych wydarzeń mogą wymagać skalowania do tysięcy wystąpień.
VMSS dla obciążeń stanowych
Chociaż VMSS jest przede wszystkim przeznaczony dla obciążeń bezstanowych, może również zarządzać aplikacjami stanowymi przy użyciu trwałych dysków systemu operacyjnego. W tej konfiguracji każde wystąpienie zachowuje swój dysk systemu operacyjnego po cofnięciu alokacji podczas zmniejszania skali, dzięki czemu stan właściwy dla danego wystąpienia (np. unikatowa konfiguracja lub dane sesji) zostaje zachowany. Rozwiązanie to jest używane w przypadku aplikacji takich jak serwery gier, gdzie każde wystąpienie ma odrębną tożsamość. Jednak w większości scenariuszy stanowych (bazy danych, pamięci podręczne) lepiej sprawdzają się dedykowane usługi zarządzane Azure, takie jak Azure SQL lub Azure Cache for Redis, niż maszyny wirtualne w zestawie skalowania.
Monitorowanie i diagnostyka zestawów skalowania
Monitorowanie VMSS wymaga wglądu zarówno w poziom zestawu skalowania (liczbę wystąpień w czasie i zdarzenia automatycznego skalowania), jak i w poziom poszczególnych wystąpień (procesor, pamięć, dysk i dzienniki aplikacji). Azure Monitor automatycznie zbiera metryki platformy dla zestawu skalowania. Aby zbierać metryki i dzienniki na poziomie aplikacji, należy zainstalować rozszerzenie Azure Monitor Agent na wystąpieniach za pośrednictwem profilu maszyny wirtualnej zestawu skalowania, dzięki czemu każde nowe wystąpienie automatycznie rozpocznie raportowanie do obszaru roboczego Log Analytics. Zapewnia to ujednoliconą obserwowalność całej floty z poziomu jednego pulpitu nawigacyjnego.
Szybkie sprawdzenie
Sprawdź swoją wiedzę na temat zagadnień Microsoft Azure Fundamentals (AZ-900) omówionych w tej lekcji.
Podsumowanie lekcji
W tej lekcji poznali Państwo następujące informacje: zestawy skalowania maszyn wirtualnych zarządzają grupą identycznych maszyn wirtualnych równoważonych obciążeniem i automatycznie skalują ją na podstawie metryk lub harmonogramów, sondy kondycji i automatyczna naprawa wystąpień utrzymują flotę w dobrym stanie bez ręcznej interwencji, a także aktualizacje kroczące umożliwiają aktualizacje bez przestoju dzięki zastępowaniu wystąpień w małych partiach. Następnie omówimy Azure Virtual Desktop jako rozwiązanie pulpitu hostowane w chmurze.
Często zadawane pytania
Czy lekcja „Zestawy skalowania maszyn wirtualnych” jest bezpłatna?
Tak — pełny tekst „Zestawy skalowania maszyn wirtualnych” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Azure Fundamentals, przejdź na CoddyKit PRO. Kurs Azure Fundamentals zawiera 4 lekcji w sumie.
Co nauczysz się w „Zestawy skalowania maszyn wirtualnych”?
Automatycznie skaluj identyczne maszyny wirtualne w górę lub w dół zależnie od zapotrzebowania oraz konfiguruj sondy kondycji i reguły równoważenia obciążenia dla aplikacji o wysokiej dostępności. Ćwiczysz Azure Fundamentals z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Azure Fundamentals?
Nie wymagamy żadnego doświadczenia. Azure Fundamentals w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Zestawy skalowania maszyn wirtualnych”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Azure Fundamentals?
Tak. Każda lekcja Azure Fundamentals zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Maszyny wirtualne Azure
- Zestawy skalowania maszyn wirtualnych
- Azure Virtual Desktop
- Wybór odpowiedniej usługi obliczeniowej