Zarządzanie zgodnością maszyn wirtualnych

Azure Policy

W tym artykule opisano sposób zarządzania zgodnością maszyn wirtualnych bez pogarszania praktyk Metodyki DevOps. Użyj narzędzia Azure VM Image Builder i galerii obliczeń platformy Azure, aby zminimalizować ryzyko związane z obrazami systemowymi.

Architektura

Rozwiązanie składa się z dwóch procesów:

  • Proces publikowania złotego obrazu
  • Proces śledzenia zgodności maszyny wirtualnej

Diagram architektury przedstawiający sposób zarządzania Azure Marketplace obrazami rozwiązania. Zilustrowane kroki obejmują dostosowywanie, śledzenie, testowanie i publikowanie.

Pobierz plik programu Visio z tą architekturą.

Przepływ danych

Proces publikowania złotego obrazu jest uruchamiany co miesiąc i zawiera następujące kroki:

  1. Proces przechwytuje obraz podstawowy z Azure Marketplace.
  2. Konstruktor obrazów maszyny wirtualnej dostosowuje obraz.
  3. Proces wytatuowania obrazu śledzi informacje o wersji obrazu, takie jak źródło i data publikacji.
  4. Testy automatyczne weryfikują obraz.
  5. Jeśli obraz zakończy się niepowodzeniem, zostanie on zwrócony do kroku dostosowywania w celu naprawy.
  6. Proces publikuje sfinalizowany obraz.
  7. Galeria obliczeń udostępnia obraz zespołom DevOps.

Diagram architektury przedstawiający sposób zarządzania zgodnością rozwiązania przez przypisywanie definicji zasad, ocenianie maszyn i wyświetlanie danych na pulpicie nawigacyjnym.

Pobierz plik programu Visio z tą architekturą.

Proces śledzenia zgodności maszyny wirtualnej zawiera następujące kroki:

  1. Azure Policy przypisuje definicje zasad do maszyn wirtualnych i ocenia maszyny wirtualne pod kątem zgodności.
  2. Azure Policy publikuje dane zgodności dla maszyn wirtualnych i innych zasobów platformy Azure na pulpicie nawigacyjnym Azure Policy.

Składniki

  • Vm Image Builder to zarządzana usługa do dostosowywania obrazów systemowych. Ta usługa kompiluje i dystrybuuje obrazy używane przez zespoły DevOps.

  • Galeria obliczeniowa ułatwia tworzenie struktury i organizowanie obrazów niestandardowych. Dzięki przechowywaniu obrazów w repozytoriach ta usługa zapewnia kontrolowany dostęp do obrazów. Użytkownicy mogą znajdować się w organizacji i poza organizacją.

  • Azure Policy oferuje definicje zasad. Możesz użyć tych definicji, aby wymusić standardy organizacji i ocenić zgodność na dużą skalę. Na pulpicie nawigacyjnym Azure Policy są wyświetlane wyniki oceny Azure Policy. Te dane informują o stanie zgodności zasobów.

  • Funkcja azure Automanage Machine Configuration Azure Policy umożliwia dynamiczne przeprowadzanie inspekcji lub przypisywanie konfiguracji do maszyn za pomocą kodu. Konfiguracje zwykle obejmują ustawienia środowiska lub systemu operacyjnego.

Alternatywy

  • Do zarządzania zgodnością można użyć narzędzia innej firmy. Jednak w przypadku tego typu narzędzia zwykle trzeba zainstalować agenta na docelowej maszynie wirtualnej. Może być również konieczne zapłacenie opłaty licencyjnej.

  • Rozszerzenia niestandardowego skryptu umożliwiają instalowanie oprogramowania na maszynach wirtualnych lub konfigurowanie maszyn wirtualnych po wdrożeniu. Jednak każda maszyna wirtualna lub zestaw skalowania maszyn wirtualnych może mieć tylko jedno rozszerzenie niestandardowego skryptu. Jeśli używasz niestandardowych rozszerzeń skryptów, uniemożliwiasz zespołom DevOps dostosowywanie swoich aplikacji.

Szczegóły scenariusza

Każde przedsiębiorstwo ma własne przepisy i standardy zgodności. W odniesieniu do bezpieczeństwa każda firma ma własny apetyt na ryzyko. Standardy zabezpieczeń mogą różnić się od jednej organizacji do innej i między regionami.

Przestrzeganie różnych standardów może być trudniejsze w dynamicznym skalowaniu środowisk w chmurze niż w systemach lokalnych. Gdy zespoły korzystają z praktyk DevOps, zwykle jest mniej ograniczeń dotyczących tego, kto może tworzyć zasoby platformy Azure, takie jak maszyny wirtualne. Ten fakt komplikuje wyzwania związane ze zgodnością.

Korzystając z przypisań kontroli dostępu Azure Policy i opartych na rolach, przedsiębiorstwa mogą wymuszać standardy w zasobach platformy Azure. Jednak w przypadku maszyn wirtualnych te mechanizmy wpływają tylko na płaszczyznę sterowania lub trasę do maszyny wirtualnej. Obrazy systemowe uruchamiane na maszynie wirtualnej nadal stanowią zagrożenie bezpieczeństwa. Niektóre firmy uniemożliwiają deweloperom uzyskiwanie dostępu do maszyn wirtualnych. Takie podejście zmniejsza elastyczność, co utrudnia przestrzeganie praktyk metodyki DevOps.

W tym artykule przedstawiono rozwiązanie do zarządzania zgodnością maszyn wirtualnych uruchomionych na platformie Azure. Oprócz śledzenia zgodności rozwiązanie minimalizuje również ryzyko związane z obrazami systemowymi uruchamianymi na maszynach wirtualnych. Jednocześnie rozwiązanie jest zgodne z praktykami Metodyki DevOps. Podstawowe składniki obejmują narzędzie Azure VM Image Builder, galerię obliczeń platformy Azure i Azure Policy.

Potencjalne przypadki użycia

To rozwiązanie dotyczy organizacji ze strefami docelowymi platformy Azure, które wykonują następujące zadania:

  • Dostarczanie złotych obrazów zespołom DevOps. Złoty obraz to opublikowana wersja obrazu z witryny Marketplace.
  • Testowanie i weryfikowanie obrazów przed udostępnieniem ich zespołom DevOps.
  • Śledzenie obrazu używanego przez poszczególne zespoły DevOps.
  • Wymuszanie standardów firmy bez obniżania wydajności.
  • Zapewnienie, że zespoły DevOps używają najnowszych wersji obrazów.
  • Zarządzanie zgodnością serwerów zwierząt domowych, które są intensywnie konserwacyjne i serwery bydła, które można łatwo wymienić.

Podejście

W poniższych sekcjach przedstawiono szczegółowy opis podejścia rozwiązania.

Identyfikowanie zwierząt domowych i bydła

Zespoły DevOps używają analogii zwanej zwierzętami domowymi i bydłem do definiowania modeli usług. Aby śledzić zgodność maszyny wirtualnej, najpierw określ, czy jest to serwer zwierząt domowych lub bydła:

  • Zwierzęta wymagają znacznej uwagi. Nie są łatwe do wydania. Odzyskanie serwera zwierząt domowych wymaga inwestowania znacznej ilości czasu i zasobów finansowych. Na przykład serwer z uruchomionym oprogramowaniem SAP może być zwierzętami domowymi. Oprócz oprogramowania, które działa na serwerze, inne zagadnienia mogą również określać model usługi. Jeśli masz niską odporność na awarie, serwery produkcyjne w czasie rzeczywistym i niemal w czasie rzeczywistym mogą być również zwierzętami domowymi.

  • Serwery bydła są częścią identycznej grupy. Można je łatwo zamienić. Na przykład maszyny wirtualne uruchamiane w zestawie skalowania maszyn wirtualnych to bydło. Jeśli w zestawie jest wystarczająca liczba maszyn wirtualnych, system nadal działa i nie musisz znać nazwy każdej maszyny wirtualnej. Serwery środowiska testowego spełniające następujące warunki stanowią kolejny przykład bydła:

    • Aby utworzyć serwery od podstaw, należy użyć procedury zautomatyzowanej.
    • Po zakończeniu uruchamiania testów należy zlikwidować serwery.

Środowisko może zawierać tylko serwery pet lub może zawierać tylko serwery bydła. Z kolei zestaw maszyn wirtualnych w środowisku może być zwierzętami domowymi. Inny zestaw maszyn wirtualnych w tym samym środowisku może być bydłem.

Aby zarządzać zgodnością:

  • Zgodność zwierząt domowych może być trudniejsza do śledzenia niż zgodność bydła. Zwykle tylko zespoły DevOps mogą śledzić i utrzymywać zgodność środowisk i serwerów domowych. Jednak rozwiązanie tego artykułu zwiększa widoczność stanu każdego zwierzaka, co ułatwia wszystkim w organizacji śledzenie zgodności.
  • W środowiskach bydła odśwież maszyny wirtualne i regularnie odbuduj je od podstaw. Te kroki powinny być odpowiednie do zapewnienia zgodności. Ten cykl odświeżania można dostosować do regularnego cyklu wydawania zespołu DevOps.

Ograniczanie obrazów

Nie zezwalaj zespołom DevOps na używanie Azure Marketplace obrazów maszyn wirtualnych. Zezwalaj tylko na obrazy maszyn wirtualnych publikowane przez galerię obliczeniową. To ograniczenie ma kluczowe znaczenie dla zapewnienia zgodności maszyn wirtualnych. Aby wymusić to ograniczenie, możesz użyć zasad niestandardowych w Azure Policy. Aby zapoznać się z przykładem, zobacz Zezwalaj wydawcom obrazów.

W ramach tego rozwiązania konstruktor obrazów maszyny wirtualnej powinien używać obrazu Azure Marketplace. Niezbędne jest użycie najnowszego obrazu dostępnego w Azure Marketplace. Zastosuj wszelkie dostosowania na tym obrazie. Azure Marketplace obrazy są często odświeżane, a każdy obraz ma pewne ustawienia wstępne, zapewniając, że obrazy są domyślnie bezpieczne.

Dostosowywanie obrazów

Złoty obraz to wersja obrazu witryny Marketplace opublikowanego w usłudze Compute Gallery. Złote obrazy są dostępne do użycia przez zespoły DevOps. Przed opublikowaniem obrazu następuje dostosowanie. Działania dostosowywania są unikatowe dla każdego przedsiębiorstwa. Typowe działania obejmują:

  • Wzmacnianie zabezpieczeń systemu operacyjnego.
  • Wdrażanie agentów niestandardowych dla oprogramowania innej firmy.
  • Instalowanie certyfikatów głównych urzędu certyfikacji przedsiębiorstwa.

Możesz użyć konstruktora obrazów maszyny wirtualnej do dostosowywania obrazów, dostosowując ustawienia systemu operacyjnego i uruchamiając niestandardowe skrypty i polecenia. Narzędzie VM Image Builder obsługuje obrazy systemów Windows i Linux. Aby uzyskać więcej informacji na temat dostosowywania obrazów, zobacz Azure Policy Regulatory Compliance controls for Azure Virtual Machines (Mechanizmy kontroli zgodności z przepisami dla usługi Azure Virtual Machines).

Śledzenie tatuaży obrazów

Tatuaż obrazu to proces śledzenia wszystkich informacji o wersji obrazu używanych przez maszynę wirtualną. Te informacje są bezcenne podczas rozwiązywania problemów i mogą obejmować:

  • Oryginalne źródło obrazu, takie jak nazwa i wersja wydawcy.
  • Ciąg wersji systemu operacyjnego, który jest potrzebny, jeśli istnieje uaktualnienie w miejscu.
  • Wersja obrazu niestandardowego.
  • Data publikacji.

Ilość i typ śledzonych informacji zależy od poziomu zgodności organizacji.

W przypadku tatuażu obrazów na maszynach wirtualnych z systemem Windows skonfiguruj rejestr niestandardowy. Dodaj wszystkie wymagane informacje do tej ścieżki rejestru jako pary klucz-wartość. Na maszynach wirtualnych z systemem Linux wprowadź dane tatuażu obrazu do zmiennych środowiskowych lub pliku. Umieść plik w folderze /etc/ , w którym nie powoduje konfliktu z pracą deweloperów ani aplikacjami. Jeśli chcesz użyć Azure Policy do śledzenia danych tatuażu lub raportu na nim, zapisz każdy kawałek danych jako unikatową parę klucz-wartość. Aby uzyskać informacje na temat określania wersji obrazu witryny Marketplace, zobacz How to find a Marketplace image version (Jak znaleźć wersję obrazu witryny Marketplace).

Weryfikowanie złotych obrazów za pomocą testów automatycznych

Ogólnie rzecz biorąc, należy odświeżyć złote obrazy co miesiąc, aby zachować aktualną dostępność najnowszych aktualizacji i zmian w obrazach Azure Marketplace. W tym celu należy użyć cyklicznej procedury testowania. W ramach procesu tworzenia obrazu użyj potoku platformy Azure lub innego zautomatyzowanego przepływu pracy do testowania. Skonfiguruj potok, aby wdrożyć nową maszynę wirtualną na potrzeby uruchamiania testów przed rozpoczęciem każdego miesiąca. Testy powinny potwierdzić przeanalizowanie obrazów przed opublikowaniem ich do użycia. Automatyzuj testy przy użyciu rozwiązania do automatyzacji testów lub uruchamiając polecenia lub partie na maszynie wirtualnej.

Typowe scenariusze testowe obejmują:

  • Weryfikowanie czasu rozruchu maszyny wirtualnej.
  • Potwierdzenie dostosowania obrazu, takiego jak ustawienia konfiguracji systemu operacyjnego lub wdrożenia agenta.

Test, który zakończył się niepowodzeniem, powinien przerwać proces. Powtórz test po rozwiązaniu głównej przyczyny problemu. Jeśli testy są uruchamiane bez problemu, automatyzacja procesu testowania zmniejsza nakład pracy, który przechodzi do utrzymania stanu evergreen.

Publikowanie złotych obrazów

Publikowanie końcowych obrazów w galerii obliczeniowej jako obrazu zarządzanego lub wirtualnego dysku twardego (VHD), którego mogą używać zespoły DevOps. Oznacz wszystkie wcześniejsze obrazy jako przestarzałe. Jeśli nie ustawiono daty zakończenia okresu życia dla wersji obrazu w galerii obliczeniowej, możesz zrezygnować z najstarszego obrazu. Ta decyzja zależy od zasad firmy.

Aby uzyskać informacje na temat limitów, które mają zastosowanie podczas korzystania z galerii obliczeniowej, zobacz Store and share images in an Azure Compute Gallery (Przechowywanie i udostępnianie obrazów w galerii obliczeń platformy Azure).

Innym dobrym rozwiązaniem jest opublikowanie najnowszych obrazów w różnych regionach. Za pomocą usługi Compute Gallery można zarządzać cyklem życia i replikacją obrazów w różnych regionach świadczenia usługi Azure.

Aby uzyskać więcej informacji na temat galerii obliczeń, zobacz Store and share images in an Azure Compute Gallery (Przechowywanie i udostępnianie obrazów w galerii obliczeń platformy Azure).

Odśwież złote obrazy

Gdy obraz jest używany dla aplikacji, może być trudno zaktualizować podstawowy obraz systemu operacyjnego przy użyciu ostatnich zmian zgodności. Ścisłe wymagania biznesowe mogą komplikować proces odświeżania podstawowej maszyny wirtualnej. Odświeżanie jest również złożone, gdy maszyna wirtualna ma kluczowe znaczenie dla firmy.

Ponieważ serwery bydła są nieznośne, można koordynować z zespołami DevOps odświeżanie tych serwerów w zaplanowanym oknie konserwacji jako działanie biznesowe jak zwykle.

Jest to trudniejsze do odświeżenia serwerów zwierząt domowych. Zaprzestanie tworzenia obrazu może narażać aplikacje na ryzyko. W scenariuszach skalowanych w poziomie platforma Azure nie może odnaleźć odpowiednich obrazów, co powoduje awarie.

Podczas odświeżania serwerów zwierząt domowych należy wziąć pod uwagę następujące wskazówki:

Zwiększanie widoczności

Ogólnie rzecz biorąc, należy użyć Azure Policy do zarządzania wszelkimi działaniami zgodności płaszczyzny sterowania. Można również użyć Azure Policy dla:

  • Śledzenie zgodności maszyn wirtualnych.
  • Instalowanie agentów platformy Azure.
  • Przechwytywanie dzienników diagnostycznych.
  • Poprawa widoczności zgodności maszyn wirtualnych.

Użyj funkcji Azure Automanage Machine Configuration Azure Policy, aby przeprowadzić inspekcję zmian konfiguracji wprowadzonych podczas dostosowywania obrazu. W przypadku dryfu pulpit nawigacyjny Azure Policy wyświetla maszynę wirtualną, której dotyczy problem, jako niezgodną. Azure Policy mogą używać informacji o tatuażu obrazów do śledzenia w przypadku korzystania z nieaktualnych obrazów lub systemów operacyjnych.

Przeprowadź inspekcję serwerów zwierząt domowych dla każdej aplikacji. Korzystając z zasad platformy Azure z efektem inspekcji, można poprawić widoczność tych serwerów. Dostosuj proces inspekcji zgodnie z apetytem firmy na ryzyko i wewnętrznymi procesami zarządzania ryzykiem.

Każdy zespół devOps może śledzić poziomy zgodności aplikacji na pulpicie nawigacyjnym Azure Policy i podejmować odpowiednie działania naprawcze. Po przypisaniu tych zasad do grupy zarządzania lub subskrypcji nadaj opisowi przypisania adres URL, który prowadzi do witryny typu wiki w całej firmie. Możesz również użyć krótkiego adresu URL, takiego jak aka.ms/policy-21. W witrynie typu wiki wyświetl listę kroków, które powinny wykonać zespoły DevOps, aby zapewnić zgodność maszyn wirtualnych.

Menedżerowie ryzyka IT i oficerowie ds. zabezpieczeń mogą również używać pulpitu nawigacyjnego Azure Policy do zarządzania ryzykiem firmy zgodnie z apetytem na ryzyko firmy.

Za pomocą funkcji konfiguracji maszyny automatycznej platformy Azure Azure Policy z opcjami korygowania można automatycznie stosować akcje naprawcze. Jednak często przesłuchiwana maszyna wirtualna lub wprowadzanie zmian na maszynie wirtualnej używanej dla aplikacji krytycznej dla działania firmy może obniżyć wydajność. Zaplanuj akcje korygowania starannie pod kątem obciążeń produkcyjnych. Nadaj zespołowi DevOps własność zgodności aplikacji we wszystkich środowiskach. Takie podejście jest niezbędne w przypadku serwerów i środowisk domowych, które są zwykle długoterminowymi składnikami platformy Azure.

Zagadnienia do rozważenia

Te zagadnienia implementują filary platformy Azure Well-Architected Framework, która jest zestawem podstawowych zestawów, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.

Skalowalność

Można skonfigurować liczbę replik przechowywanych przez galerię obliczeniową poszczególnych obrazów. Większa liczba replik minimalizuje ryzyko ograniczania przepustowości podczas aprowizowania wielu maszyn wirtualnych jednocześnie. Aby uzyskać ogólne wskazówki dotyczące skalowania i konfigurowania odpowiedniej liczby replik, zobacz Scaling for Azure Compute Gallery (Skalowanie dla usługi Azure Compute Gallery).

Odporność

To rozwiązanie używa składników zarządzanych, które są automatycznie odporne na poziomie regionalnym. Aby uzyskać ogólne wskazówki dotyczące projektowania odpornych rozwiązań, zobacz Projektowanie odpornych aplikacji na platformę Azure.

Optymalizacja kosztów

Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Omówienie filaru optymalizacji kosztów.

Jeśli nie używasz usługi innej firmy, takiej jak Ansible lub Terraform, ta metoda jest prawie bezpłatna. Mogą być stosowane koszty magazynowania i ruchu wychodzącego. Inne potencjalne opłaty obejmują następujące składniki:

  • Azure Policy i konfiguracja maszyny automatycznej platformy Azure są bezpłatne dla zasobów platformy Azure. Jeśli firma korzysta z podejścia hybrydowego, są naliczane dodatkowe opłaty za zasoby usługi Azure Arc.

  • W okresie publicznej wersji zapoznawczej narzędzie VM Image Builder używa pojedynczego typu wystąpienia obliczeniowego z 1 procesorami wirtualnymi i 3,5 GB pamięci RAM. Opłaty mogą być naliczane za przechowywanie i transfer danych.

  • Galeria obliczeniowa nie ma żadnych opłat z wyjątkiem:

    • Koszt przechowywania replik.
    • Opłaty za ruch wychodzący sieci za replikowanie obrazów.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Został pierwotnie napisany przez następujących współautorów.

Główny autor:

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

Następne kroki