Configurer les machines à l’état souhaité
Azure Automation State Configuration vous permet de spécifier des configurations pour vos serveurs et de vérifier que leur état ainsi défini perdure dans le temps.
- Intégrer une machine virtuelle à gérer par Azure Automation DSC
- Charger une configuration dans Azure Automation
- Compiler une configuration dans une configuration de nœud
- Attribuer une configuration de nœud à un nœud géré
- Vérifier l’état de conformité d’un nœud géré
Dans ce tutoriel, nous utilisons une configuration DSC simple qui permet de veiller à ce qu’IIS soit installé sur la machine virtuelle.
Prérequis
- Un compte Azure Automation. Pour en savoir plus sur un compte Automation et ses exigences, consultez Vue d’ensemble de l’authentification du compte Automation.
- Une machine virtuelle Azure Resource Manager (et non Classic) fonctionnant sur Windows Server 2008 R2 ou version ultérieure. Pour obtenir des instructions sur la création d’une machine virtuelle, consultez Création d’une première machine virtuelle Windows sur le Portail Azure.
- Module Azure PowerShell, version 3.6 ou ultérieure. Exécutez
Get-Module -ListAvailable Az
pour trouver la version. Si vous devez effectuer une mise à niveau, consultez Installer le module Azure PowerShell. - Des notions de base de la configuration de l’état souhaité. Pour plus d’informations sur la configuration DSC, consultez Vue d’ensemble de la fonctionnalité Desired State Configuration de Windows PowerShell.
Prise en charge des configurations partielles
Azure Automation State Configuration prend en charge l’utilisation de configurations partielles. Dans ce scénario, DSC est configuré pour gérer plusieurs configurations de manière indépendante, et chaque configuration est récupérée à partir d’Azure Automation. Toutefois, on ne peut affecter qu’une seule configuration à un nœud par compte Automation. Par conséquent, si vous utilisez deux configurations pour un nœud, vous aurez besoin de deux comptes Automation.
Pour savoir comment inscrire une configuration partielle à partir d’un service Pull, consultez la documentation relative aux configurations partielles.
Pour plus d’informations sur la collaboration possible entre équipes dans le but de gérer les serveurs avec la configuration en tant que code, consultez Présentation du rôle de la configuration DSC dans un pipeline CI/CD.
Connexion à Azure
Connectez-vous à votre abonnement Azure avec la cmdlet Connect-AzAccount et suivez les instructions qui s’affichent à l’écran.
Connect-AzAccount
Créer et charger une configuration dans Azure Automation
Dans un éditeur de texte, tapez le code suivant et enregistrez-le localement sous le nom TestConfig.ps1.
configuration TestConfig {
Node WebServer {
WindowsFeature IIS {
Ensure = 'Present'
Name = 'Web-Server'
IncludeAllSubFeature = $true
}
}
}
Remarque
Les noms de configuration dans Azure Automation doivent être limités à 100 caractères.
Dans les scénarios plus avancés où vous devez importer plusieurs modules qui fournissent des ressources DSC, vérifiez que chaque module a une ligne Import-DscResource
unique dans votre configuration.
Appelez la cmdlet Import-AzAutomationDscConfiguration pour charger la configuration dans votre compte Automation.
Import-AzAutomationDscConfiguration -SourcePath 'C:\DscConfigs\TestConfig.ps1' -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Published
Compiler une configuration dans une configuration de nœud
Une configuration DSC doit être compilée dans une configuration de nœud avant de pouvoir être affectée à un nœud. Consultez Configurations DSC.
Appelez la cmdlet Start-AzAutomationDscCompilationJob pour compiler la configuration TestConfig
dans une configuration de nœud nommée TestConfig.WebServer
au sein de votre compte Automation.
Start-AzAutomationDscCompilationJob -ConfigurationName 'TestConfig' -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount'
Inscrire une machine virtuelle devant être gérée par State Configuration
Azure Automation State Configuration vous permet de gérer vos machines virtuelles Azure (par le biais des modèles de déploiement classique et Resource Manager), vos machines virtuelles locales, vos machines Linux, vos machines virtuelles AWS et vos ordinateurs physiques en local. Dans cette rubrique, nous allons voir comment inscrire uniquement des machines virtuelles Azure Resource Manager. Pour plus d’informations sur l’inscription d’autres types de machines, consultez Intégration de machines pour la gestion avec Azure Automation State Configuration.
Appelez la cmdlet Register-AzAutomationDscNode pour inscrire votre machine virtuelle auprès d’Azure Automation State Configuration en tant que nœud géré.
Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm'
Spécifier les paramètres du mode de configuration
Utilisez la cmdlet Register-AzAutomationDscNode pour inscrire une machine virtuelle en tant que nœud géré et indiquer des propriétés de configuration. Par exemple, vous pouvez spécifier que l’état de la machine ne doit être appliqué qu’une seule fois en choisissant ApplyOnly
comme valeur de la propriété ConfigurationMode
. State Configuration n’essaie pas d’appliquer la configuration après la vérification initiale.
Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm' -ConfigurationMode 'ApplyOnly'
Vous pouvez également préciser la fréquence à laquelle DSC vérifie l’état de configuration à l’aide de la propriété ConfigurationModeFrequencyMins
. Pour plus d’informations sur les paramètres de configuration DSC, consultez Configuration du Gestionnaire de configuration local.
# Run a DSC check every 60 minutes
Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm' -ConfigurationModeFrequencyMins 60
Attribuer une configuration de nœud à un nœud géré
Nous pouvons désormais attribuer la configuration de nœud compilé à la machine virtuelle que nous souhaitons configurer.
# Get the ID of the DSC node
$node = Get-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Name 'DscVm'
# Assign the node configuration to the DSC node
Set-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -NodeConfigurationName 'TestConfig.WebServer' -NodeId $node.Id
Cette opération attribue la configuration de nœud nommée TestConfig.WebServer
au nœud DSC inscrit DscVm
. Par défaut, le nœud DSC est vérifié pour la conformité avec la configuration de nœud toutes les 30 minutes. Pour obtenir des informations sur la modification de l’intervalle de vérification de conformité, consultez Configuration du Gestionnaire de configuration local.
Vérifier l’état de conformité d’un nœud géré
Pour obtenir des rapports sur l’état de conformité d’un nœud géré, utilisez la cmdlet Get-AzAutomationDscNodeReport.
# Get the ID of the DSC node
$node = Get-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Name 'DscVm'
# Get an array of status reports for the DSC node
$reports = Get-AzAutomationDscNodeReport -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -NodeId $node.Id
# Display the most recent report
$reports[0]
Étapes suivantes
- Pour commencer, consultez Bien démarrer avec Azure Automation State Configuration.
- Pour savoir comment activer des nœuds, consultez Activer State Configuration.
- Pour découvrir comment compiler des configurations DSC pour pouvoir les affecter à des nœuds cibles, consultez Compiler des configurations DSC dans Azure Automation State Configuration.
- Pour voir un exemple d’utilisation d’Azure Automation State Configuration dans un pipeline de déploiement continu, consultez Configurer un déploiement continu avec Chocolatey.
- Pour obtenir des informations sur les prix, consultez Tarification d’Azure Automation State Configuration.
- Pour obtenir des informations de référence sur les cmdlets PowerShell, consultez Az.Automation.