Aktivieren von Azure Automation State Configuration
Hinweis
Azure Automation State Configuration wird am 30. September 2027 eingestellt. Wechseln Sie bis zu diesem Datum zu Azure Machine Configuration. Weitere Informationen finden Sie in der Ankündigung im Blogbeitrag. Der Azure-Computerkonfigurationsdienst kombiniert Features der DSC-Erweiterung und von Azure Automation State Configuration mit den am häufigsten angeforderten Features aus Kundenfeedback. Die Azure-Computerkonfiguration umfasst auch die Unterstützung von Hybridcomputern über Arc-fähige Server.
Achtung
Azure Automation DSC für Linux wurde am 30. September 2023 eingestellt. Weitere Informationen finden Sie in der Ankündigung.
In diesem Artikel wird beschrieben, wie Sie Computer mit Azure Automation State Configuration für die Verwaltung einrichten können. Ausführliche Informationen zu diesem Dienst finden Sie in der Übersicht über Azure Automation State Configuration.
Aktivieren von Azure-VMs
Mit Azure Automation State Configuration können Sie Azure-VMs problemlos für die Konfigurationsverwaltung aktivieren, indem Sie das Azure-Portal, Azure Resource Manager-Vorlagen oder PowerShell verwenden. Die Erweiterung Azure VM Desired State Configuration registriert den virtuellen Computer automatisch bei der Azure Automation State Configuration. Da die Azure-Erweiterung asynchron ausgeführt wird, werden die Schritte zum Überprüfen des Fortschritts unter Überprüfen des Status der VM-Einrichtung beschrieben.
Hinweis
Beim Bereitstellen von DSC für einen Linux-Knoten wird der Ordner /tmp verwendet. Module wie nxautomation
werden temporär zur Überprüfung heruntergeladen, bevor Sie an den entsprechenden Speicherorten installiert werden. Zum Sicherstellen, dass die Module ordnungsgemäß installiert werden, benötigt der Log Analytics-Agent für Linux Lese-/Schreibberechtigungen für den Ordner /tmp. Der Log Analytics-Agent für Linux wird als Benutzer omsagent
ausgeführt.
Damit der >-Benutzer die erforderliche Schreibberechtigung erhält, führen Sie den Befehl omsagent
aussetfacl -m u:omsagent:rwx /tmp
.
Aktivieren eines virtuellen Computers über das Azure-Portal
So aktivieren Sie einen virtuellen Azure-Computer über das Azure-Portal für State Configuration:
- Navigieren Sie zu dem Azure Automation-Konto, in dem Sie VMs aktivieren möchten.
- Wählen Sie auf der Seite „State Configuration“ die Registerkarte Knoten und dann Hinzufügen aus.
- Wählen Sie einen virtuellen Computer zur Aktivierung aus.
- Wenn auf dem Computer nicht die PowerShell-Erweiterung für DSC installiert ist und der Energiezustand ausgeführt wird, wählen Sie Verbinden aus.
- Geben Sie unter Registrierung die Werte des lokalen Konfigurations-Managers von PowerShell DSC ein, die für Ihren Anwendungsfall erforderlich sind. Optional können Sie eine Knotenkonfiguration eingeben, die dem virtuellen Computer zugewiesen werden soll.
Aktivieren eines virtuellen Computers mithilfe von Azure Resource Manager-Vorlagen
Sie können einen virtuellen Computer mit Azure Resource Manager-Vorlagen für State Configuration installieren und aktivieren. Unter Vom DSC-Dienst verwalteter Server finden Sie eine Beispielvorlage zum Aktivieren eines vorhandenen virtuellen Computers für State Configuration. Wenn Sie eine VM-Skalierungsgruppe verwalten, finden Sie Informationen in der Beispielvorlage Von Azure Automation verwaltete VM-Skalierungsgruppenkonfiguration.
Aktivieren von Computern mit PowerShell
Sie können das Cmdlet Register-AzAutomationDscNode in PowerShell verwenden, um VMs für State Configuration zu aktivieren.
Hinweis
Das Cmdlet Register-AzAutomationDscNode
ist jedoch zurzeit nur für Computer mit Windows implementiert, da es nur die Windows-Erweiterung auslöst.
Registrieren von VMs über Azure-Abonnements hinweg
Die beste Methode zum Registrieren virtueller Computer aus anderen Azure-Abonnements ist die Verwendung der DSC-Erweiterung in einer Azure Resource Manager-Bereitstellungsvorlage. Beispiele finden Sie in Erweiterung zum Konfigurieren des gewünschten Zustands mit Azure Resource Manager-Vorlagen.
Verwenden der DSC-Metakonfiguration zum Registrieren von Hybridcomputern
Sie können Computer sicher über die DSC-Metakonfiguration für ein Azure Automation-Konto aktivieren. Die in DSC implementierten Protokolle verwenden Informationen aus der Metakonfiguration, um sich bei Azure Automation State Configuration zu authentifizieren. Der Knoten wird beim Dienst mit der Registrierungs-URL registriert und mit einem Registrierungsschlüssel authentifiziert. Während der Registrierung handeln der DSC-Knoten und der DSC-Dienst ein eindeutiges Zertifikat für den Knoten aus, das nach der Registrierung zur Authentifizierung beim Server verwendet wird. Durch diesen Prozess wird verhindert, dass aktivierte Knoten die Identität eines anderen Knotens annehmen, wenn z. B. ein Knoten kompromittiert wurde und böswillige Absichten verfolgt. Nach der Registrierung wird der Registrierungsschlüssel nicht wieder für die Authentifizierung verwendet und vom Knoten gelöscht.
Die für das DSC-Registrierungsprotokoll erforderlichen Informationen finden Sie im Azure-Portal in den Kontoeinstellungen unter Schlüssel.
- Die Registrierungs-URL finden Sie unter dem Feld „URL“ auf der Seite „Schlüssel“.
- Beim Registrierungsschlüssel handelt es sich um den Wert des Felds Primärer Zugriffsschlüssel oder Sekundärer Zugriffsschlüssel auf der Seite „Schlüssel“. Beide Schlüssel können verwendet werden.
Sie können den primären und den sekundären Zugriffsschlüssel eines Automation-Kontos jederzeit auf der Seite „Schlüssel“ erneut generieren, was für zusätzliche Sicherheit sorgt. Durch die Neugenerierung der Schlüssel wird verhindert, dass bei zukünftigen Knotenregistrierungen vorherige Schlüssel verwendet werden.
Generieren von DSC-Metakonfigurationen
Sie können eine DSC-Metakonfiguration generieren, um jeden beliebigen Computer für State Configuration zu aktivieren. Mit dieser Konfiguration wird der DSC-Agent dazu aufgefordert, von Azure Automation State Configuration zu pullen und/oder Informationen an Azure Automation State Configuration zu senden. Sie können eine DSC-Metakonfiguration für Azure Automation State Configuration sowohl über eine PowerShell DSC-Konfiguration als auch über die Azure Automation PowerShell-Cmdlets generieren.
Hinweis
DSC-Metakonfigurationen enthalten die notwendigen Geheimnisse, um einen Computer in einem Automation-Konto für die Verwaltung zu aktivieren. Stellen Sie den ordnungsgemäßen Schutz aller von Ihnen generierten DSC-Metakonfigurationen sicher oder löschen Sie diese nach der Verwendung.
Der Local Configuration Manager (LCM) steuert die Proxyunterstützung für Metakonfigurationen. Der LCM wird auf allen Zielknoten ausgeführt und ist zuständig für das Aufrufen der Konfigurationsressourcen, die in einem DSC-Metakonfigurationsskript enthalten sind. Sie können die Proxy-Unterstützung in eine Metakonfiguration einschließen, indem Sie Definitionen der Eigenschaften ProxyURL
und ProxyCredential
wie erforderlich in die Blöcke ConfigurationRepositoryWeb
, ResourceRepositoryWeb
und ReportServerWeb
einbeziehen. Ein Beispiel für die URL-Einstellung ist ProxyURL = "http://172.16.3.6:3128";
. Die ProxyCredential
-Eigenschaft wird auf ein PSCredential
-Objekt festgelegt, wie unter Verwalten von Anmeldeinformationen in Azure Automation beschrieben.
Generieren von DSC-Metakonfigurationen mithilfe einer DSC-Konfiguration
Öffnen Sie einen Text-Editor, z. B. Visual Studio Code (VS Code), als Administrator auf einem Computer in Ihrer lokalen Umgebung. Auf dem Computer muss die neueste Version von WMF 5 installiert sein.
Kopieren Sie das folgende Skript in Ihre lokale Umgebung. Dieses Skript enthält eine PowerShell DSC-Konfiguration zum Erstellen von Metakonfigurationen und einen Befehl zum Starten der Metakonfigurationserstellung.
Hinweis
Bei State Configuration-Knotenkonfigurationsnamen wird im Azure-Portal die Groß-/Kleinschreibung beachtet. Bei abweichender Groß-/Kleinschreibung wird der Knoten nicht auf der Registerkarte Knoten angezeigt.
# 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
Geben Sie den Registrierungsschlüssel und die URL für Ihr Automation-Konto und die Namen der Computer ein, die aktiviert werden sollen. Alle anderen Parameter sind optional. Informationen zum Ermitteln des Registrierungsschlüssels und der Registrierungs-URL für Ihr Automation-Konto finden Sie unter Verwenden der DSC-Metakonfiguration zum Registrieren von Hybridcomputern.
Wenn die Computer zwar DSC-Statusinformationen an Azure Automation State Configuration senden, jedoch keine Konfigurations- oder PowerShell-Module abrufen sollen, legen Sie den
ReportOnly
-Parameter auf TRUE fest.Wenn
ReportOnly
nicht festgelegt wurde, senden die Computer DSC-Statusinformationen an Azure Automation State Configuration und pullen Konfigurations- oder PowerShell-Module. Legen Sie die Parameter in den BlöckenConfigurationRepositoryWeb
,ResourceRepositoryWeb
undReportServerWeb
entsprechend fest.Führen Sie das Skript aus. Ihr Arbeitsverzeichnis sollte nun einen Ordner namens DscMetaConfigs mit den PowerShell DSC-Metakonfigurationen der (als Administrator) zu aktivierenden Computer enthalten.
Set-DscLocalConfigurationManager -Path ./DscMetaConfigs
Generieren von DSC-Metakonfigurationen mithilfe von Azure Automation-Cmdlets
Sie können die DSC-Metakonfigurationen mit den Azure Automation-Cmdlets unter den folgenden Bedingungen generieren:
- Die LCM-Standardeinstellungen entsprechen Ihrem Anwendungsfall
- Sie möchten es Computern ermöglichen, sowohl von Azure Automation State Configuration zu pullen als auch an sie zu melden
Führen Sie die folgenden Schritte aus, um die Metakonfigurationen zu generieren:
Öffnen Sie die PowerShell-Konsole oder VS Code als Administrator auf einem Computer in Ihrer lokalen Umgebung.
Stellen Sie mithilfe von Connect-AzAccount eine Verbindung mit Azure Resource Manager her.
Laden Sie von dem Automation-Konto, in dem Sie Knoten einrichten möchten, die PowerShell DSC-Metakonfigurationen für die Computer herunter, die Sie aktivieren möchten.
# 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
Ihr Arbeitsverzeichnis sollte nun einen Ordner namens DscMetaConfigs mit den PowerShell DSC-Metakonfigurationen der (als Administrator) zu aktivierenden Computer enthalten.
Set-DscLocalConfigurationManager -Path $env:UserProfile\Desktop\DscMetaConfigs
Aktivieren physischer/virtueller Windows-Computer
Sie können Windows-Server, die lokal oder in anderen Cloudumgebungen (einschließlich AWS EC2-Instanzen) ausgeführt werden, für Azure Automation State Configuration aktivieren. Die Server müssen allerdings über ausgehenden Zugriff auf Azure verfügen.
Stellen Sie sicher, dass die neueste Version von WMF 5 auf den Computern installiert ist, die Sie für Azure Automation State Configuration aktivieren möchten. Außerdem muss WMF 5 auf dem Computer installiert sein, den Sie zum Aktivieren der Computer verwenden.
Befolgen Sie die Anweisungen im Abschnitt Generieren von DSC-Metakonfigurationen, um einen Ordner mit den erforderlichen DSC-Metakonfigurationen zu erstellen.
Verwenden Sie das folgende Cmdlet, um die PowerShell DSC-Metakonfigurationen remote auf die Computer anzuwenden, die Sie aktivieren möchten.
Set-DscLocalConfigurationManager -Path C:\Users\joe\Desktop\DscMetaConfigs -ComputerName MyServer1, MyServer2
Wenn Sie die PowerShell DSC-Metakonfigurationen nicht remote anwenden können, kopieren Sie den Ordner metaconfigurations auf die Computer, die Sie aktivieren möchten. Fügen Sie dann Code zum Aufrufen von Set-DscLocalConfigurationManager lokal auf den Computern hinzu.
Stellen Sie über das Azure-Portal oder mithilfe von Cmdlets sicher, dass die Computer als State Configuration-Knoten angezeigt werden, die in Ihrem Azure Automation-Konto registriert sind.
Aktivieren physischer/virtueller Linux-Computer
Sie können Linux-Server, die lokal oder in anderen Cloudumgebungen ausgeführt werden, für State Configuration aktivieren. Die Server müssen allerdings über ausgehenden Zugriff auf Azure verfügen.
Stellen Sie sicher, dass die neueste Version von PowerShell Desired State Configuration für Linux auf den Computern installiert ist, die Sie für State Configuration konfigurieren möchten.
Gehen Sie folgendermaßen vor, wenn die Standardwerte des lokalen Konfigurations-Managers von PowerShell DSC zu Ihrem Anwendungsfall passen und Sie Computer so aktivieren möchten, dass diese sowohl Informationen von State Configuration abrufen als auch Informationen an State Configuration senden:
Verwenden Sie
Register.py
auf jedem zu aktivierenden Linux-Computer, um den Computer mit den Standardeinstellungen des lokalen Konfigurations-Managers von PowerShell DSC zu aktivieren./opt/microsoft/dsc/Scripts/Register.py <Automation account registration key> <Automation account registration URL>
Informationen zum Ermitteln des Registrierungsschlüssels und der Registrierungs-URL für Ihr Automation-Konto finden Sie unter Verwenden der DSC-Metakonfiguration zum Registrieren von Hybridcomputern.
Wenn die Standardwerte des lokalen Konfigurations-Managers (LCM) von PowerShell DSC nicht zu Ihrem Anwendungsfall passen, oder Sie Computer so aktivieren möchten, dass diese nur Informationen an Azure Automation State Configuration senden, befolgen Sie die Schritte 4 bis 7. Fahren Sie andernfalls direkt mit Schritt 7 fort.
Befolgen Sie die Anweisungen im Abschnitt Generieren von DSC-Metakonfigurationen, um einen Ordner mit den erforderlichen DSC-Metakonfigurationen zu erstellen.
Stellen Sie sicher, dass die neueste Version von WMF 5 auf den Computern installiert ist, die Sie zum Aktivieren Ihrer Computer für State Configuration verwenden.
Fügen Sie Code wie den folgenden hinzu, um die PowerShell DSC-Metakonfigurationen remote auf die zu aktivierenden Computer anzuwenden.
$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
Wenn Sie die PowerShell DSC-Metakonfigurationen nicht remote anwenden können, kopieren Sie die Metakonfigurationen für die Remotecomputer aus dem in Schritt 4 beschriebenen Ordner auf die Linux-Computer.
Fügen Sie Code hinzu, um
Set-DscLocalConfigurationManager.py
lokal auf jedem für State Configuration zu aktivierenden Linux-Computer aufzurufen./opt/microsoft/dsc/Scripts/SetDscLocalConfigurationManager.py -configurationmof <path to metaconfiguration file>
Stellen Sie sicher, dass die Computer als DSC-Knoten angezeigt werden, die in Ihrem Azure Automation-Konto registriert sind. Sie können das Azure-Portal oder die Cmdlets verwenden.
Erneutes Registrieren eines Knotens
Nachdem Sie einen Computer als DSC-Knoten in Azure Automation State Configuration registrieren, gibt es mehrere Gründe, warum Sie diesen Knoten in Zukunft möglicherweise erneut registrieren müssen.
Zertifikatverlängerung: Bei älteren Windows Server-Versionen als Windows Server 2019 handelt jeder Knoten automatisch ein eindeutiges Zertifikat für die Authentifizierung aus, das nach einem Jahr abläuft. Wenn ein Zertifikat ohne Verlängerung abläuft, kann der Knoten nicht mehr mit Azure Automation kommunizieren und wird als
Unresponsive
gekennzeichnet. Gegenwärtig kann das PowerShell DSC-Registrierungsprotokoll Zertifikate nicht automatisch verlängern, wenn sie sich dem Ablaufdatum nähern, weshalb Sie die Knoten nach einem Jahr noch mal registrieren müssen. Stellen Sie vor einer erneuten Registrierung sicher, dass auf jedem Knoten WMF 5 RTM ausgeführt wird.Ein neues Zertifikat wird generiert und verwendet, wenn Sie es 90 Tage oder weniger vor dem Ablaufzeitpunkt des Zertifikats oder zu einem beliebigen Zeitpunkt nach dem Ablaufdatum des Zertifikats erneut registrieren. Dieses Problem wurde in Windows Server 2019 und höher behoben.
Änderungen an DSC-LCM-Werten: Möglicherweise müssen Sie die Werte des LCM von PowerShell DSC ändern, die Sie während der ersten Registrierung des Knotens festgelegt haben, z. B.
ConfigurationMode
. Diese DSC-Agent-Werte können Sie derzeit nur über eine erneute Registrierung ändern. Die einzige Ausnahme ist der Node Configuration-Wert. Diesen Wert können Sie direkt in Azure Automation DSC ändern.
Sie können einen Knoten auf die gleiche Weise wie bei der ersten Registrierung des Knotens mithilfe einer der in diesem Dokument beschriebenen Methoden erneut registrieren. Sie müssen die Registrierung eines Knotens in Azure Automation State Configuration nicht aufheben, bevor Sie ihn erneut registrieren.
Überprüfen des Status der VM-Einrichtung
Mit State Configuration können Sie problemlos Azure-VMs für die Konfigurationsverwaltung aktivieren. Die Azure-VM-Erweiterung für DSC wird verwendet, um virtuelle Computer bei Azure Automation DSC zu registrieren. Da die Azure-VM-Erweiterung für DSC asynchron ausgeführt wird, können die Überwachung des Fortschritts und die Problembehandlung bei der Ausführung wichtig sein.
Hinweis
Beim Aktivieren einer Azure Windows-VM für State Configuration mithilfe der Azure-VM-Erweiterung für DSC kann es bis zu einer Stunde dauern, bis in Azure Automation angezeigt wird, dass die VMs registriert sind. Der Grund für diese Verzögerung ist die zum Aktivieren virtueller Computer für State Configuration erforderliche Installation von WMF 5 auf dem virtuellen Computer durch die Azure-VM-Erweiterung für DSC.
So zeigen Sie den Status der Azure-VM-Erweiterung für DSC an:
- Navigieren Sie im Azure-Portal zu dem virtuellen Computer, der aktiviert wird.
- Wählen Sie unter Einstellungen die Option Erweiterungen aus.
- Wählen Sie dann je nach Betriebssystem DSC oder DSCForLinux aus.
- Weitere Details erhalten Sie, wenn Sie Detaillierten Status anzeigen auswählen.
Nächste Schritte
- Eine Einführung finden Sie unter Erste Schritte mit Azure Automation State Configuration.
- Wie Sie DSC-Konfigurationen kompilieren und sie anschließend Zielknoten zuweisen, erfahren Sie unter Kompilieren von DSC-Konfigurationen in Azure Automation State Configuration.
- Eine Referenz zu den PowerShell-Cmdlets finden Sie unter Az.Automation.
- Eine Preisübersicht finden Sie unter Automation – Preise.
- Ein Anwendungsbeispiel für Azure Automation State Configuration in einer Continuous Deployment-Pipeline finden Sie unter Einrichten von Continuous Deployment mit Chocolatey.
- Informationen zur Behandlung von Problemen finden Sie unter Problembehandlung bei Azure Automation State Configuration.