Najlepsze rozwiązania dotyczące automatycznego skalowania
Automatyczne skalowanie usługi Azure Monitor dotyczy tylko zestawów skalowania maszyn wirtualnych platformy Azure, usług Azure Cloud Services, funkcji Web Apps usługi aplikacja systemu Azure i usługi Azure API Management.
Pojęcia dotyczące automatycznego skalowania
- Zasób może mieć tylko jedno ustawienie autoskalowanie.
- Ustawienie skalowania automatycznego może mieć co najmniej jeden profil, a każdy profil może mieć co najmniej jedną regułę skalowania automatycznego.
- Ustawienie autoskalowania skaluje wystąpienia w poziomie, zwiększając liczbę wystąpień i zmniejszając liczbę wystąpień.
- Ustawienie autoskalowania ma maksymalną, minimalną i domyślną wartość wystąpień.
- Zadanie skalowania automatycznego zawsze odczytuje skojarzoną metryę do skalowania, sprawdzając, czy przekroczyła skonfigurowany próg skalowania w poziomie lub skalowania w poziomie. Możesz wyświetlić listę metryk, które autoskalowanie można skalować, korzystając z funkcji automatycznego skalowania w usłudze Azure Monitor.
- Wszystkie progi są obliczane na poziomie wystąpienia. Przykładem jest "skalowanie w poziomie o jedno wystąpienie, gdy średni procesor CPU > 80%, gdy liczba wystąpień wynosi 2". Oznacza to skalowanie w poziomie, gdy średni procesor CPU we wszystkich wystąpieniach jest większy niż 80%.
- Wszystkie błędy automatycznego skalowania są rejestrowane w dzienniku aktywności. Następnie można skonfigurować alert dziennika aktywności, aby otrzymywać powiadomienia za pośrednictwem poczty e-mail, wiadomości SMS lub elementów webhook za każdym razem, gdy wystąpi błąd autoskalowania.
- Podobnie wszystkie pomyślne akcje skalowania są publikowane w dzienniku aktywności. Następnie można skonfigurować alert dziennika aktywności, aby otrzymywać powiadomienia za pośrednictwem poczty e-mail, wiadomości SMS lub elementów webhook za każdym razem, gdy wystąpi pomyślna akcja autoskalowania. Możesz również skonfigurować powiadomienia e-mail lub elementu webhook, aby otrzymywać powiadomienia o pomyślnych akcjach skalowania za pośrednictwem karty powiadomienia w ustawieniu automatycznego skalowania.
Najlepsze rozwiązania dotyczące automatycznego skalowania
Skorzystaj z poniższych najlepszych rozwiązań podczas korzystania z automatycznego skalowania.
Upewnij się, że wartości maksymalne i minimalne są różne, a między nimi jest odpowiedni margines
Jeśli masz ustawienie o wartości minimalnej=2, maksimum=2, a bieżąca liczba wystąpień wynosi 2, nie może wystąpić żadna akcja skalowania. Zachowaj odpowiedni odstęp między maksymalną i minimalną liczbą wystąpień. Liczby określone przez wartości minimum i maksimum są także dozwolone. Autoskalowanie odbywa się zawsze między tymi limitami.
Skalowanie ręczne jest resetowane przez minimalną i maksymalną wartość autoskalowania
Jeśli ręcznie zaktualizujesz liczbę wystąpień do wartości powyżej lub poniżej wartości maksymalnej, aparat autoskalowania automatycznie skaluje z powrotem do minimum (jeśli jest poniżej) lub maksymalną (jeśli powyżej). Można na przykład ustawić zakres z zakresu od 3 do 6. Jeśli masz jedno uruchomione wystąpienie, aparat skalowania automatycznego jest skalowany do trzech wystąpień w następnym uruchomieniu. Podobnie, jeśli ręcznie ustawisz skalę na osiem wystąpień, w następnym uruchomieniu autoskalowanie zostanie przeskalowanie z powrotem do sześciu wystąpień w następnym uruchomieniu. Skalowanie ręczne jest tymczasowe, chyba że zresetowane zostaną również reguły autoskalowania.
Zawsze używaj kombinacji reguł skalowania w poziomie i skalowania w poziomie, która wykonuje wzrost i spadek
Jeśli używasz tylko jednej części kombinacji, skalowanie automatyczne wykonuje tylko działanie w jednym kierunku (skalowanie w poziomie lub w poziomie), dopóki nie osiągnie maksymalnej lub minimalnej liczby wystąpień zgodnie z definicją w profilu. Ta sytuacja nie jest optymalna. Najlepiej, aby zasób był skalowany w poziomie w czasie wysokiego użycia, aby zapewnić dostępność. Podobnie, w czasach niskiego użycia chcesz, aby zasób był skalowany w poziomie, aby można było zrealizować oszczędności kosztów.
Jeśli używasz reguły skalowania w poziomie i skalowania w poziomie, najlepiej użyć tej samej metryki, aby kontrolować obie te metryki. W przeciwnym razie możliwe jest, że warunki skalowania i skalowania w poziomie można spełnić w tym samym czasie i spowodować pewien poziom flappingu. Na przykład nie zalecamy następującej kombinacji reguł, ponieważ nie ma reguły skalowania w poziomie dla użycia pamięci:
- Jeśli procesor CPU > 90%, przeprowadź skalowanie w poziomie o 1
- Jeśli pamięć > wynosi 90%, przeprowadź skalowanie w poziomie o 1
- Jeśli procesor CPU < 45%, przeprowadź skalowanie wg 1
W tym przykładzie można mieć sytuację, w której użycie pamięci wynosi ponad 90%, ale użycie procesora CPU wynosi poniżej 45%. Ten scenariusz może prowadzić do flappingu tak długo, jak oba warunki są spełnione.
Wybierz odpowiednią statystykę dla metryki diagnostycznej
W przypadku metryk diagnostycznych możesz wybrać metrykę Średnia, Minimum, Maksimum i Łączna jako metrykę do skalowania. Najbardziej typową statystyką jest Średnia.
Zagadnienia dotyczące skalowania wartości progowych dla metryk specjalnych
W przypadku metryk specjalnych, takich jak metryka długości kolejki usługi Azure Storage lub Azure Service Bus, próg jest średnią liczbą komunikatów dostępnych dla bieżącej liczby wystąpień. Starannie wybierz wartość progową dla tej metryki.
Zilustrujmy go za pomocą przykładu, aby upewnić się, że lepiej zrozumiesz zachowanie:
- Zwiększ liczbę wystąpień o 1, gdy liczba >komunikatów kolejki usługi Storage = 50
- Zmniejsz liczbę wystąpień o 1, gdy liczba <komunikatów kolejki usługi Storage = 10
Rozważ następującą sekwencję:
- Istnieją dwa wystąpienia kolejki usługi Storage.
- Komunikaty będą nadal przychodzić, a podczas przeglądania kolejki usługi Storage łączna liczba odczytuje 50. Możesz założyć, że automatyczne skalowanie powinno rozpocząć akcję skalowania w poziomie. Należy jednak zauważyć, że nadal jest to 50/2 = 25 komunikatów na wystąpienie. Dlatego skalowanie w poziomie nie występuje. Aby wykonać pierwszą akcję skalowania w poziomie, łączna liczba komunikatów w kolejce magazynu powinna wynosić 100.
- Następnie załóżmy, że łączna liczba komunikatów osiągnie 100.
- Trzecie wystąpienie kolejki usługi Storage jest dodawane z powodu akcji skalowania w poziomie. Kolejna akcja skalowania w poziomie nie zostanie wykonana, dopóki łączna liczba komunikatów w kolejce osiągnie 150, ponieważ 150/3 = 50.
- Teraz liczba komunikatów w kolejce jest mniejsza. W przypadku trzech wystąpień pierwsza akcja skalowania w poziomie ma miejsce, gdy łączna liczba komunikatów we wszystkich kolejkach zwiększa się do 30, ponieważ 30/3 = 10 komunikatów na wystąpienie, co jest progiem skalowania w poziomie.
Zagadnienia dotyczące skalowania w przypadku skonfigurowania wielu reguł w profilu
Istnieją przypadki, w których może być konieczne ustawienie wielu reguł w profilu. Następujące reguły skalowania automatycznego są używane przez aparat automatycznego skalowania, gdy ustawiono wiele reguł:
- W przypadku skalowania w poziomie automatyczne skalowanie jest uruchamiane, jeśli zostanie spełniona jakakolwiek reguła.
- Skalowanie automatyczne wymaga spełnienia wszystkich reguł w skali w poziomie.
Aby zilustrować, załóżmy, że masz cztery reguły autoskalowania:
- Jeśli procesor CPU < wynosi 30%, skalowanie wg 1
- Jeśli pamięć < wynosi 50%, przeprowadź skalowanie o 1
- Jeśli procesor CPU > 75%, przeprowadź skalowanie w poziomie o 1
- Jeśli pamięć > wynosi 75%, przeprowadź skalowanie w poziomie o 1
Następnie następuje następująca akcja:
- Jeśli procesor CPU wynosi 76%, a pamięć wynosi 50%, skalujemy w poziomie.
- Jeśli procesor CPU wynosi 50%, a pamięć wynosi 76%, skalujemy w poziomie.
Z drugiej strony, jeśli procesor cpu wynosi 25%, a pamięć wynosi 51%, skalowanie automatyczne nie jest skalowane w poziomie. Aby można było skalować w poziomie, procesor musi wynosić 29% i pamięć 49%.
Zawsze wybieraj bezpieczną domyślną liczbę wystąpień
Domyślna liczba wystąpień jest ważna, ponieważ skalowanie automatyczne skaluje usługę do tej liczby, gdy metryki nie są dostępne. W związku z tym wybierz domyślną liczbę wystąpień, która jest bezpieczna dla obciążeń.
Skonfiguruj powiadomienia autoskalowania
Automatyczne skalowanie wpisów w dzienniku aktywności, jeśli wystąpi którykolwiek z następujących warunków:
- Skalowanie automatyczne wystawia operację skalowania.
- Usługa autoskalowania pomyślnie ukończy akcję skalowania.
- Usługa autoskalowania nie może wykonać akcji skalowania.
- Metryki nie są dostępne dla usługi autoskalowania w celu podjęcia decyzji o skalowaniu.
- Metryki są ponownie dostępne (odzyskiwanie), aby podjąć decyzję o skali.
- Autoskalowanie wykrywa flapping i przerywa próbę skalowania. W tej sytuacji zostanie wyświetlony typ
Flapping
dziennika. Jeśli widzisz ten typ dziennika, rozważ, czy progi są zbyt wąskie. - Autoskalowanie wykrywa flapping, ale nadal jest w stanie pomyślnie skalować. W tej sytuacji zostanie wyświetlony typ
FlappingOccurred
dziennika. Jeśli widzisz ten typ dziennika, aparat autoskalowania próbował skalować (na przykład z czterech wystąpień do dwóch), ale ustalił, że ta zmiana spowoduje flapping. Zamiast tego aparat skalowania automatycznego został przeskalowany do innej liczby wystąpień (na przykład przy użyciu trzech wystąpień zamiast dwóch), co nie powoduje już flappingu, więc przeskalowane do tej liczby wystąpień.
Możesz również użyć alertu dziennika aktywności, aby monitorować kondycję aparatu autoskalowania. W jednym przykładzie pokazano, jak utworzyć alert dziennika aktywności, aby monitorować wszystkie operacje aparatu skalowania automatycznego w ramach subskrypcji. Inny przykład pokazuje, jak utworzyć alert dziennika aktywności, aby monitorować wszystkie nieudane operacje skalowania automatycznego w poziomie/skalowania w poziomie w ramach subskrypcji.
Oprócz korzystania z alertów dziennika aktywności można również skonfigurować powiadomienia e-mail lub elementu webhook, aby otrzymywać powiadomienia o akcjach skalowania za pośrednictwem karty powiadomień w ustawieniu automatycznego skalowania.
Bezpieczne wysyłanie danych przy użyciu protokołu TLS 1.2
Aby zapewnić bezpieczeństwo danych przesyłanych do usługi Azure Monitor, zdecydowanie zachęcamy do skonfigurowania agenta do korzystania z co najmniej protokołu Transport Layer Security (TLS) 1.2. Starsze wersje protokołu TLS/Secure Sockets Layer (SSL) zostały uznane za podatne na zagrożenia. Mimo że nadal działają, aby umożliwić zgodność z poprzednimi wersjami, nie zalecamy ich. Branża szybko przechodzi do porzucenia obsługi tych starszych protokołów.
Rada Standardów Bezpieczeństwa PCI wyznaczyła termin 30 czerwca 2018 r., aby wyłączyć starsze wersje protokołu TLS/SSL i uaktualnić je do bezpieczniejszych protokołów. Po usunięciu starszej obsługi platformy Azure, jeśli agenci nie mogą komunikować się za pośrednictwem co najmniej protokołu TLS 1.2, nie będzie można wysyłać danych do dzienników usługi Azure Monitor.
Zalecamy, aby agent nie ustawiał jawnie tylko protokołu TLS 1.2, chyba że jest to konieczne. Preferowane jest umożliwienie agentowi automatycznego wykrywania, negocjowania i korzystania z przyszłych standardów zabezpieczeń. W przeciwnym razie możesz przegapić dodatkowe zabezpieczenia nowszych standardów i prawdopodobnie napotkać problemy, jeśli protokół TLS 1.2 jest kiedykolwiek przestarzały na rzecz tych nowszych standardów.
Następne kroki
- Autoskalowanie flapping
- Tworzenie alertu dziennika aktywności w celu monitorowania wszystkich operacji aparatu autoskalowania w ramach subskrypcji
- Tworzenie alertu dziennika aktywności w celu monitorowania wszystkich nieudanych operacji skalowania automatycznego w poziomie/skalowania w poziomie w ramach subskrypcji