Włączanie usługi State Configuration w usłudze Azure Automation
Uwaga
Usługa Azure Automation State Configuration zostanie wycofana 30 września 2027 r., przechodząc do usługi Azure Machine Configuration do tej daty. Aby uzyskać więcej informacji, zobacz ogłoszenie w blogu. Usługa Azure Machine Configuration łączy funkcje rozszerzenia DSC, usługi Azure Automation State Configuration i najczęściej żądanych funkcji opinii klientów. Usługa Azure Machine Configuration obejmuje również obsługę maszyn hybrydowych za pośrednictwem serwerów z obsługą usługi Arc.
Uwaga
Usługa Azure Automation DSC dla systemu Linux została wycofana 30 września 2023 r. Aby uzyskać więcej informacji, zobacz ogłoszenie.
W tym artykule opisano sposób konfigurowania maszyn na potrzeby zarządzania przy użyciu usługi Azure Automation State Configuration. Aby uzyskać szczegółowe informacje o tej usłudze, zobacz Omówienie usługi Azure Automation State Configuration.
Włączanie maszyn wirtualnych platformy Azure
Usługa Azure Automation State Configuration umożliwia łatwe włączanie maszyn wirtualnych platformy Azure na potrzeby zarządzania konfiguracją przy użyciu witryny Azure Portal, szablonów usługi Azure Resource Manager lub programu PowerShell. Rozszerzenie Konfiguracji żądanego stanu maszyny wirtualnej platformy Azure automatycznie rejestruje maszynę wirtualną za pomocą usługi Azure Automation State Configuration. Ponieważ rozszerzenie platformy Azure jest uruchamiane asynchronicznie, kroki śledzenia postępu są dostępne w obszarze Sprawdź stan konfiguracji maszyny wirtualnej.
Uwaga
Wdrażanie rozszerzenia DSC w węźle systemu Linux używa folderu /tmp . Moduły, takie jak nxautomation
, są tymczasowo pobierane do weryfikacji przed zainstalowaniem ich w odpowiednich lokalizacjach. Aby upewnić się, że moduły są poprawnie instalowane, agent usługi Log Analytics dla systemu Linux musi mieć uprawnienia do odczytu/zapisu w folderze /tmp . Agent usługi Log Analytics dla systemu Linux działa jako omsagent
użytkownik.
Aby udzielić >użytkownikowi omsagent
uprawnień do zapisu, uruchom polecenie setfacl -m u:omsagent:rwx /tmp
.
Włączanie maszyny wirtualnej przy użyciu witryny Azure Portal
Aby włączyć konfigurację stanu maszyny wirtualnej platformy Azure za pośrednictwem witryny Azure Portal:
- Przejdź do konta usługi Azure Automation, w którym chcesz włączyć maszyny wirtualne.
- Na stronie Konfiguracja stanu wybierz kartę Węzły , a następnie wybierz pozycję Dodaj.
- Wybierz maszynę wirtualną, która ma być włączona.
- Jeśli maszyna nie ma zainstalowanego rozszerzenia żądanego stanu programu PowerShell, a stan zasilania jest uruchomiony, wybierz pozycję Połącz.
- W obszarze Rejestracja wprowadź wartości programu PowerShell DSC Local Configuration Manager wymagane dla danego przypadku użycia. Opcjonalnie możesz wprowadzić konfigurację węzła, która ma zostać przypisana do maszyny wirtualnej.
Włączanie maszyny wirtualnej przy użyciu szablonów usługi Azure Resource Manager
Maszynę wirtualną dla usługi State Configuration można zainstalować i włączyć przy użyciu szablonów usługi Azure Resource Manager. Zobacz Serwer zarządzany przez usługę Desired State Configuration, aby zapoznać się z przykładowym szablonem, który umożliwia istniejącą maszynę wirtualną dla usługi State Configuration. Jeśli zarządzasz zestawem skalowania maszyn wirtualnych, zobacz przykładowy szablon konfiguracji zestawu skalowania maszyn wirtualnych zarządzany przez usługę Azure Automation.
Włączanie maszyn przy użyciu programu PowerShell
Aby włączyć maszyny wirtualne dla konfiguracji stanu, możesz użyć polecenia cmdlet Register-AzAutomationDscNode w programie PowerShell.
Uwaga
Polecenie Register-AzAutomationDscNode
cmdlet jest obecnie implementowane tylko dla maszyn z systemem Windows, ponieważ wyzwala tylko rozszerzenie systemu Windows.
Rejestrowanie maszyn wirtualnych w subskrypcjach platformy Azure
Najlepszym sposobem rejestrowania maszyn wirtualnych z innych subskrypcji platformy Azure jest użycie rozszerzenia DSC w szablonie wdrożenia usługi Azure Resource Manager. Przykłady znajdują się w rozszerzeniu Desired State Configuration z szablonami usługi Azure Resource Manager.
Rejestrowanie maszyn hybrydowych przy użyciu metakonfiguracji DSC
Maszyny można bezpiecznie włączyć dla konta usługi Azure Automation za pomocą metakonfiguracji DSC. Protokoły zaimplementowane w usłudze DSC używają informacji z metakonfiguracji do uwierzytelniania w usłudze Azure Automation State Configuration. Węzeł rejestruje się w usłudze pod adresem URL rejestracji i uwierzytelnia się przy użyciu klucza rejestracji. Podczas rejestracji węzeł DSC i usługa DSC negocją unikatowy certyfikat dla węzła do użycia do uwierzytelniania na serwerze po rejestracji. Ten proces uniemożliwia podszywaniu się pod inne węzły, na przykład w przypadku naruszenia zabezpieczeń węzła i złośliwego działania. Po rejestracji klucz rejestracji nie jest ponownie używany do uwierzytelniania i jest usuwany z węzła.
Informacje wymagane dla protokołu rejestracji konfiguracji stanu można uzyskać z pozycji Klucze w obszarze Ustawienia konta w witrynie Azure Portal.
- Adres URL rejestracji to pole adresu URL na stronie Klucze.
- Klucz rejestracji to wartość pola Podstawowy klucz dostępu lub pole Klucz dostępu pomocniczego na stronie Klucze. Można użyć dowolnego klucza.
W przypadku dodatkowych zabezpieczeń można w dowolnym momencie wygenerować klucze dostępu podstawowego i pomocniczego konta usługi Automation na stronie Klucze. Regeneruj klucz uniemożliwia rejestracje węzłów w przyszłości przy użyciu poprzednich kluczy.
Generowanie metakonfiguracji DSC
Aby włączyć dowolną maszynę dla usługi State Configuration, można wygenerować metakonfigurację DSC. Ta konfiguracja informuje agenta DSC o ściąganiu z i/lub raportowania do usługi Azure Automation State Configuration. Metakonfigurację DSC dla usługi Azure Automation State Configuration można wygenerować przy użyciu konfiguracji DSC programu PowerShell lub poleceń cmdlet programu PowerShell usługi Azure Automation.
Uwaga
Metakonfiguracje DSC zawierają wpisy tajne wymagane do włączenia maszyny na koncie usługi Automation na potrzeby zarządzania. Upewnij się, że należy prawidłowo chronić wszystkie utworzone metakonfiguracje DSC lub usunąć je po użyciu.
Program Local Configuration Manager (LCM) kontroluje obsługę serwera proxy dla metakonfiguracji. Narzędzie LCM jest uruchamiane na wszystkich węzłach docelowych i jest odpowiedzialne za wywoływanie zasobów konfiguracji, które są zawarte w skrypie metakonfiguracji DSC. Obsługę serwera proxy można uwzględnić w metakonfiguracji, uwzględniając definicje właściwości i ProxyCredential
zgodnie z potrzebami ProxyURL
w ConfigurationRepositoryWeb
blokach , ResourceRepositoryWeb
i ReportServerWeb
. Przykładem ustawienia adresu URL jest ProxyURL = "http://172.16.3.6:3128";
. Właściwość ProxyCredential
jest ustawiana na obiekt zgodnie z opisem PSCredential
w temacie Zarządzanie poświadczeniami w usłudze Azure Automation.
Generowanie metakonfiguracji DSC przy użyciu konfiguracji DSC
Otwórz edytor tekstów, taki jak Visual Studio Code (VS Code), jako administrator na maszynie w środowisku lokalnym. Na maszynie musi być zainstalowana najnowsza wersja programu WMF 5 .
Skopiuj poniższy skrypt lokalnie. Ten skrypt zawiera konfigurację DSC programu PowerShell do tworzenia metakonfiguracji oraz polecenie umożliwiające rozpoczęcie tworzenia metakonfiguracji.
Uwaga
Nazwy konfiguracji węzła konfiguracji stanu są uwzględniane w wielkości liter w witrynie Azure Portal. Jeśli przypadek jest niezgodny, węzeł nie będzie wyświetlany na karcie Węzły .
# The DSC configuration that will generate metaconfigurations [DscLocalConfigurationManager()] Configuration DscMetaConfigs { param ( [Parameter(Mandatory=$True)] [String]$RegistrationUrl, [Parameter(Mandatory=$True)] [String]$RegistrationKey, [Parameter(Mandatory=$True)] [String[]]$ComputerName, [Int]$RefreshFrequencyMins = 30, [Int]$ConfigurationModeFrequencyMins = 15, [String]$ConfigurationMode = 'ApplyAndMonitor', [String]$NodeConfigurationName, [Boolean]$RebootNodeIfNeeded= $False, [String]$ActionAfterReboot = 'ContinueConfiguration', [Boolean]$AllowModuleOverwrite = $False, [Boolean]$ReportOnly ) if(!$NodeConfigurationName -or $NodeConfigurationName -eq '') { $ConfigurationNames = $null } else { $ConfigurationNames = @($NodeConfigurationName) } if($ReportOnly) { $RefreshMode = 'PUSH' } else { $RefreshMode = 'PULL' } Node $ComputerName { Settings { RefreshFrequencyMins = $RefreshFrequencyMins RefreshMode = $RefreshMode ConfigurationMode = $ConfigurationMode AllowModuleOverwrite = $AllowModuleOverwrite RebootNodeIfNeeded = $RebootNodeIfNeeded ActionAfterReboot = $ActionAfterReboot ConfigurationModeFrequencyMins = $ConfigurationModeFrequencyMins } if(!$ReportOnly) { ConfigurationRepositoryWeb AzureAutomationStateConfiguration { ServerUrl = $RegistrationUrl RegistrationKey = $RegistrationKey ConfigurationNames = $ConfigurationNames } ResourceRepositoryWeb AzureAutomationStateConfiguration { ServerUrl = $RegistrationUrl RegistrationKey = $RegistrationKey } } ReportServerWeb AzureAutomationStateConfiguration { ServerUrl = $RegistrationUrl RegistrationKey = $RegistrationKey } } } # Create the metaconfigurations # NOTE: DSC Node Configuration names are case sensitive in the portal. # TODO: edit the below as needed for your use case $Params = @{ RegistrationUrl = '<fill me in>'; RegistrationKey = '<fill me in>'; ComputerName = @('<some VM to onboard>', '<some other VM to onboard>'); NodeConfigurationName = 'SimpleConfig.webserver'; RefreshFrequencyMins = 30; ConfigurationModeFrequencyMins = 15; RebootNodeIfNeeded = $False; AllowModuleOverwrite = $False; ConfigurationMode = 'ApplyAndMonitor'; ActionAfterReboot = 'ContinueConfiguration'; ReportOnly = $False; # Set to $True to have machines only report to AA DSC but not pull from it } # Use PowerShell splatting to pass parameters to the DSC configuration being invoked # For more info about splatting, run: Get-Help -Name about_Splatting DscMetaConfigs @Params
Wypełnij klucz rejestracji i adres URL konta usługi Automation oraz nazwy maszyn, które mają być włączone. Wszystkie inne parametry są opcjonalne. Aby znaleźć klucz rejestracji i adres URL rejestracji dla konta usługi Automation, zobacz Używanie metakonfiguracji DSC do rejestrowania maszyn hybrydowych.
Jeśli chcesz, aby maszyny zgłaszały informacje o stanie rozszerzenia DSC do usługi Azure Automation State Configuration, ale nie ściągały konfiguracji lub modułów programu PowerShell, ustaw
ReportOnly
parametr na true.Jeśli
ReportOnly
nie jest ustawiona, maszyny zgłaszają informacje o stanie DSC do usługi Azure Automation State Configuration i ściągania konfiguracji lub modułów programu PowerShell. Ustaw odpowiednio parametry w blokachConfigurationRepositoryWeb
,ResourceRepositoryWeb
iReportServerWeb
.Uruchom skrypt. Teraz powinien istnieć folder katalogu roboczego o nazwie DscMetaConfigs zawierający metakonfiguracje DSC programu PowerShell dla maszyn do włączenia (jako administrator).
Set-DscLocalConfigurationManager -Path ./DscMetaConfigs
Generowanie metakonfiguracji DSC przy użyciu poleceń cmdlet usługi Azure Automation
Metakonfiguracje DSC można wygenerować przy użyciu poleceń cmdlet usługi Azure Automation w następujących warunkach:
- Wartości domyślne LCM są zgodne z twoim przypadkiem użycia
- Chcesz włączyć zarówno ściąganie maszyn, jak i raportowanie do usługi Azure Automation State Configuration
Aby wygenerować metakonfiguracje, wykonaj następujące kroki:
Otwórz konsolę programu PowerShell lub program VS Code jako administrator na komputerze w środowisku lokalnym.
Nawiązywanie połączenia z usługą Azure Resource Manager przy użyciu polecenia Connect-AzAccount.
Pobierz metakonfiguracje DSC programu PowerShell dla maszyn, które chcesz włączyć z konta usługi Automation, w którym konfigurujesz węzły.
# Define the parameters for Get-AzAutomationDscOnboardingMetaconfig using PowerShell Splatting $Params = @{ ResourceGroupName = 'ContosoResources' # The Resource Group that contains your Azure Automation account AutomationAccountName = 'ContosoAutomation'; # The Azure Automation account where you want to onboard the node ComputerName = @('web01', 'web02', 'sql01'); # The computers to generate the metaconfigurations for OutputFolder = "$env:UserProfile\Desktop\"; } # Use PowerShell splatting to pass parameters to the Azure Automation cmdlet being invoked # For more info about splatting, run: Get-Help -Name about_Splatting Get-AzAutomationDscOnboardingMetaconfig @Params
Teraz powinien istnieć folder DscMetaConfigs zawierający metakonfiguracje DSC programu PowerShell dla maszyn do włączenia (jako administrator).
Set-DscLocalConfigurationManager -Path $env:UserProfile\Desktop\DscMetaConfigs
Włączanie fizycznych/wirtualnych maszyn z systemem Windows
Serwery z systemem Windows działające lokalnie lub w innych środowiskach chmury (w tym wystąpienia usługi AWS EC2) można włączyć w usłudze Azure Automation State Configuration. Serwery muszą mieć dostęp wychodzący do platformy Azure.
Upewnij się, że na maszynach jest zainstalowana najnowsza wersja programu WMF 5 , aby włączyć usługę State Configuration. Ponadto program WMF 5 musi być zainstalowany na komputerze używanym do włączania maszyn.
Aby utworzyć folder zawierający wymagane metakonfiguracje DSC, postępuj zgodnie z instrukcjami w temacie Generowanie metakonfiguracji DSC.
Użyj następującego polecenia cmdlet, aby zdalnie zastosować metakonfiguracje DSC programu PowerShell do maszyn w celu włączenia.
Set-DscLocalConfigurationManager -Path C:\Users\joe\Desktop\DscMetaConfigs -ComputerName MyServer1, MyServer2
Jeśli nie możesz zdalnie zastosować metakonfiguracji DSC programu PowerShell, skopiuj folder metakonfiguracje do komputerów , które włączasz. Następnie dodaj kod w celu wywołania polecenia Set-DscLocalConfigurationManager lokalnie na maszynach.
Korzystając z witryny Azure Portal lub poleceń cmdlet, sprawdź, czy maszyny są wyświetlane jako węzły konfiguracji stanu zarejestrowane na koncie usługi Azure Automation.
Włączanie maszyn fizycznych/wirtualnych z systemem Linux
Można włączyć serwery z systemem Linux działające lokalnie lub w innych środowiskach w chmurze dla usługi State Configuration. Serwery muszą mieć dostęp wychodzący do platformy Azure.
Upewnij się, że na maszynach jest zainstalowana najnowsza wersja konfiguracji żądanego stanu programu PowerShell dla systemu Linux , aby włączyć usługę State Configuration.
Jeśli ustawienia domyślne lokalnego programu Configuration Manager programu PowerShell są zgodne z twoim przypadkiem użycia, i chcesz włączyć maszyny, aby ściągały z i zgłaszały konfigurację stanu:
Na każdej maszynie z systemem Linux do włączenia użyj
Register.py
polecenia , aby włączyć maszynę z ustawieniami domyślnymi programu PowerShell DSC Local Configuration Manager./opt/microsoft/dsc/Scripts/Register.py <Automation account registration key> <Automation account registration URL>
Aby znaleźć klucz rejestracji i adres URL rejestracji dla konta usługi Automation, zobacz Używanie metakonfiguracji DSC do rejestrowania maszyn hybrydowych.
Jeśli ustawienia domyślne programu PowerShell DSC Local Configuration Manager (LCM) nie są zgodne z twoim przypadkiem użycia lub chcesz włączyć maszyny, które raportują tylko do usługi Azure Automation State Configuration, wykonaj kroki 4–7. W przeciwnym razie przejdź bezpośrednio do kroku 7.
Postępuj zgodnie z instrukcjami w sekcji Generowanie metakonfiguracji DSC, aby utworzyć folder zawierający wymagane metakonfiguracje DSC.
Upewnij się, że najnowsza wersja programu WMF 5 jest zainstalowana na komputerze używanym do włączania maszyn w usłudze State Configuration.
Dodaj kod w następujący sposób, aby zdalnie zastosować metakonfiguracje DSC programu PowerShell do maszyn w celu włączenia.
$SecurePass = ConvertTo-SecureString -String '<root password>' -AsPlainText -Force $Cred = New-Object System.Management.Automation.PSCredential 'root', $SecurePass $Opt = New-CimSessionOption -UseSsl -SkipCACheck -SkipCNCheck -SkipRevocationCheck # need a CimSession for each Linux machine to onboard $Session = New-CimSession -Credential $Cred -ComputerName <your Linux machine> -Port 5986 -Authentication basic -SessionOption $Opt Set-DscLocalConfigurationManager -CimSession $Session -Path C:\Users\joe\Desktop\DscMetaConfigs
Jeśli nie możesz zdalnie zastosować metakonfiguracji DSC programu PowerShell, skopiuj metakonfiguracje odpowiadające maszynom zdalnym z folderu opisanego w kroku 4 do maszyn z systemem Linux.
Dodaj kod, aby wywołać
Set-DscLocalConfigurationManager.py
lokalnie na każdej maszynie z systemem Linux, aby włączyć usługę State Configuration./opt/microsoft/dsc/Scripts/SetDscLocalConfigurationManager.py -configurationmof <path to metaconfiguration file>
Upewnij się, że maszyny są wyświetlane jako węzły DSC zarejestrowane na koncie usługi Azure Automation. Możesz użyć witryny Azure Portal lub poleceń cmdlet.
Ponowne rejestrowanie węzła
Po zarejestrowaniu maszyny jako węzła DSC w usłudze Azure Automation State Configuration może być konieczne ponowne zarejestrowanie tego węzła w przyszłości.
Odnawianie certyfikatu. W przypadku wersji systemu Windows Server przed systemem Windows Server 2019 każdy węzeł automatycznie negocjuje unikatowy certyfikat uwierzytelniania wygasający po roku. Jeśli certyfikat wygaśnie bez odnowienia, węzeł nie może komunikować się z usługą Azure Automation i jest oznaczony jako
Unresponsive
. Obecnie protokół rejestracji DSC programu PowerShell nie może automatycznie odnawiać certyfikatów, gdy zbliżają się one do wygaśnięcia, i należy ponownie zarejestrować węzły po upływie roku. Przed ponownym zarejestrowaniem upewnij się, że każdy węzeł jest uruchomiony w programie WMF 5 RTM.Nowy certyfikat jest generowany i używany w przypadku ponownego zarejestrowania 90 dni lub mniej z czasu wygaśnięcia certyfikatu lub w dowolnym momencie po wygaśnięciu certyfikatu. Ten problem został rozwiązany w systemie Windows Server 2019 lub nowszym.
Zmiany w wartościach LCM DSC. Może być konieczne zmiana wartości LCM LCM programu PowerShell dla programu PowerShell podczas początkowej rejestracji węzła, na przykład
ConfigurationMode
. Obecnie można zmienić tylko te wartości agenta DSC za pomocą ponownej rejestracji. Jednym wyjątkiem jest wartość Konfiguracja węzła. Tę wartość można zmienić bezpośrednio w usłudze Azure Automation DSC.
Możesz ponownie zarejestrować węzeł tak samo, jak początkowo zarejestrowano węzeł, przy użyciu dowolnej z metod opisanych w tym dokumencie. Nie musisz wyrejestrować węzła z usługi Azure Automation State Configuration przed jego ponownym zarejestrowaniem.
Sprawdzanie stanu konfiguracji maszyny wirtualnej
Konfiguracja stanu umożliwia łatwe włączanie maszyn wirtualnych platformy Azure z systemem Windows na potrzeby zarządzania konfiguracją. Pod maską rozszerzenie Konfiguracji żądanego stanu maszyny wirtualnej platformy Azure służy do rejestrowania maszyny wirtualnej w usłudze Azure Automation State Configuration. Ponieważ rozszerzenie Konfiguracji żądanego stanu maszyny wirtualnej platformy Azure jest uruchamiane asynchronicznie, śledzenie postępu i rozwiązywanie problemów z jego wykonywaniem może być ważne.
Uwaga
Każda metoda włączania maszyn wirtualnych platformy Azure z systemem Windows dla konfiguracji stanu korzystającej z rozszerzenia Konfiguracji żądanego stanu maszyny wirtualnej platformy Azure może potrwać do godziny, aby usługa Azure Automation wyświetlała maszyny wirtualne jako zarejestrowane. To opóźnienie jest spowodowane instalacją programu WMF 5 na maszynie wirtualnej przez rozszerzenie konfiguracji żądanego stanu maszyny wirtualnej platformy Azure, które jest wymagane do włączenia maszyn wirtualnych dla konfiguracji stanu.
Aby wyświetlić stan rozszerzenia konfiguracji żądanego stanu maszyny wirtualnej platformy Azure:
- W witrynie Azure Portal przejdź do włączonej maszyny wirtualnej.
- Wybierz pozycję Rozszerzenia w obszarze Ustawienia.
- Teraz wybierz pozycję DSC lub DSCForLinux w zależności od systemu operacyjnego.
- Aby uzyskać więcej informacji, możesz wybrać pozycję Wyświetl szczegółowy stan.
Następne kroki
- Aby rozpocząć, zobacz Rozpoczynanie pracy z usługą Azure Automation State Configuration.
- Aby dowiedzieć się więcej o kompilowaniu konfiguracji DSC w celu przypisania ich do węzłów docelowych, zobacz Kompilowanie konfiguracji DSC w usłudze Azure Automation State Configuration.
- Aby zapoznać się z dokumentacją poleceń cmdlet programu PowerShell, zobacz Az.Automation.
- Aby uzyskać informacje o cenach, zobacz Cennik usługi Azure Automation State Configuration.
- Aby zapoznać się z przykładem używania usługi Azure Automation State Configuration w potoku ciągłego wdrażania, zobacz Konfigurowanie ciągłego wdrażania za pomocą aplikacji Chocolatey.
- Aby uzyskać informacje dotyczące rozwiązywania problemów, zobacz Rozwiązywanie problemów z usługą Azure Automation State Configuration.