Planen eines Wechsels von der Desired State Configuration-Erweiterung zur Azure-Computerkonfiguration
Die Computerkonfiguration ist die neueste Implementierung der Funktion, die von der PowerShell-DSC-Erweiterung (Desired State Configuration) für virtuelle Computer in Azure bereitgestellt wurde. Wenn möglich, sollten Sie planen, Ihre Inhalte und Computer in den neuen Dienst zu verschieben. Dieser Artikel enthält einen Leitfaden zum Entwickeln einer Migrationsstrategie.
Neue Features bei der Computerkonfiguration:
- Erweiterte Berichterstellung über Azure Resource Graph einschließlich Ressourcen-ID und Status
- Verwalten mehrerer Konfigurationen für denselben Computer
- Wenn Computer vom gewünschten Zustand abweichen, steuern Sie, wann die Wiederherstellung erfolgt
Bevor Sie beginnen, sollten Sie die allgemeinen Informationen zur Azure Policy-Computerkonfiguration lesen.
Hauptunterschiede
Die Computerkonfiguration verwendet DSC, Version 2. Die DSC-Erweiterung verwendet DSC,Version 1. Die Implementierungen sind getrennt. Es gibt jedoch keine Konflikterkennung. Es wird nicht empfohlen, die gleiche Konfiguration von beiden Plattformen verwalten zu lassen.
Konfigurationen werden über die DSC-Erweiterung in einem „Pushmodell“ bereitgestellt, in dem der Vorgang asynchron erfolgt. Die Bereitstellung ist erst wieder verfügbar, wenn die Ausführung der Konfiguration auf dem virtuellen Computer abgeschlossen ist. Nach der Bereitstellung werden keine weiteren Informationen an Resource Manager zurückgegeben. Überwachung und Drift werden innerhalb des Computers verwaltet.
Von der Computerkonfiguration werden Konfigurationen in einem Pullmodell verarbeitet. Die Erweiterung wird auf einem virtuellen Computer bereitgestellt, und die Aufträge werden dann basierend auf Details der Computerkonfigurationszuweisung ausgeführt. Es ist nicht möglich, den Status in Echtzeit anzuzeigen, während die Konfiguration innerhalb des Computers angewendet wird. Abweichungen können nach Anwenden der Konfiguration mithilfe von Azure Resource Manager (ARM) überwacht und korrigiert werden.
Die DSC-Erweiterung enthielt private Einstellungen (privateSettings), wodurch Geheimnisse wie Kennwörter oder gemeinsam verwendete Schlüssel an die Konfiguration übergeben werden konnten. Die Geheimnisverwaltung wurde für die Computerkonfiguration noch nicht implementiert.
Die Computerkonfiguration wird in PowerShell, Version 7.2, ausgeführt, während die DSC-Erweiterung in Windows PowerShell 5.1 ausgeführt wird. Während die meisten Ressourcen aufgrund von implizitem Remoting funktionieren sollten, empfiehlt es sich, vorhandene Ressourcen vor der Verwendung zu testen.
Da die DSC-Erweiterung den lokalen Konfigurations-Manager-Dienst in Windows verwaltet, kann die Kontrolle darüber, ob Neustarts zulässig sind, in den Eigenschaften der Erweiterung festgelegt werden. Im Rahmen der Umstellung auf die Computerkonfiguration sollten Sie Neustarts mithilfe von Azure Resource Manager verwalten.
Das von der DSC-Erweiterung verwendete ZIP-Dateiartefakt ist nicht mit der Azure-Computerkonfiguration kompatibel. Planen Sie die Verwendung der Tools für die Computerkonfigurationserstellung, um die Konfiguration und die erforderlichen PowerShell-Module neu zu packen und in Azure Storage erneut zu veröffentlichen.
Grundlegendes zur Migration
Der beste Ansatz für die Migration besteht darin, Inhalte zuerst neu zu erstellen, zu testen und erneut zu bereitstellen und dann die neue Lösung für neue Computer zu verwenden.
Die Migration umfasst üblicherweise folgende Schritte:
- Herunterladen und Erweitern des für die DSC-Erweiterung verwendeten
.zip
-Pakets - Untersuchen der MOF-Datei (Managed Object Format) und der Ressourcen, um das Szenario zu verstehen
- Nehmen Sie alle erforderlichen Änderungen an der Konfiguration oder den Ressourcen vor.
- Erstellen, Testen und Veröffentlichen eines neuen Pakets mithilfe des Erstellungsmoduls von „Computerkonfiguration“
- Verwenden von „Computerkonfiguration“ für künftige Bereitstellungen anstelle der DSC-Erweiterung
Erwägen Sie, komplexe Konfigurationsdateien zu zerlegen.
Die Computerkonfiguration kann mehrere Konfigurationen pro Computer verwalten. Bei vielen Konfigurationen, die für die DSC-Erweiterung geschrieben wurden, wurde von der Beschränkung der Verwaltung auf eine einzelne Konfiguration pro Computer ausgegangen. Um die erweiterten Funktionen der Computerkonfiguration zu nutzen, können große Konfigurationsdateien in viele kleinere Konfigurationen unterteilt werden, von denen jede ein bestimmtes Szenario verarbeitet.
In der Computerkonfiguration gibt es keine Orchestrierung, um die Sortierreihenfolge von Konfigurationen zu steuern. Fassen Sie die Schritte einer Konfiguration in einem einzelnen Paket zusammen, wenn die Schritte nacheinander ausgeführt werden müssen.
Testen von Inhalten in der Azure-Computerkonfiguration
Lesen Sie die Seite Erstellen benutzerdefinierter Paketartefakte für „Computerkonfiguration“, um zu bewerten, ob Ihre Inhalte aus der DSC-Erweiterung mit „Computerkonfiguration“ verwendet werden können.
Verwenden Sie im Schritt Erstellen einer Konfiguration die MOF-Datei aus dem DSC-Erweiterungspaket als Grundlage für die Erstellung einer neuen MOF-Datei und benutzerdefinierter DSC-Ressourcen. Sie müssen über die benutzerdefinierten PowerShell-Module in $env:PSModulePath
verfügen, um ein Computerkonfigurationspaket erstellen zu können.
Aktualisieren der Bereitstellungsvorlagen
Wenn Ihre Bereitstellungsvorlagen die DSC-Erweiterung enthalten (siehe Beispiele), sind zwei Änderungen erforderlich:
Ersetzen Sie zunächst die DSC-Erweiterung durch die Erweiterung für das Computerkonfigurationsfeature.
Fügen Sie dann eine Computerkonfigurationszuweisung hinzu, die das neue Konfigurationspaket (und den Hashwert) dem Computer zugeordnet.
Muss ich benutzerdefinierten Ressourcen die Eigenschaft „Reasons“ hinzufügen?
Die Implementierung der Eigenschaft Reasons bietet eine bessere Erfahrung beim Anzeigen der Ergebnisse einer Konfigurationszuweisung im Azure-Portal. Wenn die Methode Get
in einem Modul Reasons nicht enthält, wird die generische Ausgabe mit Details aus den Eigenschaften zurückgegeben, die von der Methode Get
zurückgegeben werden. Daher ist es für die Migration optional.
Entfernen einer Konfiguration, die von der DSC-Erweiterung zugewiesen wurde
In früheren DSC-Versionen wurde eine Konfiguration durch die DSC-Erweiterung über den lokalen Konfigurations-Manager (Local Configuration Manager, LCM) zugewiesen. Es empfiehlt sich, die DSC-Erweiterung zu entfernen und den LCM zurückzusetzen.
Wichtig
Wenn Sie eine Konfiguration im lokalen Konfigurations-Manager entfernen, wird dadurch kein Rollback für die Einstellungen durchgeführt, die von der Konfiguration festgelegt wurden. Die Entfernung der Konfiguration bewirkt lediglich, dass die zugewiesene Konfiguration nicht mehr durch den LCM verwaltet wird. Die Einstellungen bleiben erhalten.
Verwenden Sie den Befehl Remove-DscConfigurationDocument
wie unter Remove-DscConfigurationDocument dokumentiert
Nächste Schritte
- Entwickeln eines benutzerdefinierten Computerkonfigurationspakets
- Verwenden Sie das GuestConfiguration-Modul, um eine Azure-Richtliniendefinition für die Verwaltung Ihrer Umgebung im großen Maßstab zu erstellen.
- Weisen Sie Ihre Richtliniendefinition mithilfe des Azure-Portals zu.