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

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