Ćwiczenie — skonfiguruj DSC i ustaw żądany stan
W tym ćwiczeniu utworzysz konto usługi Azure Automation i przekażesz rozszerzenie DSC programu PowerShell. Następnie dołączysz istniejącą maszynę wirtualną do usługi Azure Automation. Na koniec sprawdzisz, czy na maszynie wirtualnej brakuje IIS. Jeśli tak jest, uruchomisz kod, aby zainstalować i skonfigurować usługi IIS na maszynie wirtualnej.
Tworzenie maszyny wirtualnej
Zacznij od wdrożenia nowej maszyny wirtualnej z obrazu systemu Windows Server 2022.
W okienku usługi Azure Cloud Shell po prawej stronie uruchom następujące polecenia, aby utworzyć nazwę użytkownika i wygenerować losowe hasło:
USERNAME=azureuser PASSWORD=$(openssl rand -base64 32)
Uruchom następujące polecenie w usłudze Cloud Shell, aby utworzyć maszynę wirtualną:
az vm create \ --resource-group "<rgn>[Sandbox resource group name]</rgn>" \ --name myVM \ --image win2019datacenter \ --admin-username $USERNAME \ --admin-password $PASSWORD
Utworzenie maszyny wirtualnej i zasobów pomocniczych potrwa kilka minut. Jeśli maszyna wirtualna została pomyślnie utworzona, powinny zostać wyświetlone dane wyjściowe podobne do następujących:
{ "fqdns": "", "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", "location": "eastus", "macAddress": "00-0D-3A-36-BA-28", "powerState": "virtual machine running", "privateIpAddress": "10.0.0.4", "publicIpAddress": "104.40.69.56", "resourceGroup": "myResourceGroup" }
Skopiuj
publicIpAddress
z tych danych wyjściowych i zapisz je. W dalszej części ćwiczenia użyjesz tego adresu, aby uzyskać dostęp do maszyny wirtualnej.Uruchom następujące polecenie w usłudze Cloud Shell, aby otworzyć port 80 maszyny wirtualnej dla ruchu internetowego:
az vm open-port \ --port 80 \ --resource-group "<rgn>[Sandbox resource group name]</rgn>" \ --name myVM
W przeglądarce internetowej przejdź do publicznego adresu IP maszyny wirtualnej
http://[public-ip]
. Mimo że port 80 jest otwarty, połączenie powinno zakończyć się z powoduThis site can't be reached
. Ten błąd występuje, ponieważ usługi IIS nie są wdrażane na maszynie wirtualnej. Naprawimy to w dalszej części tego ćwiczenia.
Tworzenie konta usługi Azure Automation
Zaloguj się do portalu Azure przy użyciu tego samego konta, którego użyłeś do aktywowania piaskownicy.
W menu zasobów witryny Azure Portal lub na stronie strona główna wybierz pozycję Utwórz zasób. Zostanie wyświetlone okienko Tworzenie zasobu.
W polu tekstowym Search Services and marketplace wprowadź Automation, a następnie wybierz pozycję Wprowadź, aby wyświetlić wyniki wyszukiwania.
W wynikach wyszukiwania Automation wybierz usługę Automation opublikowaną przez firmę Microsoft.
Wybierz pozycję Utwórz. Pojawi się okienko Utwórz konto automatyzacji.
Wprowadź następujące wartości dla każdego ustawienia.
Ustawienie Wartość Subskrypcja Subskrypcja Concierge Grupa zasobów Wybierz istniejącą grupę zasobów na liście rozwijanej Nazwa Wprowadź nazwę dla swojego konta automatyzacji. Zalecamy użycie [twoich inicjałów]-automation-account. Użyj tej nazwy wszędzie tam, gdzie zobaczysz [nazwa-konta automatyzacji] w tym ćwiczeniu. Region Zaakceptuj lokalizację domyślną Wybierz Sprawdź i utwórz, a następnie wybierz Utwórz. Poczekaj na wdrożenie konta automatyzacji.
Wybierz Przejdź do zasobu po zakończeniu wdrażania. Pojawi się panel konta usługi Automation dla zasobu.
Tworzenie skryptu konfiguracji DSC
W usłudze Cloud Shell uruchom następujące polecenie, aby uruchomić sesję programu PowerShell:
pwsh
W wierszu polecenia programu PowerShell uruchom następujące polecenie, aby otworzyć nowy plik o nazwie MyDscConfiguration.ps1 w edytorze kodu:
code $HOME/MyDscConfiguration.ps1
Wprowadź następujący blok kodu w pliku. Ten kod tworzy konfigurację do zainstalowania usług IIS, jeśli nie jest jeszcze zainstalowana. Następnie kod uruchamia skrypt w celu skompilowania konfiguracji.
Configuration MyDscConfiguration { Node "localhost" { WindowsFeature MyFeatureInstance { Ensure = 'Present' Name = 'Web-Server' } } }
Wybierz Ctrl+S, aby zapisać plik w katalogu głównym, a następnie wybierz Ctrl+Q, aby zamknąć edytor.
W sesji programu PowerShell w usłudze Azure Cloud Shell wprowadź następujący kod, zastępując
[your-automation-account-name]
nazwą zasobu konta automatyzacji, aby przekazać skrypt DSC do konta usługi Azure Automation.Import-AzAutomationDscConfiguration ` -Published ` -ResourceGroupName <rgn>[Sandbox resource group name]</rgn> ` -SourcePath $HOME/MyDscConfiguration.ps1 ` -Force ` -AutomationAccountName [your-automation-account-name]
Polecenie powinno wygenerować dane wyjściowe, które wyglądają następująco:
ResourceGroupName : <rgn>[Sandbox resource group name]</rgn> AutomationAccountName : [your-automation-account-name] Location : eastus State : Published Name : MyDscConfiguration Tags : {} CreationTime : 6/25/21 5:44:36 PM +00:00 LastModifiedTime : 6/25/21 5:44:36 PM +00:00 Description : Parameters : {} LogVerbose : False
Dodawanie wymaganych modułów (opcjonalnie)
Po przekazaniu skryptu konfiguracji DSC zaimportuj wszystkie moduły programu PowerShell, których potrzebuje proces DSC. Nasza konfiguracja nie wymaga żadnych innych modułów, więc możemy pominąć ten krok. Jeśli musisz zaimportować lub dodać moduły do konta usługi Automation, przejdź do konta usługi Automation w witrynie Azure Portal. W tym miejscu wybierzesz moduły w nagłówku Udostępnione zasoby po lewej stronie, następnie wybierasz Dodaj moduł.
Kompilowanie skryptu DSC
W witrynie Azure Portal okienko Przegląd dla konta usługi Azure Automation powinno być nadal wyświetlane.
Z menu Konto automatyzacji, w obszarze Configuration Management, wybierz pozycję State Configuration (DSC). Zostanie wyświetlone okienko State Configuration (DSC) dla konta usługi Automation.
Wybierz kartę Configurations (Konfiguracje). Sprawdź, czy zostanie wyświetlona konfiguracja MyDscConfiguration, a następnie wybierz ją. Zostanie wyświetlone okienko MyDscConfiguration Configuration (Konfiguracja).
Na pasku poleceń wybierz pozycję Kompiluj.
W oknie dialogowym Kompiluj konfigurację DSC wybierz pozycję Tak.
Sprawdź powiadomienia (ikona Powiadomienia znajduje się w kontrolkach globalnych w nagłówku strony). Poczekaj, aż zadanie kompilacji wyświetli stanUkończone, co może potrwać kilka minut.
Notatka
Może być konieczne odświeżenie, aby zobaczyć zmianę stanu. Aby odświeżyć, w lewym górnym rogu ścieżki nawigacyjnej portalu Azure wybierz swoje konto automatyzacji. Zostanie wyświetlone okienko konfiguracji stanu (DSC). Na górnym pasku menu wybierz pozycję Odśwież. Następnie wybierz konfigurację MyDscConfiguration z listy, aby powrócić do panelu MyDscConfiguration. Na karcie zadania kompilacji stan powinien teraz być wyświetlany jako Ukończono.
Po zakończeniu kompilacji zamknij okienko MyDscConfiguration. Pojawi się panel konfiguracji stanu (DSC).
Rejestrowanie maszyny wirtualnej przy użyciu konta usługi Azure Automation
Na panelu Konfiguracja Stanu (DSC) dla [your-automation-account-name], wybierz kartę Węzły. Na pasku poleceń wybierz Dodaj. Zostanie wyświetlone okienko maszyn wirtualnych dla konta automatyzacji.
Wybierz maszynę wirtualną utworzoną w pierwszym zadaniu tego ćwiczenia (myVM). Propagacja konfiguracji i maszyny wirtualnej w sieci może potrwać do 10 minut. Jeśli maszyny wirtualnej nie ma na liście, poczekaj kilka minut, a następnie wybieraj Odśwież na pasku poleceń, aż się pojawi.
Na pasku poleceń wybierz pozycję Connect. Pojawi się okienko rejestracji .
Wprowadź następujące wartości dla każdego ustawienia.
Ustawienie Wartość Nazwa konfiguracji węzła Z listy rozwijanej wybierz pozycję MyDscConfiguration.localhost Częstotliwość odświeżania 30 Częstotliwość trybu konfiguracji 15 Tryb konfiguracji Zastosuj i Monitoruj Zezwalaj na zastąpienie modułu Zaznacz pole wyboru W razie potrzeby uruchom ponownie węzeł Zaznacz pole wyboru Akcja po ponownym uruchomieniu KontynuujKonfigurowanie Wybierz pozycję OK.
Poczekaj na połączenie maszyny wirtualnej. Ten proces może potrwać kilka minut. Gdy myVM jest połączona, w ścieżce do stron nadrzędnych w lewym górnym rogu portalu wybierz konto usługi Automation, aby zamknąć okienko rejestracji i maszyn wirtualnych. Zostanie wyświetlone okienko State Configuration (DSC) dla konta usługi Automation.
Na pasku poleceń wybierz pozycję Odśwież.
Sprawdź, czy węzeł myVM jest wyświetlany na liście i czy jego stan to Zgodny.
Sprawdź, czy usługi IIS są zainstalowane na maszynie wirtualnej
W przeglądarce internetowej przejdź do http://[public-ip]
, gdzie [public-ip]
jest publicznym adresem IP zarejestrowanym wcześniej w tym ćwiczeniu.
Powinna zostać wyświetlona domyślna strona internetowa usług IIS.
Gratulacje! Pomyślnie wdrożono usługi IIS. Usługa Azure Automation użyła skryptu PowerShell DSC przekazanego do konta Azure Automation.