Najlepsze rozwiązania dotyczące automatycznego skalowania

Skalowanie automatyczne usługi Azure Monitor dotyczy tylko usługi Azure Virtual Machine Scale Sets, azure Cloud Services, funkcji Web Apps Azure App Service i platformy Azure API Management.

Pojęcia dotyczące skalowania automatycznego

  • 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, co powoduje zwiększenie liczby wystąpień i zmniejszenie liczby wystąpień.
  • Ustawienie autoskalowania ma maksymalną, minimalną i domyślną wartość wystąpień.
  • Zadanie autoskalowania zawsze odczytuje skojarzoną metryki do skalowania, sprawdzając, czy przekroczył skonfigurowany próg skalowania w poziomie lub skalowania w poziomie. Listę metryk, które można skalować automatycznie, można wyświetlić w usłudze Azure Monitor autoskalowanie typowych metryk.
  • Wszystkie progi są obliczane na poziomie wystąpienia. Przykładem jest "skalowanie w poziomie według jednego wystąpienia, gdy średnia liczba wystąpień wynosi > 80%". Oznacza to skalowanie w poziomie, gdy średni procesor cpu we wszystkich wystąpieniach jest większy niż 80%.
  • Wszystkie błędy autoskalowania 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 skalowania automatycznego.
  • Podobnie wszystkie pomyślne akcje skalowania są publikowane w dzienniku aktywności. Następnie można skonfigurować alert dziennika aktywności, aby można było otrzymywać powiadomienia za pośrednictwem poczty e-mail, wiadomości SMS lub elementów webhook za każdym razem, gdy nastą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 autoskalowania.

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ń to 2, nie można wykonać żadnej akcji 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ą autoskalowanie

Jeśli ręcznie zaktualizujesz liczbę wystąpień do wartości powyżej lub poniżej wartości maksymalnej, aparat autoskalowania automatycznie skaluje się z powrotem do wartości minimalnej (jeśli jest poniżej) lub maksymalnej (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 skaluje do trzech wystąpień w następnym uruchomieniu. Podobnie, jeśli ręcznie ustawisz skalowanie na osiem wystąpień, w następnym uruchomieniu autoskalowanie będzie skalowane z powrotem do sześciu wystąpień w następnym uruchomieniu. Skalowanie ręczne jest tymczasowe, chyba że zresetujesz również reguły autoskalowania.

Zawsze używaj kombinacji reguł skalowania w poziomie i skalowania w poziomie, która wykonuje zwiększenie i zmniejszenie

Jeśli używasz tylko jednej części kombinacji, skalowanie automatyczne wykonuje działanie tylko 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 w celu zapewnienia dostępności. Podobnie w czasach niskiego użycia chcesz, aby zasób był skalowany w taki sposób, aby można było wykorzystać oszczędności kosztów.

W przypadku korzystania z 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ć obostrzenie. 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%, przeskaluj w poziomie o 1
  • Jeśli pamięć > 90%, przeskaluj w poziomie o 1
  • Jeśli procesor CPU < wynosi 45%, skaluj 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żna wybrać jedną z pozycji Średnia, Minimalna, Maksymalna i Suma jako metryka do skalowania według. Najczęstszą statystyką jest Średnia.

Zagadnienia dotyczące skalowania wartości progowych dla metryk specjalnych

W przypadku specjalnych metryk, takich jak usługa Azure Storage lub Azure Service Bus metryka długości kolejki, próg jest średnią liczbą komunikatów dostępnych dla bieżącej liczby wystąpień. Starannie wybierz wartość progową dla tej metryki.

Zilustrujmy go przykładem, aby upewnić się, że lepiej zrozumiesz zachowanie:

  • Zwiększ liczbę wystąpień o 1, gdy liczba >komunikatów kolejki magazynu = 50
  • Zmniejsz liczbę wystąpień o 1, gdy liczba <komunikatów kolejki magazynu = 10

Rozważ następującą sekwencję:

  1. Istnieją dwa wystąpienia kolejki magazynu.
  2. Komunikaty będą nadal przychodzić, a podczas przeglądania kolejki magazynu łączna liczba odczytów wynosi 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.
  3. Następnie załóżmy, że łączna liczba komunikatów osiągnie 100.
  4. Dodano trzecie wystąpienie kolejki magazynu z powodu akcji skalowania w poziomie. Następna akcja skalowania w poziomie nie zostanie wykonana, dopóki łączna liczba komunikatów w kolejce osiągnie 150, ponieważ 150/3 = 50.
  5. Teraz liczba komunikatów w kolejce jest mniejsza. W przypadku trzech wystąpień pierwsza akcja skalowania w poziomie występuje, 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 skalowania automatycznego, gdy ustawiono wiele reguł:

  • W przypadku skalowania w poziomie skalowanie automatyczne jest uruchamiane, jeśli zostanie spełniona jakakolwiek reguła.
  • W przypadku skalowania automatycznego skalowanie wymaga spełnienia wszystkich reguł.

Aby zilustrować, załóżmy, że masz cztery reguły autoskalowania:

  • Jeśli procesor CPU < 30%, skaluj wg 1
  • Jeśli pamięć < wynosi 50%, skaluj wg 1
  • Jeśli procesor CPU > 75%, przeskaluj w poziomie o 1
  • Jeśli pamięć > 75%, przeskaluj 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. Aby skalować w poziomie, procesor musi mieć 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

Autoskaluj wpisy 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 autoskalowania 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 zostało ono skalowane 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 skalowania 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 powiadomienia 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 używania co najmniej protokołu Transport Layer Security (TLS) 1.2. Starsze wersje protokołu TLS/Secure Sockets Layer (SSL) okazały się 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. Jeśli agenci nie będą mogli 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. Umożliwienie agentowi automatycznego wykrywania, negocjowania i korzystania z przyszłych standardów zabezpieczeń jest preferowane. 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