Konfigurieren von Computern mit einem gewünschten Status
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.
Mit der Azure Automation-Zustandskonfiguration können Sie Konfigurationen für Ihre Server festlegen und sicherstellen, dass sich diese Server im Verlauf der Zeit im angegebenen Zustand befinden.
- Integrieren eines virtuellen Computers in die Azure Automation DSC-Verwaltung
- Hochladen einer Konfiguration in Azure Automation
- Kompilieren einer Konfiguration in eine Knotenkonfiguration
- Zuweisen einer Knotenkonfiguration zu einem verwalteten Knoten
- Überprüfen des Konformitätsstatus eines verwalteten Knotens
Für dieses Tutorial verwenden wir eine einfache DSC-Konfiguration, die sicherstellt, dass IIS auf der VM installiert ist.
Voraussetzungen
- Ein Azure Automation-Konto. Weitere Informationen zu Automation-Konten und den zugehörigen Anforderungen finden Sie unter Übersicht über die Automation-Kontoauthentifizierung.
- Eine Azure Resource Manager-VM (nicht klassisch) unter Windows Server 2008 R2 oder höher. Eine Anleitung zum Erstellen einer VM finden Sie unter Erstellen Ihres ersten virtuellen Windows-Computers im Azure-Portal.
- Azure PowerShell-Modul, Version 3.6 oder höher. Führen Sie
Get-Module -ListAvailable Az
aus, um die Version zu ermitteln. Wenn Sie ein Upgrade ausführen müssen, finden Sie unter Installieren des Azure PowerShell-Moduls Informationen dazu. - Erfahrung mit DSC (Desired State Configuration, Konfiguration des gewünschten Zustands). Weitere Informationen zu DSC finden Sie unter Windows PowerShell DSC – Übersicht.
Unterstützung für Teilkonfigurationen
Azure Automation State Configuration unterstützt die Verwendung von Teilkonfigurationen. In diesem Szenario ist DSC so konfiguriert, dass mehrere Konfigurationen unabhängig voneinander verwaltet werden können, wobei jede Konfiguration von Azure Automation abgerufen wird. Einem Knoten kann aber nur eine Konfiguration mittels Automation-Konto zugewiesen werden. Dies bedeutet, dass Sie bei Verwendung von zwei Konfigurationen für einen Knoten zwei Automation-Kontos benötigen.
Ausführliche Informationen zum Registrieren einer Teilkonfiguration aus einem Pulldienst finden Sie in der Dokumentation zu Teilkonfigurationen.
Weitere Informationen dazu, wie Teams zusammenarbeiten können, um Server gemeinsam mithilfe von Konfiguration als Code zu verwalten, finden Sie unter Grundlegendes zu DSCs Rolle in einer CI/CD-Pipeline.
Anmelden bei Azure
Melden Sie sich mit dem Cmdlet Connect-AzAccount bei Ihrem Azure-Abonnement an, und befolgen Sie die Anweisungen auf dem Bildschirm.
Connect-AzAccount
Erstellen und Hochladen einer Konfiguration in Azure Automation
Geben Sie in einem Texteditor Folgendes ein, und speichern Sie die Datei lokal als TestConfig.ps1.
configuration TestConfig {
Node WebServer {
WindowsFeature IIS {
Ensure = 'Present'
Name = 'Web-Server'
IncludeAllSubFeature = $true
}
}
}
Hinweis
Konfigurationsnamen in Azure Automation dürfen nicht mehr als 100 Zeichen lang sein.
In komplexeren Szenarien, in denen mehrere Module importiert werden müssen, die DSC-Ressourcen bereitstellen, müssen Sie sicherstellen, dass jedes Modul über eine eindeutige Zeile vom Typ Import-DscResource
in Ihrer Konfiguration verfügt.
Rufen Sie das Cmdlet Import-AzAutomationDscConfiguration auf, um die Konfiguration in Ihr Automation-Konto hochzuladen.
$importAzAutomationDscConfigurationSplat = @{
SourcePath = 'C:\DscConfigs\TestConfig.ps1'
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
Published = $ture
}
Import-AzAutomationDscConfiguration @importAzAutomationDscConfigurationSplat
Kompilieren einer Konfiguration in eine Knotenkonfiguration
Eine DSC-Konfiguration muss in eine Knotenkonfiguration kompiliert werden, bevor sie einem Knoten zugewiesen werden kann. Weitere Informationen finden Sie unter DSC-Konfigurationen.
Rufen Sie das Cmdlet Start-AzAutomationDscCompilationJob auf, um die TestConfig
-Konfiguration in eine Knotenkonfiguration namens TestConfig.WebServer
in Ihrem Automation-Konto zu kompilieren.
$startAzAutomationDscCompilationJobSplat = @{
ConfigurationName = 'TestConfig'
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
}
Start-AzAutomationDscCompilationJob @startAzAutomationDscCompilationJobSplat
Registrieren eines virtuellen Computers für die Verwaltung durch die Zustandskonfiguration
Mit Azure Automation State Configuration können Sie virtuelle Azure-Computer (mit dem klassischen Modell oder dem Resource Manager-Modell), lokale virtuelle Computer, Linux-Computer, virtuelle AWS-Computer und lokale physische Computer verwalten. In diesem Artikel wird das Registrieren von ausschließlich Azure Resource Manager-VMs behandelt. Informationen zum Registrieren anderer Computertypen finden Sie unter Integrieren von Computern für die Verwaltung durch die Azure Automation-Zustandskonfiguration.
Rufen Sie das Cmdlet Register-AzAutomationDscNode auf, um Ihren virtuellen Computer bei der Azure Automation State Configuration als verwalteten Knoten zu registrieren.
$registerAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
AzureVMName = 'DscVm'
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat
Angeben der Konfigurationsmoduseinstellungen
Verwenden Sie das Cmdlet Register-AzAutomationDscNode, um einen virtuellen Computer als verwalteten Knoten zu registrieren und Konfigurationseigenschaften anzugeben. Sie können z. B. festlegen, dass der Zustand des Computers nur einmalig angewendet werden soll, indem Sie ApplyOnly
als Wert der ConfigurationMode
-Eigenschaft angeben. State Configuration versucht nach der anfänglichen Überprüfung nicht, die Konfiguration anzuwenden.
$registerAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
AzureVMName = 'DscVm'
ConfigurationMode = 'ApplyOnly'
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat```
You can also specify how often DSC checks the configuration state by using the
`ConfigurationModeFrequencyMins` property. For more information about DSC configuration settings,
see [Configuring the Local Configuration Manager][05].
```powershell
# Run a DSC check every 60 minutes
$registerAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
AzureVMName = 'DscVm'
ConfigurationModeFrequencyMins = 60
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat```
## Assign a node configuration to a managed node
Now we can assign the compiled node configuration to the VM we want to configure.
```powershell
# Get the ID of the DSC node
$getAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
Name = 'DscVm'
}
$node = Get-AzAutomationDscNode @getAzAutomationDscNodeSplat
# Assign the node configuration to the DSC node
$setAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
NodeConfigurationName = 'TestConfig.WebServer'
NodeId = $node.Id
}
Set-AzAutomationDscNode @setAzAutomationDscNodeSplat
Damit wird dem registrierten DSC-Knoten DscVm
die Knotenkonfiguration namens TestConfig.WebServer
zugeordnet.
Standardmäßig wird der DSC-Knoten alle 30 Minuten auf Konformität mit der Knotenkonfiguration geprüft. Informationen zum Ändern des Intervalls für die Konformitätsprüfung finden Sie unter Konfigurieren des lokalen Konfigurations-Managers.
Überprüfen des Konformitätsstatus eines verwalteten Knotens
Sie können Berichte zum Compliancestatus eines verwalteten Knotens abrufen, indem Sie das Cmdlet Get-AzAutomationDscNodeReport verwenden.
# Get the ID of the DSC node
$getAzAutomationDscNodeSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
Name = 'DscVm'
}
$node = Get-AzAutomationDscNode @getAzAutomationDscNodeSplat
# Get an array of status reports for the DSC node
$getAzAutomationDscNodeReportSplat = @{
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
NodeId = $node.Id
}
$reports = Get-AzAutomationDscNodeReport @getAzAutomationDscNodeReportSplat
# Display the most recent report
$reports[0]
Nächste Schritte
- Eine Einführung finden Sie unter Erste Schritte mit Azure Automation State Configuration.
- Informationen zum Aktivieren von Knoten finden Sie unter Aktivieren von 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.
- Ein Anwendungsbeispiel für Azure Automation State Configuration in einer Continuous Deployment-Pipeline finden Sie unter Einrichten von Continuous Deployment mit Chocolatey.
- Eine Preisübersicht finden Sie unter Automation – Preise.
- Eine Referenz zu den PowerShell-Cmdlets finden Sie unter Az.Automation.