M365Con 2027 – bezpłatna konferencja online · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Azure Automation Runbooks: zarządzanie architekturą Microsoft Azure na autopilocie

By · · Updated

Azure Automation Runbooks: zarządzanie architekturą Microsoft Azure na autopilocie. Poznaj sprawdzone praktyki automatyzacji w Azure, dzięki którym uporządkujesz swoją architekturę chmurową.

Automatically translated with AI from the original post. Read the English original

Znasz to „niewinne” kliknięcie w portalu, które o 2 w nocy zamienia się w incydent? Ja tę lekcję odrobiłem na własnej skórze, gdy dobrze zamierzona ręczna aktualizacja maszyny wirtualnej urosła do rozmiarów problemu z niespójnymi konfiguracjami w całym środowisku. Rozwiązaniem nie było bohaterstwo, tylko nudna, powtarzalna automatyzacja. W Azure właśnie tu sprawdzają się runbooki, zasoby i kilka dobrze umieszczonych punktów kontrolnych Azure Automation, które po cichu ratują Twój tydzień.

9 zaskakujących faktów o architekturze Microsoft Azure na autopilocie
  1. Autopilot potrafi wdrożyć całe środowiska chmurowe: korzystając ze wzorców Azure Autopilot razem z infrastrukturą jako kodem (ARM/Bicep/Terraform), organizacje mogą automatycznie udostępniać strefy docelowe (landing zones) i zabezpieczenia dla architektury automatyzacji przedsiębiorstwa w Azure w ciągu godzin zamiast tygodni.
  2. Samonaprawianie sterowane zasadami jest wbudowane: połączenie Azure Policy, Azure Monitor i skryptów wdrożeniowych Autopilot pozwala traktować architekturę jak system samonaprawiający się. Niezgodne zasoby są wykrywane i automatycznie przywracane do właściwego stanu, co ogranicza ręczne rozjeżdżanie się konfiguracji w architekturze automatyzacji przedsiębiorstwa w Azure.
  3. Automatyzacja oparta na tożsamości skaluje się bezpiecznie: przepływy Autopilot wykorzystują tożsamości zarządzane oraz warunkowy dostęp Azure AD do rotacji poświadczeń i przydzielania uprawnień o najmniejszym zakresie. Dzięki temu architektura automatyzacji przedsiębiorstwa w Azure może rosnąć bez rozrastania się liczby sekretów.
  4. Zarządzanie kosztami można zautomatyzować na dużą skalę: szablony Autopilot mogą zawierać tagowanie, alerty budżetowe i zasady automatycznego wyłączania, dzięki czemu architektura automatyzacji przedsiębiorstwa w Azure egzekwuje kontrolę kosztów we wszystkich subskrypcjach bez interwencji człowieka.
  5. Środowiska hybrydowe stają się pełnoprawnymi obywatelami: wzorce Azure Autopilot integrują Azure Arc, aby rozszerzyć zasady i automatyzację na serwery lokalne i wielochmurowe. Dzięki temu architektura automatyzacji przedsiębiorstwa w Azure staje się naprawdę hybrydowa i zarządzana centralnie.
  6. Wdrożenia uwzględniające topologię aplikacji: potoki sterowane przez Autopilot mogą wdrażać rozproszone aplikacje z uwzględnieniem topologii (regiony, strefy dostępności, bliskość danych), co pozwala architekturze automatyzacji przedsiębiorstwa w Azure automatycznie optymalizować opóźnienia i odporność.
  7. Runbooki wspierane przez AI przyspieszają pracę operacyjną: integracja Azure Automation z Azure OpenAI lub usługami poznawczymi pozwala procesom Autopilot sugerować lub generować runbooki, przyspieszając rozwój operacyjnych procedur architektury automatyzacji przedsiębiorstwa w Azure.
  8. Dowody zgodności powstają w sposób ciągły: Autopilot może podłączyć automatyczne zbieranie dowodów (logi, raporty zasad, potwierdzenia) do magazynów zgodności, dzięki czemu architektura automatyzacji przedsiębiorstwa w Azure generuje raporty gotowe do audytu na żądanie.
  9. Promocja środowisk bez ingerencji człowieka jest możliwa: potoki Autopilot mogą przenosić zmiany infrastruktury i aplikacji z dev do prod, wykorzystując automatyczne testy, zatwierdzenia i logikę wycofywania zmian. Pozwala to architekturze automatyzacji przedsiębiorstwa w Azure obsługiwać bezpieczne, bezdotykowe CI/CD dla zmian w infrastrukturze i platformie.

1) Dlaczego automatyzować (zanim wybierzesz narzędzia)

Wyobraź sobie ostatnią ręczną zmianę w Azure. Teraz zadaj sobie pytanie: której jej części nie potrafiłbyś dziś odtworzyć – dokładnych kroków, parametrów, czasu, zatwierdzeń i sposobu wycofania zmiany? Zapisz to. Ta lista jest Twoim prawdziwym punktem wyjścia do Azure Automation i automatyzacji operacji w chmurze, a nie porównaniem narzędzi.

Zamień problemy w trzy motywatory

Azure Automation jest przedstawiana jako podstawowa usługa do powtarzalnych i niezawodnych procesów z wykorzystaniem Windows PowerShell Workflow. Twoje „dlaczego” zwykle sprowadza się do trzech czynników:

Scott Guthrie: "Automatyzacja zamienia niezawodność w cechę produktu, a nie w gorączkowe gaszenie pożarów."

Przypisz cele do powierzchni Azure (IaaS i PaaS)

Określ wprost, od czego zaczniesz automatyzację. Automatyzację IaaS i PaaS łatwiej zaplanować, gdy nazwiesz konkretne obszary:

Zdefiniuj, co oznacza „niezawodny”, zanim napiszesz runbooki

Zespoły, które definiują cele w kategoriach powtarzalności i odzyskiwania, zazwyczaj tworzą runbooki, które przetrwają zmiany kadrowe i presję podczas incydentów. W Twoim przypadku „niezawodny” powinno oznaczać:

  1. Idempotentne kroki (bezpieczne do wielokrotnego uruchomienia).
  2. Odzyskiwalne przepływy pracy (wznawianie po awarii; w istotnych miejscach z punktami kontrolnymi).
  3. Obserwowalne zadania (jasny status, logi i wyniki, które można audytować).

Globalnie dostępny magazyn Azure Automation, oparty na redundancji, wspiera wysoką dostępność i odporność na katastrofy, ale projekt runbooków nadal musi dążyć do powtarzalnych wyników.

Szybki test intuicji: przypomnienia to kandydaci do automatyzacji

Jeśli zadanie wymaga przypomnienia w kalendarzu, prawdopodobnie potrzebuje zasobu harmonogramu. Zacznij od niewielkiego zestawu zadań o wysokiej częstotliwości, udowodnij wartość, a następnie rozszerzaj zakres iteracyjnie.

Mała dygresja: czytelność jako element kontroli operacyjnej

Najlepsza automatyzacja nie jest sprytna, lecz czytelna dla przyszłego Ciebie. Stosuj jasne nazwy, proste parametry i oczywiste logowanie. Traktuj czytelność jako część spójności operacyjnej, a nie kwestię stylu.

ElementLiczbaSzczegóły
Główne czynniki napędowe3Błąd ludzki, spójność, złożoność na skalę przedsiębiorstwa
Typy scenariuszy Azure2IaaS, PaaS
Podstawowe koncepcje niezawodności2Wysoka dostępność, odporność na katastrofy
Przykładowe usługi Azure5VM-y, SQL DB, Storage, Websites, usługi w chmurze

Generated image

2) Konfiguracja w pierwszej godzinie: konto Automation z zamierzoną izolacją

Pierwszy sukces z runbookami zaczyna się, zanim napiszesz choćby jedną linijkę kodu: utwórz konto Azure Automation w Azure Management Portal pod adresem manage.windowsazure.com. Tak, stary portal nadal pojawia się w dokumentacji i w środowiskach, które możesz odziedziczyć. Traktuj ten krok jako fundament, a nie formalność.

Nazwij konto Azure Automation tak, jakby to naprawdę miało znaczenie

Stosuj ustandaryzowany wzorzec: środowisko + zespół + przeznaczenie. Przykład: prod-finops-vmops lub nonprod-platform-patching. Ustandaryzowane nazewnictwo zmniejsza tarcia operacyjne podczas reagowania na incydenty i kontroli zgodności, ponieważ szybko odpowiesz na pytania: „Do czego służy to konto i kto za nie odpowiada?”

Izolacja logiczna: ogranicz promień rażenia od pierwszego dnia

Rozdzielenie na poziomie kont to najprostsza bariera bezpieczeństwa. Rozdzielanie środowisk na poziomie konta ogranicza promień rażenia, gdy runbook zachowuje się nieoczekiwanie.

Michael McKeown: „Izolacja to nie biurokracja – to sposób, w jaki utrzymujesz przewidywalność automatyzacji w miarę jej rozwoju.”

Azure AD authentication + RBAC Azure: decyzja na wczesnym etapie

Wybierz podejście do uwierzytelniania od początku. Preferuj uwierzytelnianie Azure AD zamiast certyfikatów zarządzania, aby uzyskać czystszy model bezpieczeństwa i łatwiejsze zarządzanie cyklem życia. Następnie dopasuj dostęp za pomocą RBAC Azure, aby operatorzy mogli publikować, uruchamiać i monitorować zadania bez nadmiernych uprawnień. Dzięki temu audyty są prostsze, ponieważ uprawnienia odpowiadają rolom, a nie współdzielonym sekretom.

Zaplanuj strategię zakładki Assets przed runbookami

W każdym koncie Automation zakładka Assets przechowuje wspólne elementy składowe. Zaplanuj wcześnie te cztery typy zasobów, aby runbooki pozostały sparametryzowane i powtarzalne:

  1. Poświadczenia (użyj Get-AutomationPSCredential zamiast wpisywania ich na sztywno)
  2. Zmienne (ustawienia środowiska, identyfikatory, flagi funkcji)
  3. Harmonogramy (okna poprawek, codzienne kontrole, miesięczne raporty)
  4. Moduły integracyjne (standardowe cmdlety i funkcje wielokrotnego użytku)

Test na nieprzewidziane sytuacje: drugi region w przyszłym kwartale

Zadaj sobie pytanie już teraz: jeśli w przyszłym kwartale dodasz drugi region, czy struktura konta Ci pomoże, czy zamieni się w wykopaliska archeologiczne? Jeśli region ma znaczenie, zakoduj go w nazwie lub wydziel według wrażliwości obciążenia, aby rozbudowa pozostała przewidywalna.

Generated image

3) Runbooki jako jednostka pracy (i jednostka żalu)

W usłudze Azure Automation runbook to nie jest „zwykły skrypt w chmurze”. To Twoja jednostka pracy przy powtarzalnych operacjach – i jednocześnie Twoja jednostka żalu, gdy pominiesz dyscyplinę. Traktuj runbooki PowerShell jak artefakty z cyklem życia runbooka, ponieważ produkcja nie wybacza „szybkich poprawek”, które nigdy nie zostały przetestowane ani monitorowane.

Jeffrey Snover: "Runbooka, którego nie da się szybko przeczytać, nie da się zaufać o 2 w nocy."

Zarządzanie runbookami w Azure oznacza odpowiedzialność za cykl życia

Twoim najbezpieczniejszym domyślnym podejściem jest sześciokrokowa pętla, którą możesz powtarzać bez dramatów:

  1. Importuj sprawdzone punkty startowe
  2. Utwórz nowy runbook, gdy potrzebujesz czystego kontenera
  3. Edytuj małymi, łatwymi do przeglądu zmianami
  4. Testuj w wersji roboczej, zanim dotkniesz zachowania w środowisku produkcyjnym
  5. Publikuj dopiero wtedy, gdy wyniki są przewidywalne
  6. Monitoruj zadania i dzienniki, a następnie iteruj

Wnioski z badań dobrze pasują do rzeczywistych operacji: zespoły, które egzekwują testowanie, publikowanie i monitorowanie, ograniczają incydenty spowodowane nieprzejrzanymi zmianami. Właśnie to jest praktyczna korzyść ze ścisłego cyklu życia runbooka.

Korzystaj z przykładów społeczności, a następnie refaktoryzuj do własnych standardów

Możesz przyspieszyć wdrożenie, importując gotowe elementy składowe z Azure Automation Runbook Gallery, Microsoft Script Center oraz biblioteki MSDN ("Sample runbooks for Azure Automation"). Zacznij od tych źródeł, ale na nich nie poprzestawaj. Przykłady społeczności pozwalają ruszyć z miejsca; refaktoryzacja do modularnych standardów ułatwi Ci życie w przyszłości.

Respektuj stany i równoczesną edycję (ktoś na pewno kliknie „Edytuj”)

Runbooki występują w trzech stanach: Wersja robocza, Opublikowany i W edycji. W prawdziwych zespołach równoczesna edycja pojawia się w najgorszym możliwym momencie. Twoja zasada: ryzykowne prace wykonuj w wersji roboczej, publikuj celowo i polegaj na historii wersji, aby móc wycofać zmiany bez paniki.

Edycja bezpośrednio w portalu Azure Management jest przydatna, gdy musisz działać szybko, ale unikaj traktowania edycji w portalu jak akrobacji na linie. Wprowadzaj małe zmiany, testuj za każdym razem i monitoruj za pomocą widoków zadań, takich jak Get-AzureAutomationJob.

Osobista zasada kciuka: jeśli nie potrafisz wyjaśnić runbooka jednym tchem, podziel go na dwa.

Generated image

4) Zasoby: nudny sekret sukcesu (poświadczenia, harmonogramy, moduły)

Runbooki pozostają czyste, gdy traktujesz zasoby Azure Automation jako miejsce na wszystko, czego nigdy nie powinno się wpisywać na sztywno: wartości specyficzne dla środowiska, uwierzytelnianie, czas wykonania i zależności. W zakładce Zasoby zarządzasz dokładnie 4 typami zasobów – zmiennymi, poświadczeniami, harmonogramami i modułami integracji – a obowiązują one we wszystkich runbookach w tym samym koncie Automation. Takie scentralizowane podejście ogranicza duplikowanie konfiguracji i sprawia, że rotacje (poświadczeń, punktów końcowych, wersji modułów) są przewidywalne, zamiast bolesne.

Zmienne: jedno źródło prawdy dla ustawień środowiska

Używaj zmiennych dla wartości, które różnią się w zależności od środowiska (nazwy grup zasobów, nazwy kont magazynu, wskazówki dotyczące regionu, flagi funkcji). Gdy zaktualizujesz zmienną raz, każdy runbook odczyta tę samą wartość, co pomaga uniknąć rozjazdu typu „u nas działa na środowisku deweloperskim”.

Zasoby poświadczeń + Get-AutomationPSCredential: koniec z wklejaniem sekretów

Przechowuj nazwy użytkowników i hasła jako zasoby poświadczeń, a następnie pobieraj je w kodzie za pomocą jednego, standardowego polecenia: Get-AutomationPSCredential. Dzięki temu sekrety nie trafiają do skryptów, wyników zadań ani systemu kontroli wersji – bo jawnie zapisane sekrety to właśnie od tego zaczynają się analizy poincydentalne.

Mark Russinovich: "Sekrety nie wyciekają z kodu, którego nigdy nie napisałeś – wyciekają z kodu, o którym zapomniałeś."

Model bezpieczeństwa: RBAC w Azure AD zamiast "współdzielonych certyfikatów"

Preferuj uwierzytelnianie Azure AD oraz RBAC w Azure AD, abyś mógł wyjaśnić dostęp w kategoriach ról i zakresów, a nie „bo wysłaliśmy certyfikat mailem w 2017 roku”. RBAC poprawia możliwość audytu i zmniejsza ryzyko szerokich, niekontrolowanych uprawnień, zwłaszcza gdy wiele zespołów współdzieli jedno konto Automation.

Harmonogramy: automatyzuj rutynę, a potem ją przeglądaj

Harmonogramy zamieniają runbooki w niezawodne operacje: okna wdrożeń poprawek, zadania czyszczenia, codzienne raporty lub okresowe kontrole zgodności. Ustal cykl przeglądów, abyś nie odkrył, że codzienne zadanie uderza w API, którego od dawna już nie używasz.

Moduły integracyjne: utrzymuj porządek w zależnościach

Moduły to Twoje wspólne biblioteki. Dokumentuj, co zaimportowano, dlaczego i które runbooki od tego zależą, aby aktualizacje po cichu nie psuły środowiska produkcyjnego.

Analogia: zasoby to Twoja spiżarnia, a runbooki to przepisy. Nie przykleja się worka mąki do każdej strony książki kucharskiej.

Generated image

5) Projektowanie runbooków odpornych na awarie: parametry, czasowniki, punkty kontrolne

Nazewnictwo czasownik-rzeczownik: przeglądaj bibliotekę jak menu

Stosuj dwuczłonowy wzorzec nazw PowerShell czasownik-rzeczownik, abyś szybko mógł przeglądać runbooki: czasownik + rzeczownik. Nazwy takie jak New-AzureEnvironmentResourcesFromGallery, Update-AzureVM, Copy-ItemToAzureVM i Install-ModuleOnAzureVM pozwalają od razu zorientować się, co dany element robi. Spójne nazewnictwo ułatwia też zespołowi ponowne wykorzystanie automatyzacji w różnych środowiskach bez kopiowania i rozjeżdżania się wersji.

Najpierw projektuj parametry (przed napisaniem logiki)

Parametryzuj od początku, aby ten sam runbook działał dla różnych subskrypcji, regionów i nazw maszyn wirtualnych bez edycji. W PowerShell Workflow traktuj parametry jak kontrakt: nazwę grupy zasobów lub grupy powinowactwa, konto magazynu, nazwę maszyny wirtualnej, obraz i zasób poświadczeń. Gdy przekazujesz wartości w momencie uruchomienia (lub z runbooka nadrzędnego), runbook pozostaje przenośny, a Ty ograniczasz powstawanie jednorazowych wersji, które trudno utrzymać.

Strategia punktów kontrolnych runbooka z Checkpoint-Workflow

Twoja strategia punktów kontrolnych runbooka sprawia, że długi przepływ pracy staje się idempotentną automatyzacją, którą można bezpiecznie uruchomić ponownie. Punkty kontrolne zmniejszają koszt przejściowych błędów, ponieważ pozwalają wznowić pracę po ukończonych krokach zamiast wykonywać wszystko od nowa. Umieszczaj Checkpoint-Workflow po ważnych, stabilnych etapach:

Daje to dwie właściwości zwiększające niezawodność: idempotentność i odzyskiwanie. Małe wyznanie: za pierwszym razem, gdy pominiesz punkty kontrolne, wszystko działa… i właśnie wtedy zaczyna się problem.

Don Jones: "Jeśli nie projektujesz pod kątem ponownego uruchamiania, projektujesz pod kątem awarii."

InlineScript: przydatne, ale łatwe do nadużycia

Używaj InlineScript, gdy musisz uruchomić polecenia niezgodne z przepływem pracy, ale traktuj go jak ostrą przyprawę: odrobina pomaga, za dużo ukrywa stan i utrudnia odzyskiwanie. Szkielet przepływu pracy utrzymuj w natywnych aktywnościach, aby punkty kontrolne pozostały znaczące.

Rejestruj dane tak, jakbyś miał je szybko debugować

Generuj dane wyjściowe ułatwiające szybkie rozwiązywanie problemów: strumienie Verbose i Progress oraz sprawdzanie zadań w Portal Dashboard (stan, błędy i czas). Gdy zadanie zakończy się niepowodzeniem, powinieneś widzieć, co zostało uruchomione, co zostało zmienione i od którego punktu kontrolnego można wznowić pracę.

6) Orkiestracja runbooków: synchronicznie, asynchronicznie i pytanie „kto co uruchomił?”

Orkiestrując runbooki Azure Automation, podejmujesz jeden zasadniczy wybór: synchroniczny czy asynchroniczny. Wybieraj świadomie. Orkiestracja synchroniczna (dwa podtypy: wbudowana i zagnieżdżona) sprawdza się najlepiej, gdy kroki są ściśle zależne i potrzebujesz ścisłej kolejności. Orkiestracja asynchroniczna najlepiej nadaje się do długotrwałych lub powtarzalnych zadań, w których praca równoległa zwiększa przepustowość, ale też rośnie potrzeba śledzenia zadań i agregowania wyników.

Gene Kim: "Orkiestracja nie polega na uruchamianiu większej liczby rzeczy, lecz na wiedzy o tym, co zostało uruchomione, kiedy i dlaczego."

Start-AzureAutomationRunbook i Start-ChildRunbook: wybieraj przejrzystość, a nie tylko szybkość

Używaj Start-AzureAutomationRunbook, gdy chcesz uruchomić zadanie bez blokowania bieżącego runbooka. Używaj Start-ChildRunbook, gdy zależy Ci na wyraźnej relacji nadrzędny/podrzędny, która przyspiesza rozwiązywanie problemów i ułatwia przekazywanie zadań. Ten łańcuch „kto co uruchomił?” ma znaczenie podczas incydentów, audytów i przeglądów po zmianach.

Get-AzureAutomationJob i monitorowanie Azure Automation: udowodnij, że zadanie zostało uruchomione

Niewygodne pytanie brzmi: „Czy to się uruchomiło, czy tylko napisało, że się uruchomiło?” Uwzględnij odpowiedź już w projekcie. W monitorowaniu Azure Automation należy śledzić identyfikatory zadań, status, czas rozpoczęcia i zakończenia oraz błędy. Gdy potrzebujesz pulpitów lub szybkich skryptów do triażu, pobieraj historię za pomocą jednego kluczowego polecenia: Get-AzureAutomationJob.

Hipotetyczny przykład: uruchamiasz od razu 20 zadań aktualizacji maszyn wirtualnych. Twój plan powinien obejmować (1) limit równoległości, (2) zasady przekroczenia czasu oraz (3) sposób agregowania błędów (na przykład „przerwij od razu, jeśli 3 zadania się nie powiodą” kontra „wykonaj wszystkie i podsumuj wyniki”).

Publikowanie i kontrola wersji: traktuj zmiany jako kontrolowane działania

Orkiestracja przestaje działać, gdy runbooki zaczynają się rozjeżdżać. Korzystaj z mechanizmów cyklu życia: testuj w wersji roboczej (Draft), publikuj świadomie i polegaj na historii wersji. Unikaj przypadkowego nadpisywania, zwłaszcza w przypadku runbooków „nadrzędnych”, które uruchamiają wiele innych.

Synchroniczność a asynchroniczność (kompromisy operacyjne)

Generated image

7) Scenariusz z praktyki: udostępnianie zasobów IaaS bez ciągłego nadzoru

Gdy odpowiadasz za codzienne operacje w chmurze, najtrudniejsze w automatyzacji udostępniania IaaS nie jest napisanie skryptu, lecz to, by był powtarzalny. W Azure Automation możesz zbudować jeden runbook wdrażania maszyny wirtualnej platformy Azure, który tworzy środowisko w trzech wyraźnych etapach: grupa powinowactwa, konto magazynu i maszyna wirtualna. Następnie dodajesz udostępnianie z punktami kontrolnymi, dzięki czemu ponowne uruchomienie bezpiecznie kontynuuje pracę zamiast ją powielać.

Zacznij od New-AzureEnvironmentResourcesFromGallery, a następnie sparametryzuj

Praktycznym punktem wyjścia jest runbook w stylu galerii o nazwie New-AzureEnvironmentResourcesFromGallery. Traktuj go jak szablon: zachowaj strukturę, ale dostosuj parametry do swoich reguł nazewnictwa, regionów, rozmiarów maszyn wirtualnych i wyborów sieciowych. Badania i doświadczenie z praktyki są tu zgodne: szablony sterowane parametrami przyspieszają tworzenie środowisk, a jednocześnie utrzymują spójność wdrożeń, zwłaszcza gdy wiele zespołów prosi o „to samo” środowisko z drobnymi różnicami.

Jawnie zdefiniuj obrazy i poświadczenia (a sekrety przechowuj jako zasoby)

Uczyń wybór obrazu maszyny wirtualnej i model administrowania jawnymi. Nie umieszczaj haseł ani certyfikatów w kodzie. Zamiast tego przechowuj poświadczenia na karcie Zasoby i pobieraj je w czasie wykonywania:

$cred = Get-AutomationPSCredential -Name 'VmAdminCredential'

Dodaj 3 punkty kontrolne — po jednym za każdym etapem

Wywołania płaszczyzny kontrolnej platformy Azure mogą okresowo kończyć się błędem. Runbooki udostępniania z punktami kontrolnymi ograniczają skutki, pozwalając zadaniu wznowić pracę po restarcie lub przejściowym błędzie. Umieść trzy punkty kontrolne:

  1. Po utworzeniu grupy powinowactwa
  2. Po skonfigurowaniu konta magazynu
  3. Po utworzeniu maszyny wirtualnej

Checkpoint-Workflow po każdym kroku sprawia, że runbook jest odporny na błędy i łatwiejszy w obsłudze.

Pisz z myślą o bezpiecznym ponownym uruchamianiu: wykryj, zweryfikuj, kontynuuj

Twój runbook powinien być idempotentny. Jeśli konto magazynu już istnieje, nie kończ błędem — sprawdź, czy odpowiada pożądanemu stanowi (nazwa, region/powinowactwo, ustawienia), i kontynuuj. To samo dotyczy grup powinowactwa i nazw maszyn wirtualnych: najpierw sprawdź, a następnie twórz tylko to, czego brakuje.

Brendan Burns: "Najcenniejsza automatyzacja to ta, którą możesz uruchomić ponownie bez wstrzymywania oddechu."

Uwaga dodatkowa: celem nie jest „zero kliknięć”. Celem jest brak niespodzianek.

Generated image

8) Pipeline aktualizacji: łatanie maszyn wirtualnych platformy Azure z mniejszym chaosem

Gdy łatanie odbywa się ręcznie, pojawiają się rozbieżności konfiguracji, niespodzianki i nocne wycofywanie zmian. Dzięki automatyzacji aktualizacji maszyn wirtualnych platformy Azure łatanie staje się powtarzalnym pipeline’em: wykonujesz te same kroki, zbierasz te same dowody i ograniczasz dryf konfiguracji, utrzymując spójną instalację modułów i dystrybucję artefaktów.

Zacznij od runbooka Update-AzureVM, a następnie udowodnij, że zadziałał

Użyj runbooka Update-AzureVM jako podstawowego działania, ale nie traktuj statusu „zadanie zakończone” jako sukcesu. Otocz go walidacją, aby wyniki były mierzalne, a nie zakładane. Co najmniej zapisuj nazwę maszyny wirtualnej, zakres aktualizacji, stan ponownego uruchomienia oraz znacznik przed/po (na przykład liczbę zainstalowanych aktualizacji lub znacznik czasu ostatniego łatania).

Ujednolicaj zachowanie łatania za pomocą PSWindowsUpdate Azure

Różne maszyny wirtualne często są łatane inaczej, ponieważ mają różne narzędzia. Problem rozwiązuje instalacja tego samego modułu aktualizacji wszędzie. Uruchom Install-ModuleOnAzureVM, aby wdrożyć PSWindowsUpdate Azure, dzięki czemu każda maszyna wirtualna korzysta z tych samych poleceń, tej samej obsługi ponownych uruchomień i tego samego formatu raportowania w całej flocie.

Przenoś artefakty przez Azure Storage blobs (dwa etapy)

W przypadku skryptów, modułów lub plików konfiguracyjnych używaj Azure Storage blobs jako punktu dystrybucji. Dwa etapy transportu sprawiają, że potok pozostaje przewidywalny:

  1. Copy-FileFromAzureStorageToAzureVM: blob → folder tymczasowy na maszynie wirtualnej
  2. Copy-ItemToAzureVM: folder tymczasowy → ścieżka docelowa (moduły, skrypty lub narzędzia)

Planuj wdrożenia falowe (zasięg awarii pozostaje mały)

Planowanie falowe obniża ryzyko, ograniczając zasięg awarii i tworząc przewidywalne okna serwisowe. Zapisz kalendarz w trzech harmonogramach: dev dziś wieczorem, staging jutro, a production w weekend. Jeśli dev zawiedzie, production w ogóle nie wystartuje, ponieważ to harmonogram jest bramką.

Zabezpiecz dostęp dzięki zasobom poświadczeń Automation

Przechowuj dostęp administracyjny w zasobach poświadczeń Automation i pobieraj go poleceniem Get-AutomationPSCredential. Poświadczenia możesz rotować bez przepisywania runbooków, a w skryptach unikasz zakodowanych na sztywno sekretów.

Satya Nadella: „Nasza branża nie szanuje tradycji — szanuje wyłącznie innowacje.”

Opiniotwórcza wskazówka: zawsze zapisuj, co się zmieniło i gdzie to trafiło. „Zaktualizowano pomyślnie” to nie jest przydatne zdanie.

Generated image

9) Dobre praktyki, których naprawdę będziesz przestrzegać: logi, dokumentacja, kontrola źródeł, przenośność

Dokumentacja runbooka, która czyta się jak mini README

Gdy traktujesz runbooki jak kod, skracasz czas wdrażania nowych osób i zwiększasz niezawodność. W każdym runbooku napisz dokumentację runbooka, której członek zespołu może zaufać bez dodatkowych spotkań. Konsekwentnie używaj pięciu znaczników: .SYNOPSIS, .DESCRIPTION, .PARAMETER, .EXAMPLE i .NOTES. Pisz prosto, podawaj oczekiwane dane wejściowe i wyjściowe oraz wskazuj wymagane zasoby (poświadczenia, zmienne, harmonogramy, moduły), aby runbook był samoopisujący.

Scott Hanselman: „Najlepsze skrypty to te, które możesz przekazać członkowi zespołu bez spotkania.”

Wzorce nieinteraktywne, aby zadania nigdy się nie zawieszały

Dobre praktyki Azure Automation zaczynają się od usunięcia monitów. Runbooki nigdy nie powinny czekać na dane wejściowe, bo zadania działają bez nadzoru. Preferuj projekt z parametrami, wartościami domyślnymi i konfiguracją opartą na zasobach (na przykład Get-AutomationPSCredential) zamiast Read-Host lub logowania interakcyjnego. Ułatwia to także testowanie i przegląd, ponieważ zachowanie jest przewidywalne.

Logowanie i błędy: sygnał, nie szum

Ustandaryzuj sposób logowania i zgłaszania błędów. Używaj Verbose i Progress świadomie, aby pokazywać główne kroki i czas ich trwania, a nie każdą linię. Błędy niech będą praktyczne: podaj operację, zasób docelowy i następny krok. Połącz to z modularnymi skryptami i przejrzystym zarządzaniem parametrami, aby szybko izolować awarie w historii zadań (na przykład poleceniem Get-AzureAutomationJob).

Kontrola źródeł i przenośność, na których można polegać

Przechowuj runbooki w Visual Studio Online GIT i przechodź przez przeglądy jak w przypadku kodu aplikacji. Wersjonowanie i żądania scalenia wcześnie wychwytują ryzykowne zmiany i tworzą czytelny ślad audytowy. Pod kątem przenośności eksportuj i importuj runbooki jako rutynową kopię zapasową i narzędzie migracji. Te praktyki ograniczają ryzyko przestojów, gdy reorganizujesz konta Automation lub przenosisz się między środowiskami.

Zgodność z SMA i oczekiwania wobec konwertera

Zanim ustandaryzujesz wzorce, sprawdź zgodność z SMA i dostosuj się do dwóch narzędzi, z którymi zetkniesz się w realnych projektach: konwertera skryptów Azure Automation (Azure Automation Script Converter) oraz wymagań Service Management Automation (SMA). Trzymanie się tych oczekiwań sprawia, że przepływy pracy pozostają przenośne i wymagają mniej poprawek.

ElementWartość
Liczba znaczników dokumentacji5 (.SYNOPSIS, .DESCRIPTION, .PARAMETER, .EXAMPLE, .NOTES)
Liczba systemów kontroli źródeł1 (Visual Studio Online GIT)
Liczba narzędzi zgodności2 (Script Converter, SMA)
KsiążkaSeria Microsoft Azure Essentials, ©2015, Microsoft Press, ISBN 978-0-7356-9815-4
Liczba kanałów opinii2 (http://aka.ms/tellpress, @MicrosoftPress)

Generated image

Aby stale się doskonalić, korzystaj z Azure Cmdlet Reference, forów społeczności i Microsoft Virtual Academy, a potem zamknij pętlę, dzieląc się tym, co zadziałało (i czego nie zrobiono), na http://aka.ms/tellpress oraz @MicrosoftPress. Jeśli konsekwentnie prowadzisz dokumentację, logi, kontrolę źródeł i nawyki eksportu/importu, Twoje runbooki naprawdę będą działać na autopilocie.

Skonfiguruj konto Azure Automation z wyraźnym odizolowaniem, twórz modułowe runbooki PowerShell Workflow, centralizuj poświadczenia, harmonogramy i moduły jako zasoby, używaj Azure AD i RBAC, dodaj punkty kontrolne umożliwiające odzyskiwanie oraz traktuj runbooki jak kod (testy, logi, historia wersji i Git).

Architektura klasy korporacyjnej i Microsoft Azure Well-Architected Framework dla adopcji chmury

Czym jest architektura automatyzacji korporacyjnej w Azure i dlaczego jest ważna?

Architektura automatyzacji korporacyjnej w Azure to podejście projektowe, które łączy usługi Azure, spójne szablony wdrożeń zasobów Azure (na przykład szablony Azure Resource Manager), orkiestrację (Azure Logic Apps, Azure Functions, Azure Event Grid) oraz zarządzanie (Azure RBAC, Azure Policy), aby automatyzować powtarzalne operacje w całym środowisku chmurowym. Jest ważna, ponieważ przyspiesza adopcję chmury, zapewnia powtarzalne wdrożenia, ogranicza błędy ludzkie, wspiera automatyzację hybrydową i zapewnia bezpieczny, skalowalny fundament dla architektury klasy korporacyjnej hostowanej w Azure.

Jak Azure landing zones i Azure Well-Architected Framework wpisują się w tę architekturę?

Azure landing zones zapewniają wskazówki preskryptywne i architekturę referencyjną do konfigurowania platformy chmurowej spełniającej wymagania korporacyjne (sieć, tożsamość, bezpieczeństwo, zarządzanie). Microsoft Azure Well-Architected Framework uzupełnia landing zones, oferując najlepsze praktyki dotyczące niezawodności, bezpieczeństwa, optymalizacji kosztów, wydajności i doskonałości operacyjnej. Razem kierują projektowaniem środowiska chmurowego Azure, które wykorzystuje szablony Azure Resource Manager, sieci wirtualne Azure, kontrolę dostępu opartą na rolach oraz monitorowanie za pomocą Azure Monitor.

Których usług Azure najczęściej używa się do orkiestracji wywołań systemów zaplecza przedsiębiorstwa?

Do typowych usług należą Azure Logic Apps i Azure Functions do orkiestracji przepływów pracy oraz obliczeń bezserwerowych, Azure API Management do udostępniania i zarządzania interfejsami API, Azure Service Bus i Azure Event Grid do komunikatów i zdarzeń oraz Azure App Service w przypadku hostowania usług sieciowych lub interfejsów API. Komponenty te mogą orkiestrować wywołania systemów zaplecza przedsiębiorstwa, w tym lokalnego SQL Server lub innych usług sieciowych, dzięki łączności hybrydowej.

Jak należy obsługiwać bezpieczeństwo i zgodność w architekturze automatyzacji przedsiębiorstwa z wykorzystaniem Microsoft Defender for Cloud?

Bezpieczeństwo powinno być warstwowe: użyj Azure Active Directory jako mechanizmu tożsamości, wymuszaj kontrolę dostępu Azure RBAC, stosuj zasady zabezpieczeń za pomocą Azure Policy i włącz Microsoft Defender for Cloud (dawniej Azure Security Center) do ochrony przed zagrożeniami i ciągłej oceny. Zintegruj wyniki Defender z potokami automatyzacji i procesami reagowania na incydenty, aby działania naprawcze mogły być automatyzowane i śledzone w portalu Azure lub za pośrednictwem potoków Azure DevOps.

Jaką rolę odgrywają szablony wdrożeń zasobów Azure i Azure Resource Manager?

Azure Resource Manager (ARM) oraz szablony Azure Resource Manager zapewniają infrastrukturę jako kod dla spójnych szablonów wdrożeń zasobów Azure. Umożliwiają powtarzalne tworzenie sieci, pamięci masowej, zasobów obliczeniowych i usług platformy w wielu regionach Azure oraz środowiskach. Korzystanie z szablonów ARM (lub Bicep) zapewnia spójne wdrażanie środowisk, wspiera architekturę klasy korporacyjnej i może być zintegrowane z Azure DevOps w procesach CI/CD.

Jak wdrożyć monitorowanie i obserwowalność – czy powinienem użyć Azure Monitor?

Tak, użyj Azure Monitor jako centralnej usługi monitorowania do zbierania metryk, logów i śladów z zasobów Azure, usług App Service, maszyn wirtualnych i funkcji bezserwerowych. Zintegruj Azure Monitor z Application Insights dla usług sieciowych, eksportuj alerty do runbooków automatyzacji lub Logic Apps w celu automatycznej naprawy oraz przekazuj alerty bezpieczeństwa do Microsoft Defender for Cloud w celu korelacji. Monitorowanie wspiera doskonałość operacyjną i pomaga stosować założenia Microsoft Azure Well-Architected Framework.

Jak projektować scenariusze hybrydowe i integrować systemy lokalne, takie jak SQL Server?

Projektuj zautomatyzowane rozwiązania hybrydowe, korzystając z bezpiecznej łączności (VPN lub ExpressRoute) oraz usług obsługujących integrację hybrydową: Azure API Management i Azure Service Bus do przesyłania komunikatów, łączniki hybrydowe dla Azure Logic Apps oraz rozwiązania bramy danych dla SQL Server. Używaj spójnych szablonów wdrożeniowych dla zasobów Azure, które obejmują konfigurację sieci (Azure Virtual Networks, DNS), oraz wdrażaj Azure Automation State Configuration lub inne narzędzia konfiguracji pożądanego stanu, aby ujednolicić konfiguracje zasobów lokalnych i chmurowych.

Jakie praktyki dotyczące zarządzania, kontroli kosztów i eksploatacji powinny być uwzględnione w architekturze automatyzacji w przedsiębiorstwie?

Wdrażaj zarządzanie za pomocą Azure Policy, grup zarządzania i kontroli dostępu opartej na rolach Azure RBAC (stosuj Azure RBAC konsekwentnie), zdefiniuj landing zones w celu izolacji obciążeń, oznaczaj zasoby tagami na potrzeby raportowania kosztów oraz korzystaj z narzędzi Cost Management i wytycznych cenowych Azure, aby optymalizować wydatki. Automatyzuj egzekwowanie zasad za pomocą Azure DevOps lub runbooków Azure Automation i przyjmij zalecenia Microsoft Azure Well-Architected Framework oraz Azure Architecture Center, aby platforma chmurowa była zgodna z celami przedsiębiorstwa.

Azure Automation Microsoft Azure Automation Bicep Infrastructure as code Terraform Azure OpenAI Service Conditional Access

Related articles

RSS