Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Remarque
L’extension DSC sera retirée le 31 mars 2028. Passez à Azure Machine Configuration à cette date. Pour plus d’informations, consultez l’annonce de l’article de blog. Le service Azure Machine Configuration combine certaines fonctionnalités de l’extension DSC, d’Azure Automation State Configuration et des fonctionnalités couramment demandées à partir des commentaires des clients. Azure Machine Configuration inclut également la prise en charge des ordinateurs hybrides via des serveurs avec Arc.
L’extension Azure VM pour des machines virtuelles Azure et les extensions associées font partie des services d’infrastructure Microsoft Azure. Les extensions de machine virtuelle Azure sont des composants logiciels qui étendent les fonctionnalités d’une machine virtuelle et simplifient ses diverses opérations de gestion.
L’extension DSC envoie uniquement une configuration à la machine virtuelle. La fonction de création de rapports en continu est uniquement disponible localement, sur la machine virtuelle.
Remarque
Essayez l’assistance de machine virtuelle pour accélérer les diagnostics. Nous vous recommandons d’exécuter l’assistance de machine virtuelle pour Windows ou l’assistance de machine virtuelle pour Linux. Ces outils de diagnostic basés sur des scripts vous aident à identifier les problèmes courants qui affectent l’agent invité de machine virtuelle Azure et l’intégrité globale des machines virtuelles.
Si vous rencontrez des problèmes de performances avec des machines virtuelles, avant de contacter le support technique, exécutez ces outils.
Versions DSC disponibles
L’extension DSC prend en charge les configurations de la version 1.1 de la plateforme DSC. Pour plus d’informations, consultez PSDesiredStateConfiguration v1.1.
Prérequis
Station de travail du développeur : pour interagir avec l’extension Azure DSC, vous devez utiliser le Portail Azure ou le Kit de développement logiciel (SDK) Azure PowerShell/CLI.
Agent invité : la machine virtuelle Azure préparée par la configuration DSC doit utiliser un système d’exploitation prenant en charge Windows Management Framework (WMF) version 4.0 ou ultérieure. Pour la liste complète des versions de système d’exploitation prises en charge, consultez l’historique des versions de l’extension Azure DSC.
Termes et concepts
Cet article part du principe que vous connaissez les concepts suivants :
Configuration : fait référence à un document de configuration DSC.
Nœud : identifie la cible d’une configuration DSC. Dans cet article, le terme nœud fait toujours référence à une machine virtuelle Azure.
Les données de configuration sont stockées dans un fichier au format DSC PowerShell (.psd1) qui contient les données environnementales d’une configuration.
Architecture
L’extension Azure DSC utilise l’infrastructure de l’extension Azure VM pour fournir, mettre en œuvre et créer des rapports sur les configurations DSC sur des machines virtuelles Azure. L’extension DSC accepte un document de configuration et un ensemble de paramètres.
Lorsque l’extension est déployée la première fois, elle installe une version de WMF à l’aide de la logique suivante :
Si le système d’exploitation de la machine virtuelle Azure est Windows Server 2016, aucune action n’est effectuée. En effet, la dernière version de PowerShell est installée sur Windows Server 2016.
Si la propriété
wmfVersionest spécifiée, la version spécifiée de WMF est installée, sauf si la version spécifiée est incompatible avec le système d’exploitation de la machine virtuelle.Si aucune propriété
wmfVersionn’est spécifiée, la dernière version applicable de WMF est installée.
Le processus d’installation de WMF nécessite un redémarrage. Après avoir redémarré, l’extension automatise le téléchargement du .zip fichier spécifié dans la modulesUrl propriété, le cas échéant. Si cet emplacement figure dans le stockage Blob Azure, vous pouvez spécifier un jeton SAP dans la propriété sasToken pour accéder au fichier. Ensuite, la fonction de configuration définie dans le configurationFunction s'exécute pour générer un fichier Managed Object Format (MOF) (.MOF). Ensuite, l’extension exécute la commande Start-DscConfiguration -Force à l’aide du fichier .mof généré. L’extension capture la sortie et l’écrit dans le canal d’état Azure.
Nom de la configuration de nœuds
Pour le paramètre NodeConfigurationName, assurez-vous de fournir le nom de la configuration du nœud et non celui de la Configuration.
La Configuration est définie dans un script qui est utilisé pour compiler la configuration des nœuds (fichier MOF). Le nom de la configuration du nœud est toujours le nom de la Configuration suivi d’un point . et soit localhost soit un nom d’ordinateur spécifique.
Déploiement de modèle ARM
L’approche la plus courante pour le déploiement de l’extension DSC consiste à utiliser des modèles Azure Resource Manager. Pour plus d’informations et d’exemples d’inclusion de l’extension DSC dans des modèles ARM, consultez Extension de Desired State Configuration avec des modèles ARM.
Déploiement d’une cmdlet PowerShell
Les cmdlets PowerShell de gestion de l’extension DSC sont idéales dans les scénarios interactifs de résolution de problèmes et de collecte d’informations. Vous pouvez utiliser les applets de commande pour empaqueter, publier et surveiller des déploiements de l’extension DSC.
Voici quelques-unes des cmdlets PowerShell disponibles :
L’applet de commande Publish-AzVMDscConfiguration prend un fichier de configuration, l’analyse pour les ressources DSC dépendantes, puis crée un
.zipfichier. Le.zipfichier contient la configuration et les ressources DSC nécessaires à l’adoption de la configuration. La cmdlet peut également créer le package en local en utilisant le paramètre-OutputArchivePath. Sinon, l’applet de commande publie le.zipfichier dans Le Stockage Blob, puis le sécurise avec un jeton SAP.Le script de configuration PowerShell (
.ps1) créé par l’applet de commande se trouve dans le fichier à la.zipracine du dossier d’archivage. Le dossier du module est placé dans le dossier d’archivage, sous les ressources.La cmdlet Set-AzVMDscExtension injecte les paramètres nécessaires à l'extension DSC PowerShell dans un objet de configuration de la machine virtuelle.
La cmdlet Get-AzVMDscExtension extrait l'état de l'extension DSC d'une machine virtuelle spécifique.
La cmdlet Get-AzVMDscExtensionStatus extrait l'état de la configuration DSC imposée par le Gestionnaire d'extensions DSC. Cette action peut être effectuée sur une seule machine virtuelle ou sur un groupe de machines virtuelles.
La cmdlet Remove-AzVMDscExtension supprime le Gestionnaire d'extensions d'une machine virtuelle spécifique. Gardez à l’esprit que cette cmdlet ne supprime pas la configuration, ne désinstalle pas WMF et ne modifie pas les paramètres appliqués à la machine virtuelle. La cmdlet ne supprime que le gestionnaire d’extensions.
Considérations importantes
Plusieurs considérations doivent être prises en compte lors de l’utilisation des cmdlets Azure Resource Manager.
Les applets de commande Azure Resource Manager sont synchrones.
Plusieurs paramètres sont requis, notamment
ResourceGroupName,VMName,ArchiveStorageAccountName,VersionetLocation.ArchiveResourceGroupNameest un paramètre facultatif. Spécifiez ce paramètre lorsque votre compte de stockage appartient à un groupe de ressources différent de celui dans lequel la machine virtuelle est créée.Utilisez le commutateur
AutoUpdatepour mettre automatiquement à jour le gestionnaire d’extensions vers la dernière version dès que celle-ci est disponible. Ce paramètre peut entraîner des redémarrages sur la machine virtuelle lors de la publication d’une nouvelle version de WMF.
Configuration avec des cmdlets PowerShell
L’extension DSC Azure peut utiliser des documents de configuration DSC pour configurer directement des machines virtuelles Azure pendant le déploiement. Cette étape n’inscrit pas le nœud dans Automation ou Configuration d’ordinateur. Gardez à l’esprit que le nœud n’est pas managé de manière centralisée.
Le code suivant montre un exemple simple de configuration. Pour utiliser cet exemple, enregistrez cette configuration localement en tant que fichier de script iisInstall.ps1.
configuration IISInstall
{
node "localhost"
{
WindowsFeature IIS
{
Ensure = "Present"
Name = "Web-Server"
}
}
}
Les commandes PowerShell suivantes placent le iisInstall.ps1 script sur la machine virtuelle spécifiée. Les commandes exécutent également la configuration, puis génèrent un rapport d’état.
$resourceGroup = 'dscVmDemo'
$vmName = 'myVM'
$storageName = 'demostorage'
#Publish the configuration script to user storage
Publish-AzVMDscConfiguration -ConfigurationPath .\iisInstall.ps1 -ResourceGroupName $resourceGroup -StorageAccountName $storageName -force
#Set the VM to run the DSC configuration
Set-AzVMDscExtension -Version '2.76' -ResourceGroupName $resourceGroup -VMName $vmName -ArchiveStorageAccountName $storageName -ArchiveBlobName 'iisInstall.ps1.zip' -AutoUpdate -ConfigurationName 'IISInstall'
Déploiement de l’interface de ligne de commande Azure
Vous pouvez utiliser Azure CLI pour déployer l’extension DSC sur une machine virtuelle existante. Les exemples suivants montrent comment déployer une machine virtuelle sur Windows.
Pour une machine virtuelle fonctionnant sous Windows, utilisez la commande suivante :
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name DSC \
--publisher Microsoft.Powershell \
--version 2.77 --protected-settings '{}' \
--settings '{}'
Déploiement du portail Azure
Pour configurer l’extension DSC dans le portail Azure, procédez comme suit :
Accédez à une machine virtuelle.
Sous Paramètres, sélectionnez Extensions + Applications.
Sous Extensions, sélectionnez + Ajouter.
Sélectionnez PowerShell Desired State Configuration, puis Suivant.
Configurez les paramètres suivants pour l’extension DSC.
Modules de configuration ou Script : (Obligatoire) Fournissez les modules de configuration ou le fichier de script à votre machine virtuelle.
Les modules de configuration et les scripts nécessitent un
.ps1fichier qui a un script de configuration ou un.zipfichier avec un.ps1script de configuration à la racine. Si vous utilisez un.zipfichier, toutes les ressources dépendantes doivent être incluses dans les dossiers de module du.zipfichier. Vous pouvez créer le.zipfichier à l’aide de l’applet de commande Publish-AzureVMDscConfiguration -OutputArchivePath incluse dans le Kit de développement logiciel (SDK) Azure PowerShell. Le.zipfichier est chargé dans votre stockage Blob utilisateur et sécurisé par un jeton SAP.Nom qualifié du module de configuration : (obligatoire) Spécifiez ce paramètre pour inclure plusieurs fonctions de configuration dans un seul
.ps1fichier de script. Pour ce paramètre, entrez le nom du fichier de script de configuration.ps1suivi d’une barre oblique\, puis le nom de la fonction de configuration. Par exemple, si le.ps1fichier de script a le nom configuration.ps1 et que le nom de configuration est IisInstall, entrez la valeurconfiguration.ps1\IisInstalldu paramètre.Arguments de configuration : si la fonction de configuration prend des arguments, entrez leurs valeurs ici au format
argumentName1=value1,argumentName2=value2. Notez que ce format diffère du format utilisé pour spécifier les arguments de configuration dans les cmdlets PowerShell ou les modèles ARM.Fichier PSD1 de données de configuration : si votre configuration nécessite un fichier de données de configuration au
.psd1format, utilisez ce paramètre pour sélectionner le fichier de données et le charger dans votre stockage Blob utilisateur. Le fichier de données de configuration est sécurisé avec un jeton SAP dans le stockage Blob.Version WMF : spécifie la version de Windows Management Framework (WMF) à installer sur votre machine virtuelle. Si vous choisissez la dernière, qui est la valeur par défaut, le système installe la version la plus récente de WMF. Les autres valeurs possibles incluent 4.0, 5.0 et 5.1. Les valeurs possibles font l’objet de mises à jour.
Collecte de données : activez ce paramètre si vous souhaitez que l’extension DSC collecte des données de télémétrie sur votre machine virtuelle. Pour plus d’informations, consultez la page Azure DSC Extension Data Collection (Collection de données d’extension Azure DSC).
Version : (Obligatoire) spécifie la version de l’extension DSC à installer. Pour obtenir plus d’informations sur les versions, consultez Historique des versions de l’extension Azure DSC.
Mise à niveau automatique de la version secondaire : ce paramètre correspond au commutateur
AutoUpdatedes cmdlets. Configurez ce paramètre pour activer la mise à jour automatique de l’extension DSC vers la dernière version lors de l’installation. Oui indique au gestionnaire d’extension DSC d’utiliser la dernière version disponible. Non (valeur par défaut) force l’installation de la version que vous spécifiez dans le paramètre Version.
Après avoir configuré les paramètres, sélectionnez Vérifier + Créer, puis Créer.
Journaux d’extension DSC
Vous pouvez afficher les journaux de l’extension Azure DSC sur la machine virtuelle sous C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\<version number>.
Étapes suivantes
- Pour plus informations sur DSC PowerShell, reportez-vous au centre de documentation PowerShell.
- Examinez le modèle ARM de l’extension Azure DSC.
- Pour obtenir plus de fonctionnalités gérables avec DSC PowerShell ainsi que plus de ressources DSC, parcourez la galerie PowerShell.
- Pour plus d’informations sur le passage de paramètres sensibles dans des configurations, consultez Gérer les informations d’identification de façon sécurisée avec le gestionnaire d’extensions Azure DSC.