Udostępnij za pośrednictwem


Omówienie uruchamiania/zatrzymywania maszyn wirtualnych w wersji 2

Funkcja Uruchamiania/zatrzymywania maszyn wirtualnych w wersji 2 uruchamia lub zatrzymuje wystąpienia usługi Azure Virtual Machines w wielu subskrypcjach. Uruchamia lub zatrzymuje maszyny wirtualne zgodnie z harmonogramami zdefiniowanymi przez użytkownika, udostępnia szczegółowe informacje za pośrednictwem usługi aplikacja systemu Azure Insights i wysyła opcjonalne powiadomienia przy użyciu grup akcji. W większości scenariuszy maszyny wirtualne uruchamiania/zatrzymywania mogą zarządzać maszynami wirtualnymi wdrożonym i zarządzanymi zarówno przez usługę Azure Resource Manager, jak i przez usługę Azure Service Manager (klasyczną), która jest przestarzała.

Ta nowa wersja maszyn wirtualnych uruchamiania/zatrzymywania maszyn wirtualnych w wersji 2 zapewnia zdecentralizowaną opcję automatyzacji o niskich kosztach dla klientów, którzy chcą zoptymalizować koszty maszyn wirtualnych. Oferuje ona wszystkie te same funkcje co oryginalna wersja dostępna w usłudze Azure Automation, ale została zaprojektowana tak, aby korzystać z nowszej technologii na platformie Azure. Maszyny wirtualne uruchamiania/zatrzymywania w wersji 2 korzystają z wielu usług platformy Azure i będą naliczane opłaty na podstawie wdrożonych i używanych usług.

Ważne aktualizacje uruchamiania/zatrzymywania maszyn wirtualnych w wersji 2

  • Żadne dalsze programowanie, ulepszenia ani aktualizacje nie będą dostępne dla wersji Start/Stop w wersji 2, z wyjątkiem sytuacji, gdy jest to wymagane do pozostania w obsługiwanych wersjach składników i usług platformy Azure.

  • Funkcje TriggerAutoUpdate i UpdateStartStopV2 są teraz przestarzałe i zostaną usunięte w przyszłości. Aby zaktualizować polecenie Start/Stop v2, zalecamy zatrzymanie lokacji, zainstalowanie jej w najnowszej wersji z repozytorium GitHub, a następnie uruchomienie witryny. Aby wyłączyć funkcję automatycznej aktualizacji, ustaw dla ustawienia aplikacji funkcji AzureClientOptions:EnableAutoUpdate wartość false. Brak wbudowanego systemu powiadomień dla aktualizacji. Po udostępnieniu aktualizacji do uruchamiania/zatrzymywania wersji 2 zaktualizujemy readme.md w repozytorium GitHub. Obserwatorzy plików usługi GitHub innych firm mogą być dostępne w celu powiadomienia o zmianach.

  • Od 19 sierpnia 2024 r. program Start/Stop v2 został zaktualizowany do modelu izolowanego procesu roboczego platformy .NET 8.

Omówienie

Uruchamianie/zatrzymywanie maszyn wirtualnych w wersji 2 zostało przeprojektowane i nie zależy od usługi Azure Automation ani dzienników usługi Azure Monitor, zgodnie z wymaganiami poprzedniej wersji. Ta wersja korzysta z usługi Azure Functions do obsługi uruchamiania i zatrzymywania wykonywania maszyny wirtualnej.

Tożsamość zarządzana jest tworzona w identyfikatorze Entra firmy Microsoft dla tej aplikacji usługi Azure Functions i umożliwia uruchamianie/zatrzymywanie maszyn wirtualnych w wersji 2 w celu łatwego uzyskiwania dostępu do innych chronionych zasobów firmy Microsoft, takich jak aplikacje logiki i maszyny wirtualne platformy Azure. Aby uzyskać więcej informacji na temat tożsamości zarządzanych w usłudze Microsoft Entra ID, zobacz Tożsamości zarządzane dla zasobów platformy Azure.

Punkt końcowy funkcji wyzwalacza HTTP jest tworzony w celu obsługi scenariuszy harmonogramu i sekwencji dołączonych do tej funkcji, jak pokazano w poniższej tabeli.

Nazwisko Wyzwalacz opis
Zaplanowane HTTP Ta funkcja jest zarówno dla scenariusza zaplanowanego, jak i sekwencjonowanego (zróżnicowanego przez schemat ładunku). Jest to funkcja punktu wejścia wywoływana z aplikacji logiki i pobiera ładunek w celu przetworzenia operacji uruchamiania lub zatrzymywania maszyny wirtualnej.
AutoStop HTTP Ta funkcja obsługuje scenariusz autostopu , który jest funkcją punktu wejścia wywoływaną z aplikacji logiki.
AutoStopVM HTTP Ta funkcja jest wyzwalana automatycznie przez alert maszyny wirtualnej, gdy warunek alertu jest spełniony.
VirtualMachineRequestOrchestrator Queue Ta funkcja pobiera informacje o ładunku z funkcji Scheduled i organizuje żądania uruchamiania i zatrzymywania maszyny wirtualnej.
VirtualMachineRequestExecutor Queue Ta funkcja wykonuje rzeczywistą operację uruchamiania i zatrzymywania na maszynie wirtualnej.
CreateAutoStopAlertExecutor Queue Ta funkcja pobiera informacje o ładunku z funkcji AutoStop w celu utworzenia alertu na maszynie wirtualnej.
HeartBeatAvailabilityTest Czasomierz Ta funkcja monitoruje dostępność podstawowych funkcji HTTP.
CostAnalyticsFunction Czasomierz Ta funkcja jest używana przez firmę Microsoft do szacowania zagregowanego kosztu uruchamiania/zatrzymywania wersji 2 dla klientów. Ta funkcja nie ma wpływu na funkcjonalność uruchamiania/zatrzymywania wersji 2.
SavingsAnalyticsFunction Czasomierz Ta funkcja jest używana przez firmę Microsoft do szacowania zagregowanych oszczędności związanych z uruchamianiem/zatrzymywaniem w wersji 2 wśród klientów. Ta funkcja nie ma wpływu na funkcjonalność uruchamiania/zatrzymywania wersji 2.
VirtualMachineSavingsFunction Queue Ta funkcja wykonuje rzeczywiste obliczenia oszczędności na maszynie wirtualnej osiągnięte przez rozwiązanie Start/Stop V2.
TriggerAutoUpdate Czasomierz Przestarzałe. Ta funkcja uruchamia proces automatycznej aktualizacji na podstawie ustawienia aplikacji "AzureClientOptions:EnableAutoUpdate=true".
UpdateStartStopV2 Queue Przestarzałe. Ta funkcja wykonuje rzeczywiste automatyczne wykonywanie aktualizacji, które weryfikuje bieżącą wersję przy użyciu dostępnej wersji i decyduje o ostatecznej akcji.

Na przykład funkcja zaplanowanego wyzwalacza HTTP służy do obsługi scenariuszy harmonogramu i sekwencji. Podobnie funkcja wyzwalacza HTTP AutoStop obsługuje scenariusz automatycznego zatrzymywania.

Funkcje wyzwalacza oparte na kolejce są wymagane w obsłudze tej funkcji. Wszystkie wyzwalacze oparte na czasomierzu są używane do przeprowadzania testu dostępności i monitorowania kondycji systemu.

Usługa Azure Logic Apps służy do konfigurowania harmonogramów uruchamiania i zatrzymywania maszyny wirtualnej oraz zarządzania nimi, wywołując funkcję przy użyciu ładunku JSON. Domyślnie podczas początkowego wdrażania tworzy łącznie pięć aplikacji logiki dla następujących scenariuszy:

  • Zaplanowane — akcje uruchamiania i zatrzymywania są oparte na harmonogramie określonym względem usługi Azure Resource Manager i klasycznych maszyn wirtualnych. ststv2_vms_Scheduled_start i ststv2_vms_Scheduled_stop skonfigurować zaplanowane uruchamianie i zatrzymywanie.

  • Sekwencjonowane — akcje uruchamiania i zatrzymywania są oparte na harmonogramie przeznaczonym dla maszyn wirtualnych ze wstępnie zdefiniowanymi tagami sekwencjonowania. Obsługiwane są tylko dwa nazwane tagi — sequencestart i sequencestop. ststv2_vms_Sequenced_start i ststv2_vms_Sequenced_stop skonfigurować sekwencjonowany start i zatrzymanie.

    Właściwym sposobem korzystania z funkcji sekwencji jest utworzenie tagu o nazwie sequencestart na każdej maszynie wirtualnej, którą chcesz uruchomić w sekwencji. Wartość tagu musi być liczbą całkowitą z zakresu od 1 do N dla każdej maszyny wirtualnej w odpowiednim zakresie. Tag jest opcjonalny i jeśli nie istnieje, maszyna wirtualna po prostu nie będzie uczestniczyć w sekwencjonowaniu. Te same kryteria dotyczą zatrzymywania maszyn wirtualnych, których nazwa tagu jest inna i używana sequencestop w tym przypadku. Należy skonfigurować oba tagi na każdej maszynie wirtualnej, aby uzyskać akcję uruchamiania i zatrzymywania. Jeśli co najmniej dwie maszyny wirtualne mają tę samą wartość tagu, te maszyny wirtualne zostaną uruchomione lub zatrzymane w tym samym czasie.

    Na przykład poniższa tabela pokazuje, że zarówno akcje uruchamiania, jak i zatrzymywania są przetwarzane w kolejności rosnącej przez wartość tagu.

    Tabela przedstawiająca przykłady tagów ustawień sekwencji

    Uwaga

    Ten scenariusz obsługuje tylko maszyny wirtualne usługi Azure Resource Manager.

  • AutoStop — ta funkcja jest używana tylko do wykonywania akcji zatrzymania zarówno dla usługi Azure Resource Manager, jak i klasycznych maszyn wirtualnych na podstawie użycia procesora CPU. Może to być również zaplanowana akcja podejmowania, która tworzy alerty na maszynach wirtualnych i na podstawie warunku, alert jest wyzwalany w celu wykonania akcji zatrzymania. ststv2_vms_AutoStop konfiguruje funkcję automatycznego zatrzymywania.

Każda akcja Uruchom/Zatrzymaj obsługuje przypisanie co najmniej jednej subskrypcji, grup zasobów lub listy maszyn wirtualnych.

Konto usługi Azure Storage, które jest wymagane przez usługę Functions, jest również używane przez uruchamianie/zatrzymywanie maszyn wirtualnych w wersji 2 do dwóch celów:

  • Używa usługi Azure Table Storage do przechowywania metadanych operacji wykonywania (czyli akcji uruchamiania/zatrzymywania maszyny wirtualnej).

  • Używa usługi Azure Queue Storage do obsługi wyzwalaczy opartych na kolejce usługi Azure Functions.

Wszystkie dane rejestrowania śledzenia z wykonywania aplikacji funkcji są wysyłane do połączonego wystąpienia usługi Application Insights. Dane telemetryczne przechowywane w usłudze Application Insights można wyświetlić z zestawu wstępnie zdefiniowanych wizualizacji przedstawionych na udostępnionym pulpicie nawigacyjnym platformy Azure.

Powiadomienia e-mail są również wysyłane w wyniku akcji wykonywanych na maszynach wirtualnych.

Nowe wydania

Po wydaniu nowej wersji maszyn wirtualnych uruchamiania/zatrzymywania maszyn wirtualnych w wersji 2 wystąpienie jest aktualizowane automatycznie bez konieczności ręcznego ponownego wdrażania.

Obsługiwane opcje określania zakresu

Subskrypcja

Określenie zakresu subskrypcji może być używane, gdy trzeba wykonać akcję uruchamiania i zatrzymywania na wszystkich maszynach wirtualnych w całej subskrypcji, a w razie potrzeby można wybrać wiele subskrypcji.

Można również określić listę maszyn wirtualnych do wykluczenia i zignorować je z akcji. Można również użyć symboli wieloznacznych, aby określić wszystkie nazwy, które jednocześnie mogą być ignorowane.

Grupa zasobów

Określenie zakresu dla grupy zasobów może być używane, gdy trzeba wykonać akcję uruchamiania i zatrzymywania na wszystkich maszynach wirtualnych, określając co najmniej jedną nazwę grupy zasobów i w co najmniej jednej subskrypcji.

Można również określić listę maszyn wirtualnych do wykluczenia i zignorować je z akcji. Można również użyć symboli wieloznacznych, aby określić wszystkie nazwy, które jednocześnie mogą być ignorowane.

Lista maszyn wirtualnych

Określenie listy maszyn wirtualnych może być używane, gdy trzeba wykonać akcję uruchamiania i zatrzymywania dla określonego zestawu maszyn wirtualnych oraz w wielu subskrypcjach. Ta opcja nie obsługuje określania listy maszyn wirtualnych do wykluczenia.

Wymagania wstępne

  • Musisz mieć konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.

  • Aby wdrożyć rozwiązanie, twoje konto musi mieć uprawnienie Właściciel w subskrypcji.

  • Uruchamianie/zatrzymywanie maszyn wirtualnych w wersji 2 jest dostępne we wszystkich regionach chmury globalnej platformy Azure i amerykańskich instytucji rządowych, które są wymienione na stronie Produkty dostępne według regionów dla usługi Azure Functions.

Następne kroki

Aby wdrożyć tę funkcję, zobacz Wdrażanie maszyn wirtualnych uruchamiania/zatrzymywania.