Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



25.10.2019

Skalowalna infrastruktura

Red Hat OpenStack Platform 15
25.10.2019

Cienki klient 2.0

Windows Virtual Desktop
25.10.2019

Nowy sprzęt Microsoftu

Rodzina Surface się powiększa
24.10.2019

Serwery ARM

Oracle stawia na Ampere Computing
24.10.2019

Wszechstronny i elegancki

Dell XPS 15
10.10.2019

CYBERSEC EXPO - największe w...

Bezpieczeństwo cyfrowe nie jest problemem dotyczącym jedynie działów IT. Obecnie stanowi...
30.09.2019

Nowości w wirtualizacji

VMware World 2019
30.09.2019

Bezpieczeństwo mobile-first

Android 10

Automatyzacja procesów informatycznych

Data publikacji: 04-07-2019 Autor: Michał Gajda
Rys. 1. Widok zdefiniowanych...

Automatyzacja zadań jest jednym z podstawowych sposobów usprawniania środowisk informatycznych. Platforma Azure wraz z Azure Automation wychodzi tym potrzebom naprzeciw. W artykule skupimy się zarówno na teoretycznym opisie elementów tej usługi, jak i na mechanizmach ułatwiających z nią pracę, m.in. dostęp do zewnętrznych systemów informatycznych.

 

Niezależnie od wielkości organizacji praktycznie wszędzie możemy znaleźć powtarzalne zadania, które muszą być systematycznie wykonywane. Począwszy na przykład od prostych mechanizmów raportujących, a skończywszy na zaawansowanych rozwiązaniach pozwalających na zarządzanie niemal dowolnym elementem infrastruktury IT w firmie. Dlatego automatyzacja procesów już na stałe zakorzeniła się w grafiku codziennych zadań każdego administratora.

W przypadku lokalnych środowisk jednym z przydatniejszych rozwiązań wspierających automatyzację zadań jest program Windows PowerShell. Dzięki rozbudowanej strukturze dostępnych cmdletów oraz możliwości wykorzystywania elementów .NET Framework dozwolone jest wręcz nieograniczone zarządzanie środowiskiem informatycznym. Niemniej jednak w dzisiejszych czasach praca wyłącznie w środowisku lokalnym powoli zaczyna odchodzić w niepamięć. Obecnie narzędzia chmurowe coraz częściej stają się naturalnym uzupełnieniem środowiska informatycznego. Przekłada się to również na mechanizmy pozwalające na automatyzację zadań. Jednym z takich rozwiązań może być usługa platformy obliczeniowej Azure, jaką jest Azure Automation.

> KONTA USŁUGI AUTOMATION

Podstawowym elementem wykorzystywanym przez usługę Azure Automation jest utworzenie konta usługi Automation (Automation Account). Pozwala ono na uruchamianie i zarządzanie elementami typu runbook w celu wykonywania zdefiniowanych w nich akcji. W przypadku gdy zamierzamy automatyzować wiele różnych procesów, należy zaznaczyć, że nie ma konieczności tworzenia kilku takich kont. W zupełności wystarczy jedno konto usługi automatyzacji, aby móc obsłużyć wiele elementów runbook.

Samo konto usługi automatyzacji (Automation Account) może być utworzone w dwojaki sposób. Mianowicie do wyboru mamy opcję z automatycznym stworzeniem kont Uruchom jako (Run As account) lub bez. Wybór tej pierwszej opcji pozwoli na automatyczne utworzenie dwóch obiektów: konta Uruchom jako (Run As account) oraz klasycznego konta Uruchom jako (Classic Run As account), które zostały zaprezentowane na rys. 1.

Utworzenie obiektu typu konto Uruchom jako jest zalecane w środowiskach wykorzystujących model wdrażania oparty na usługach Resource Manager. Pozwala on na automatyczne stworzenie aplikacji (App registrations) w usłudze Azure AD wraz ze specjalnym certyfikatem wykorzystywanym podczas obsługi tokenów uwierzytelniania. Dodatkowo należy pamiętać, że podczas tworzenia konta usługi automatyzacji (Automation Account) zarejestrowana aplikacja usługi Azure AD domyślnie uzyska uprawnienia do całej subskrypcji, w ramach której zostało utworzone konto usługi automatyzacji. Nadawany poziom uprawnień jest stosunkowo wysoki – będzie to współautor subskrypcji (Contributor). Niemniej jednak w zależności od potrzeb może być on później ręcznie zmodyfikowany za pomocą konsoli kontroli dostępu opartej na rolach (Access control (IAM)).

Klasyczne konto Uruchom jako (Classic Run As account) jest używane do zarządzania zasobami z modelu wdrażania klasycznego. W tego typu kontach jest wykorzystywany certyfikat zarządzania tworzony w ramach ustawień subskrypcji (Management certificates), pozwalający elementom runbook na dostęp do klasycznych zasobów Azure.

Ponadto, patrząc od strony samej instancji tworzonego konta usługi automatyzacji (Automation Account), samoczynnie definiowany jest zestaw połączeń (Connections) do macierzystej subskrypcji Azure. Będą to dwa domyślne połączenia, czyli AzureRunAsConnection (zapewniające informacje niezbędne do uzyskania dostępu elementom typu runbook do subskrypcji) oraz AzureClassicRunAsConnection (zestaw informacji umożliwiający dostęp do klasycznych zasobów subskrypcji Azure).

Oprócz samych połączeń generowany jest adekwatny zestaw certyfikatów dla tworzonego konta usługi automatyzacji. Będą to analogicznie obiekty AzureRunAsCertificate oraz AzureClassicRunAsCertificate, wykorzystywane w ramach wcześniej wspomnianych połączeń.

Podczas tworzenia konta usługi automatyzacji w przypadku braku wybrania opcji wykorzystywania kont Uruchom jako nie zostaną założone żadne obiekty z wcześniej przybliżonych elementów. Może to doprowadzić do sytuacji, gdy elementy runbook będą zgłaszały błędy braku dostępu do wymaganych zasobów. Niemniej jednak nie powinno to stanowić dużego problemu, gdyż w każdej chwili można je ręcznie dokonfigurować w ramach istniejącego już konta usługi automatyzacji.

Sam proces tworzenia konta usługi automatyzacji nie jest skomplikowany. Jak w przypadku większości usług platformy Azure można go wykonać na kilka sposobów. Mianowicie jedną z popularniejszych metod jest klasyczne wykorzystanie webowego portalu platformy Azure. Wystarczy w nim wyszukać odpowiednią usługę, czyli w naszym przypadku konta usługi Automation, i uruchomić kreator tworzenia nowego konta. W kreatorze definiujemy podstawowe parametry konta usługi, czyli unikalną nazwę konta, docelową subskrypcję, lokalizację (region platformy Azure) oraz grupę zasobów, która równie dobrze może być automatycznie założona wraz z tworzonym kontem. Dodatkowo ważnym elementem konfiguracji jest wcześniej wspomniany wybór, czy zamierzamy automatycznie tworzyć konta Uruchom jako. Jest to domyślnie włączona i zalecana opcja. Cały proces tworzenia konta usługi automatyzacji został przedstawiony na rys. 2.

Omawiane konto usługi może być również utworzone za pośrednictwem konsoli Windows PowerShell wraz z zestawem cmdletów modułu AzureRM. W tym celu dostępne jest adekwatne polecenie:

New-AzureRmAutomationAccount -Name "MyTestAutomationAccount" -Location `
"North Europe" -ResourceGroupName "RGMyTestAutomationAccount"

Niestety podejście skryptowe w przeciwieństwie do wcześ­niej zaprezentowanego jest o wiele bardziej skomplikowane. Dotyczy to w szczególności sytuacji generowania konta usługi automatyzacji wraz z wykorzystywaniem kont Uruchom jako. W omawianym przypadku po wygenerowaniu samego konta usługi Automation konieczne jest ręczne wygenerowanie pozostałych wymaganych obiektów. Będą do nich należeć certyfikaty z podpisem własnym, obiekty połączeń usługi automatyzacji czy aplikacja usługi Azure AD wraz z zestawem wymaganych uprawnień.

Na szczęście w dokumentacji dostępnej w portalu Microsoft Docs możliwe jest skorzystanie z gotowego skryptu (New-RunAsAccount.ps1) automatyzującego cały proces. W niniejszym przypadku wystarczy wywołać skrypt z zastosowaniem niezbędnych parametrów, a cała reszta rozwiązania zostanie automatycznie skonfigurowana. Na przykład:

.New-RunAsAccount.ps1 -ResourceGroup "RGMyTestAutomationAccount" `
-AutomationAccountName "MyTestAutomationAccount" -SubscriptionId `
"12345678-1234-1234-1234-123456789012" -ApplicationDisplayName `
"MyTestAutomationAccount" -SelfSignedCertPlainPassword "P@ssword1" `
-CreateClassicRunAsAccount $true

Ostatecznie należy tylko pamiętać, aby ręcznie zaimportować certyfikat z podpisem własnym do ustawień zarządzania certyfikatami (Management certificates) danej subskrypcji. Certyfikat generowany jest w ramach następującej ścieżki: %USERPROFILE%AppDataLocalTemp. Cała procedura dołączania certyfikatu została zobrazowana na rys. 3.

> ELEMENTY RUNBOOK

Utworzenie konta usługi Automation jest jedynie wymaganym wstępem do prawdziwej automatyzacji zadań. Aby móc zaprogramować wykonywanie żądanych przez nas operacji, konieczne jest zdefiniowanie na omawianych kontach automatyzacji dodatkowych obiektów. Mianowicie są to tak zwane elementy runbook, w ramach których definiowane są poszczególne akcje, jakie będą automatycznie wykonywane.

Elementy runbook w głównej mierze bazują na poleceniach języka Windows PowerShell. Jednakże w zależności od potrzeb i preferencji użytkownika mogą być one definiowane za pomocą różnych typów omawianego obiektu. Najpowszechniejszym i chyba najbardziej elastycznym rozwiązaniem jest wykorzystywanie typu PowerShell. Niniejsze elementy runbook opierają się na klasycznych cmdletach języka Windows PowerShell, które mogą być definiowane na przykład przy użyciu webowego edytora dostępnego w witrynie Azure Portal, co zostało zaprezentowane na rys. 4. Mogą być również tworzone za pomocą dowolnego edytora tekstu i ostatecznie zaimportowane do konta usługi Azure Automation.

Do niezaprzeczalnych zalet tego typu elementów należy zaliczyć opcję implementowania dowolnie skomplikowanej logiki, która może się znajdować wewnątrz skryptu. Dodatkowo za pomocą elementów runbook typu PowerShell da się uruchamiać skrypty w środowisku hybrydowym. Oznacza to, że skrypty dostępne w usłudze Azure Automation mogą być uruchamiane w ramach lokalnych maszyn środowiska on-premise.

Niestety ograniczeniem omawianego typu obiektów jest brak możliwości uruchamiania procesów równoległych, które jednak mogą być obsługiwane za pomocą elementów runbook typu przepływ programu PowerShell. Przy czym należy pamiętać, że wykonywanie zadania typu przepływ pracy będzie zajmowało znacznie więcej czasu niż zwykłe zadanie typu PowerShell.
 

[...]

 

Autor ma wieloletnie doświadczenie w administracji oraz implementowaniu nowych technologii w infrastrukturze serwerowej. Pasjonat technologii Microsoft. Posiada tytuł MVP Cloud and Datacenter Management. Autor webcastów, książek oraz publikacji w czasopismach i serwisach branżowych. 

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"