Skalowalne zarządzanie poprawkami maszyn wirtualnych Windows

W tym artykule opisano zalecane podejście do operacjonalizacji aktualizacji systemu operacyjnego na maszynach wirtualnych Windows w obciążeniu. Zalecany proces zapewnia spójne, skalowalne i zarządzane rozwiązanie do zarządzania poprawkami dla maszyn wirtualnych Windows w obciążeniu. Umożliwia weryfikowanie aktualizacji w środowiskach przedprodukcyjnych przed podwyższeniem ich do środowiska produkcyjnego.

Skuteczne zarządzanie poprawkami wykracza poza instalowanie aktualizacji. Strategia zarządzania poprawkami wymaga również spójnego ładu, aby zapewnić, że maszyny wirtualne są dołączane do rozwiązania do zarządzania poprawkami, skonfigurowane zgodnie ze standardami obciążenia i stale monitorowane pod kątem zgodności.

Uwaga

Ten artykuł koncentruje się na Azure Virtual Machines. Mimo że Menedżer aktualizacji platformy Azure obsługuje również serwery z obsługą Azure Arc, scenariusze hybrydowe obejmują dodatkowe zagadnienia i nie zostały tutaj omówione.

Aby uzyskać informacje o Virtual Machine Scale Sets, zobacz Azure Automatyczne uaktualnienia obrazów systemu operacyjnego w zestawie skalowania maszyn wirtualnych.

Menedżer aktualizacji platformy Azure

Zalecaną metodą zarządzania aktualizacjami systemu operacyjnego Windows na maszynach wirtualnych Azure Windows jest użycie programu Update Manager. Ta usługa zapewnia scentralizowane raportowanie planowania i zgodności oraz możliwość przeprowadzania wdrożeń aktualizacji etapowych systemu operacyjnego dla maszyn wirtualnych. Program Update Manager działa za pośrednictwem rozszerzenia Azure maszyny wirtualnej Azure, które jest zainstalowane na każdej maszynie wirtualnej w obciążeniu. Menedżer aktualizacji nie hostuje ani nie dystrybuuje poprawek. Steruje i aktywuje natywnego agenta Windows Update (WUA) na każdej maszynie wirtualnej.

Rozwiązanie Update Manager zapewnia zespołowi ds. obciążeń centralny widok stanu poprawek maszyn wirtualnych w danym środowisku. Możesz ustawić cele i cykle stosowania poprawek oraz włączyć wprowadzanie poprawek na żądanie.

Wskazówka

Program Update Manager instaluje Windows aktualizacji przy użyciu interfejsu API usługi WUA. Ponieważ te aktualizacje pomijają przepływ pracy orkiestratora Windows Update używany przez ustawienia Windows, mogą one nie być wyświetlane w obszarze Ustawienia>Windows Update>Historia aktualizacji. Ta sytuacja jest oczekiwana. Aby zweryfikować instalację aktualizacji, przejrzyj zdarzenia WindowsUpdateClient w Windows Podgląd zdarzeń.

organizacja zasobów Azure

Menedżer aktualizacji nie jest zasobem Azure. Nie wdrażasz go w subskrypcjach swojego obciążenia roboczego. Jest ona dostępna w portalu Azure, a środowisko w portalu jest niezależne od kontroli dostępu opartej na rolach i subskrypcji. Konfiguracje konserwacji, stosowanie poprawek systemu operacyjnego, stosowanie poprawek oraz skojarzenie konfiguracji z maszynami wirtualnymi obciążenia jako Azure zasobami.

Każda konfiguracja konserwacji może mieć jeden harmonogram i może kierować dowolną liczbę zasobów za pośrednictwem skojarzeń. Konfiguracje obsługi są zasobami regionalnymi. Użyj jednej konfiguracji konserwacji i zestawu skojarzeń, aby uwzględnić tylko maszyny wirtualne w tym samym regionie i subskrypcji. Jeśli to podejście jest używane, masz oddzielne zasoby konfiguracji konserwacji dla wszystkich środowisk i potencjalnie więcej niż jeden zasób na środowisko, jeśli obciążenie jest wieloregionowe lub ma różne harmonogramy aktualizacji dla różnych części obciążenia.

Utrzymuj zasoby konfiguracji obsługi jako część infrastruktury jako kodu (IaC) tego obciążenia dla danego środowiska. Takie podejście umożliwia wykonywanie procesów kontroli zmian i bezpiecznych praktyk wdrażania oraz zapewnia opcję odzyskiwania po awarii.

Wymagania dotyczące maszyny wirtualnej

Maszyny wirtualne Windows muszą używać obsługiwanego obrazu niestandardowego lub Azure Marketplace. Niezależnie od źródła należy skonfigurować system operacyjny do obsługi aktualizacji. Zalecaną metodą jest użycie funkcji IaC maszyny wirtualnej, która konfiguruje wymagane ustawienia systemu operacyjnego. W szczególności upewnij się, że maszyny wirtualne mają co najmniej następujące ustawienia:

windowsConfiguration: {
  provisionVMAgent: true
  enableAutomaticUpdates: true

  patchSettings: {
    patchMode: 'AutomaticByPlatform'  // Turns off automatic updates in the OS; now platform triggers updates
    assessmentMode: 'AutomaticByPlatform' // Scans for missing updates every 24 hours

    automaticByPlatformSettings: {
      bypassPlatformSafetyChecksOnUserSchedule: true  // Allows Azure Update Management to honor defined schedules
      rebootSetting: 'IfRequired'  // Or 'Never' if required in your workload
    }
  }
}

Agent gościa systemu Windows instaluje rozszerzenie pomocnicze o nazwie Microsoft.CPlat.Core.WindowsPatchExtension. To uprzywilejowane rozszerzenie jest uruchamiane na maszynach wirtualnych, aby uzyskać harmonogram i zaktualizować konfigurację. Wywołuje również natywne interfejsy API aktualizacji systemu operacyjnego Windows w celu wykonania aktualizacji. To rozszerzenie nie jest definiowane jako część IaC maszyny wirtualnej. Program Update Manager automatycznie instaluje go i utrzymuje swój cykl życia.

Rozszerzenie WindowsPatchExtension nie zastępuje ustawień źródła aktualizacji na maszynie. Nadal ponosisz odpowiedzialność za skonfigurowanie źródła aktualizacji dla maszyn wirtualnych:

Aby uzyskać szczegółowe informacje na temat obsługiwanych źródeł, zobacz Obsługiwane źródła aktualizacji, typy, aktualizacje aplikacji Microsoft i aktualizacje inne niż Microsoft.

Włącz automatyczne oceny, aby raportowanie zgodności odzwierciedlało bieżące dane. Ta funkcja pokazuje stan każdej maszyny wirtualnej w odniesieniu do punktu odniesienia poprawki i wyróżnia nowo ujawnione ekspozycje przed następnym zaplanowanym uruchomieniem. Ocena obejmuje tylko uruchomione maszyny wirtualne. Zatrzymane lub cofnięto przydział maszyn wirtualnych nie są skanowane.

Ważna

Ponieważ program Update Manager bezpośrednio wywołuje natywną funkcję systemu operacyjnego Windows, należy pamiętać, że ustawienia systemu operacyjnego pozostają prawidłowo skonfigurowane do obsługi poprawek.

  • Upewnij się, że zasady grupy, Microsoft Intune lub inne narzędzia do zarządzania konfiguracją nie zastępują ustawień systemu operacyjnego wymaganych do poprawnego działania programu Update Manager na maszynach wirtualnych. Aby uzyskać informacje o określonych wartościach konfiguracji, zobacz Konfigurowanie ustawień Windows Update w Menedżer aktualizacji platformy Azure.
  • Zapory na poziomie systemu operacyjnego nie mogą blokować ruchu aktualizacji.

Egzekwowanie zasad

Obciążenie powinno również używać Azure Policy, aby wymusić, że maszyny wirtualne pozostają prawidłowo skonfigurowane dla programu Update Manager. Zastosuj wbudowane zasady Menedżer aktualizacji platformy Azure, aby zapobiec dryfowaniu konfiguracji. Wbudowane zasady obsługują funkcję DINE (deployIfNotExists) i modyfikują wymuszanie w celu automatycznego korygowania niezgodnych maszyn wirtualnych.

Aby zapoznać się z podejściem opartym na zasadach do zarządzania poprawkami, zobacz Włączanie okresowej oceny i zaplanowane stosowanie poprawek na maszynach wirtualnych Azure przy użyciu zasad. Użyj tej metody, jeśli obciążenie nie korzysta z IaC do wdrażania i konfigurowania maszyn wirtualnych.

Wymagania dotyczące sieci

W przypadku maszyn wirtualnych platformy Azure z bezpośrednim dostępem wychodzącym do Internetu usługa Windows Update zwykle działa bez konieczności dodatkowego dodawania wyjątków sieciowych do listy dozwolonych, pod warunkiem że źródło aktualizacji w systemie operacyjnym gościa, ustawienia DNS, serwera proxy, inspekcji TLS oraz zasad lokalnych zezwalają na ruch usługi Windows Update/Microsoft Update. Większość obciążeń działa jednak w zablokowanych sieciach wirtualnych z ograniczonym dostępem wychodzącym. W takich przypadkach należy zezwolić na ruch do Microsoft Aktualizowanie punktów końcowych we wszystkich sieciowych grupach zabezpieczeń i zaporach wychodzących.

Sieciowe grupy zabezpieczeń

Domyślne źródła aktualizacji, w tym Windows Update, są oparte na systemie DNS i nie publikują stabilnych statycznych list IP. W związku z tym w przypadku internetowych źródeł aktualizacji sieciowa grupa zabezpieczeń dołączona do karty sieciowej maszyny wirtualnej lub jej podsieci musi obsługiwać ruch wychodzący z Internetu do tcp:443 i TCP:80. Należy dodatkowo ograniczyć dostęp z poziomu zapory ruchu wychodzącego. Jeśli aktualizacje pochodzą z zakresu statycznych adresów IP (np. źródła lokalnego), należy jawnie zdefiniować to miejsce docelowe ruchu wychodzącego w sieciowej grupie zabezpieczeń.

Zapora wyjściowa

Zapora dla ruchu wychodzącego musi zezwalać na ruch do nazw FQDN używanych przez źródło aktualizacji. Jeśli używasz Azure Firewall i źródła aktualizacji dostarczonego przez Microsoft, użyj tagu FQDN windowsUpdate, aby zezwolić na dostęp wychodzący do Windows Update punktów końcowych. Aby uzyskać informacje na temat konfigurowania innych zapór ruchu wychodzącego w ścieżce sieciowej, zobacz Konfigurowanie zapór. Należy zezwolić na ten ruch tylko wtedy, gdy pochodzi z maszyn wirtualnych Windows, a nie z niepowiązanych podsieci w obciążeniu.

Kojarzenie maszyn wirtualnych z konfiguracją konserwacji

Chociaż można tworzyć statyczne skojarzenia między konfiguracją konserwacji a maszynami wirtualnymi, zamiast tego należy użyć dynamicznego określania zakresu. Zakresy dynamiczne określają, które maszyny wirtualne są skojarzone z konfiguracją konserwacji na podstawie atrybutów, takich jak grupa zasobów, lokalizacja i tagi. Konfiguracja konserwacji, a nie zakres dynamiczny, definiuje, które aktualizacje są instalowane i kiedy są instalowane. Dynamiczne określanie zakresu automatycznie obejmuje pasujące nowe maszyny wirtualne bez konieczności zarządzania zasobami skojarzeń konfiguracji dla poszczególnych maszyn wirtualnych.

Jeśli używasz dynamicznych reguł określania zakresu, postępuj zgodnie z następującymi zaleceniami:

  • Zarządzaj dynamicznymi regułami określania zakresu w usłudze IaC w ramach obciążenia.
  • Aby uniknąć zależności między środowiskami, uwzględnij tylko maszyny wirtualne ze środowiska, duplikowanie konfiguracji i dynamiczne reguły określania zakresu w środowiskach zgodnie z potrzebami.
  • Użyj tagów jako podstawowego mechanizmu skojarzenia i wymuś ich użycie przy użyciu Azure Policy.

Projektowanie harmonogramu stosowania poprawek etapowych

Typowy harmonogram stosowania poprawek dla obciążenia roboczego opiera się na etapowych harmonogramach wdrażania. Po comiesięcznej Microsoft wersji aktualizacji najpierw zastosuj aktualizacje do maszyn wirtualnych programistycznych i testowych. Po zweryfikowaniu tych aktualizacji podwyższanie poziomu tej samej klasyfikacji aktualizacji do przedprodukcyjnego, a następnie produkcji w oddzielnych oknach obsługi.

Utwórz konfiguracje konserwacji, aby zdefiniować cykl, okno obsługi, klasyfikacje aktualizacji i zachowanie ponownego uruchamiania. Następnie utwórz dynamiczne skojarzenie określania zakresu w celu kierowania maszyn wirtualnych w obciążeniu w celu wykonania rutynowego harmonogramu stosowania poprawek.

Harmonogram wyrównania poprawki do wtorku zwykle umożliwia weryfikację na kilka dni przed wdrożeniem produkcyjnym. Ponieważ Microsoft comiesięczne aktualizacje zabezpieczeń są ogólnie wydawane w drugi wtorek każdego miesiąca, sugerowane podejście może być następujące. W tym przykładzie docelowe maszyny wirtualne są zarządzane za pomocą dynamicznej reguły określania zakresu, która używa tagów.

Environment Harmonogram Tag zasobu maszyny wirtualnej Updates Ponowny rozruch
Rozwój Drugi wtorek
2200-0000
PatchGroup = Backend Lub PatchGroup=Frontend Krytyczne + Bezpieczeństwo Jeśli jest to wymagane
Test Druga środa
2200-0000
PatchGroup = Backend Lub PatchGroup=Frontend Krytyczne + Bezpieczeństwo Jeśli jest to wymagane
Zaplecze produkcyjne (fala 1) Druga sobota
2200-0100
PatchGroup=Backend Krytyczne + Bezpieczeństwo Jeśli jest to wymagane
Fronton produkcyjny (fala 2) W następną niedzielę
2200-0100
PatchGroup=Frontend Krytyczne + Bezpieczeństwo Jeśli jest to wymagane

Obsługa współbieżnych aktualizacji

Konfiguracja konserwacji uruchamia aktualizacje wszystkich skojarzonych maszyn wirtualnych jednocześnie. Azure przeprowadza ponowne uruchomienia sekwencyjnie według domen aktualizacji tylko dla maszyn wirtualnych w tym samym zestawie dostępności. Fale Backend i Frontend w tym przykładzie rozdzielają harmonogram według warstwy, a nie według nadmiarowej pojemności, więc wszystkie instancje w danej warstwie mogą zostać ponownie uruchomione jednocześnie, obniżając pojemność tej warstwy poniżej wymaganego poziomu.

W każdej warstwie produkcyjnej podziel poprawki na fale chroniące pojemność, które są zgodne ze strefami dostępności, domenami aktualizacji lub grupami wystąpień zdefiniowanymi przez obciążenie. Użyj odrębnej wartości tagu i osobnej konfiguracji konserwacji dla każdej fali.

Rozważ spójność wdrażania

Update Manager przeprowadza ponowną ocenę przy każdym uruchomieniu. W związku z tym harmonogramy oparte na klasyfikacji mogą wybierać pakiety aktualizacji skojarzone z innym artykułem bazy wiedzy (KB) w kolejnych falach. Jeśli każda fala musi zainstalować dokładnie zweryfikowany zestaw aktualizacji, skonfiguruj jawne uwzględnienie numerów KB zamiast opierać się wyłącznie na klasyfikacjach.

Tę konfigurację można zautomatyzować przy użyciu interfejsu API REST programu Update Manager, aby wykonać zapytanie dotyczące wyników oceny z pierwszej fali, a następnie zaktualizować konfigurację konserwacji dla kolejnych fal.

Kompromis, który należy wykonać, aby osiągnąć pełną spójność fal, jest znaczącą złożonością aranżacji. Jeśli obciążenie może tolerować ryzyko późniejszej fali instalacji innego pakietu aktualizacji niż pierwsza fala, użyj harmonogramu opartego na klasyfikacji.

Zmniejszanie ponownych uruchomień przy użyciu funkcji hotpatching

Ponowne uruchomienie jest często najbardziej destrukcyjną częścią harmonogramu stosowania poprawek. Określają one rozmiary okien obsługi i zachowanie ponownego uruchamiania w poprzedniej tabeli. Na obsługiwanych obrazach aktualizacje zabezpieczeń są instalowane Windows aktualizacji zabezpieczeń przez stosowanie poprawek w pamięci uruchomionych procesów, dlatego aktualizacje przez większość miesięcy są stosowane bez ponownego uruchamiania. Hotpatch to rozszerzenie Windows Update, dlatego program Update Manager instaluje poprawki na gorąco przy użyciu tych samych konfiguracji konserwacji i dynamicznego określania zakresu używanego dla innych maszyn wirtualnych.

Jeśli Twoje obciążenie robocze jest wrażliwe na ponowne uruchomienia, wybierz wersję systemu operacyjnego (SKU) i architekturę, które obsługują poprawki na gorąco:

  • Funkcja Hotpatch jest dostępna tylko na określonych obrazach Windows. Nie można włączyć funkcji hotpatch dla dowolnego obrazu niestandardowego.
  • Tylko aktualizacje zabezpieczeń systemu Windows są instalowane metodą hotpatchingu. Aktualizacje niezwiązane z zabezpieczeniami, aktualizacje .NET oraz aktualizacje sterowników lub oprogramowania układowego nadal wymagają ponownego uruchomienia w miesiącach ich wydania. Kwartalne bazowe wersje hotpatch oraz każda nieplanowana wersja bazowa, którą Microsoft wydaje w celu usunięcia luki typu zero-day, również wymagają ponownego uruchomienia. Zachowaj okno obsługi, które może wchłonąć ponowne uruchomienie.

Obsługa problemów "przed" i "po"

Program Update Manager ocenia i instaluje aktualizacje systemu operacyjnego, ale pomyślny proces stosowania poprawek może obejmować działania przed i po oknie obsługi w celu bezproblemowego obsługi wymaganych ponownych uruchomień lub problemów specyficznych dla aplikacji. Program Update Manager udostępnia zdarzenia wstępne i zdarzenia końcowe , których można użyć w automatyzacji obciążenia. Do architektury obciążenia dodaje się program obsługi zdarzeń, taki jak funkcja Azure. Program obsługi zdarzeń odpowiada na Azure Event Grid powiadomienia przed zaplanowanym uruchomieniem poprawek i po nim.

Użyj działań wstępnego stosowania poprawek programu Update Manager, aby wykonywać zadania takie jak:

  • Uruchom zatrzymaną maszynę wirtualną lub maszynę wirtualną, której cofnięto przydział zasobów. Nie można zastosować poprawek zatrzymanych lub cofniętych przydziałów maszyn wirtualnych i ich pomijanie.
  • Sprawdź, czy są dostępne punkty odzyskiwania kopii zapasowej.
  • Zweryfikuj kondycję maszyny wirtualnej i aplikacji.
  • Tymczasowo wycisz alerty monitoringu, aby zapobiec fałszywym alarmom w czasie okna konserwacyjnego.

Po zainstalowaniu aktualizacji użyj działań wykonywanych po poprawce, aby wykonywać zadania takie jak:

  • Przywracanie monitorowania.
  • Przeprowadzanie kontroli kondycji aplikacji i usługi.
  • Opublikuj powiadomienie do kanału Microsoft Teams.

Traktuj usługę Event Grid i program obsługi zdarzeń jako zasoby obciążenia. Wdróż je za pomocą usługi IaC i izoluj je między środowiskami.

Przygotowanie do aktualizacji na żądanie

Program Update Manager obsługuje instalację poprawek na żądanie poza zaplanowanym oknem obsługi. Ta funkcja jest przydatna w przypadku stosowania poprawek awaryjnych lub krytycznych poprawek poza cyklem lub sprawdzania poprawności zachowania poprawek na jednej maszynie wirtualnej przed szerszym zaplanowanym wdrożeniem. Aktualizacje na żądanie można wyzwalać bezpośrednio z portalu Azure lub interfejsu API REST programu Update Manager na co najmniej jednej maszynie wirtualnej jednocześnie. Zespół ds. obciążeń powinien ustanowić wytyczne dotyczące tego, kiedy przeprowadzić aktualizację poza pasmem i jak ten proces jest zorganizowany w ramach obciążenia.

Wycofywanie aktualizacji

Menedżer aktualizacji nie zapewnia wycofania poprawek systemu operacyjnego. Po zastosowaniu poprawek nie ma wbudowanego mechanizmu ich odinstalowania bezpośrednio za pomocą programu Update Manager.

Jeśli obciążenie musi obsługiwać stan "ostatniego znanego dobrego", utwórz migawkę lub punkt odzyskiwania przed uruchomieniem konserwacji. Zautomatyzuj tworzenie migawek tak, aby było wykonywane przed każdym oknem instalacji poprawek, co zapewni, że przed zainstalowaniem poprawek zawsze będzie istniał punkt odzyskiwania. Alternatywnie ponownie wdróż maszynę wirtualną bez poprawki, wyklucz problematyczną poprawkę KB z wdrożenia i ponownie zastosuj aktualizacje.

Ważna

Zaplanuj strategię odzyskiwania przed włączeniem zaplanowanego stosowania poprawek w środowisku produkcyjnym.

Raportowanie zgodności

Update Manager przesyła do Azure Resource Graph zarówno wyniki oceny, jak i wyniki instalacji poprawek, a usługa ta przechowuje informacje o oczekujących aktualizacjach przez 7 dni oraz wyniki instalacji przez 30 dni. Program Update Manager zawiera wbudowane widoki raportowania zgodności i zarządzania, które zapewniają wgląd w stan aktualizacji w całym środowisku. Te pulpity nawigacyjne umożliwiają administratorom monitorowanie zgodności poprawek, identyfikowanie maszyn wymagających uwagi i śledzenie postępu wdrażania aktualizacji z centralnej lokalizacji.

Wstępnie zdefiniowane skoroszyty pokazują kluczowe informacje w całym obciążeniu:

  • Ogólne podsumowanie stanu i konfiguracji maszyny
  • Podział oczekujących aktualizacji według ważności i klasyfikacji
  • Podsumowanie harmonogramów, konfiguracji konserwacji i maszyn dołączonych do każdego harmonogramu
  • Historyczny widok poprzednich przebiegów instalacji, w tym współczynniki powodzenia i wszelkie błędy

Wiele organizacji wymaga, aby zespoły ds. aplikacji zapewniały raportowanie zgodności. Najlepiej, aby organizacja używała programu Update Manager do śledzenia, ponieważ środowisko i skoroszyty portalu programu Update Manager mogą działać w granicach subskrypcji i nie trzeba udostępniać niestandardowego raportowania stanu poprawek w obciążeniu.

Jeśli ty lub Twoja organizacja potrzebujesz niestandardowego raportowania poza wstępnie zdefiniowanymi widokami, możesz dostosować skoroszyty. Dołącz dostosowane skoroszyty do plików IaC dla obciążenia, aby wdrożyć proces kontroli zmian i zapewnić możliwość odzyskiwania po awarii. Alternatywą jest dostarczenie wymaganych danych raportowania zgodności za pomocą zapytań usługi Resource Graph.

Jeśli obciążenie musi zachować historię poprawek przez dłuższy czas niż zachowana usługa Resource Graph, utwórz proces eksportowania danych do magazynu, który kontrolujesz.

Alternatywne podejście

Jeśli zdecydujesz się nie przyjąć zaplanowanego, przygotowanego podejścia programu Update Manager dla obciążenia, przed zaprojektowaniem rozwiązania niestandardowego oceń automatyczne stosowanie poprawek gościa maszyny wirtualnej . Jeśli używasz tej opcji, Azure organizuje stosowanie poprawek. Jednak w przypadku korzystania z tego podejścia należy zrezygnować z następujących korzyści:

  • Wdrożenie etapowe. Aktualizacje nie są promowane za pośrednictwem fal programistycznych, testowych i produkcyjnych, więc tracisz bramy weryfikacji.
  • Kontrolka okna obsługi. Azure określa, kiedy stosowanie poprawek jest uruchamiane poza godzinami szczytu w strefie czasowej każdej maszyny wirtualnej.
  • Aktualizowanie kontrolki klasyfikacji. Są stosowane tylko aktualizacje krytyczne i aktualizacje zabezpieczeń. Inne aktualizacje nie są instalowane automatycznie.

Współautorzy

Microsoft utrzymuje ten artykuł. Następujący współautorzy napisali ten artykuł.

Główny autor:

Aby wyświetlić niepubliczne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki