Activer Azure Automation State Configuration
Remarque
Azure Automation State Configuration sera mise hors service le 30 septembre 2027. Veuillez passer à Azure Machine Configuration avant cette date. Pour en savoir plus, consultez l’annonce du billet de blog. Le service Azure Machine Configuration combine les fonctionnalités d’Extension DSC, d’Azure Automation State Configuration, ainsi que les fonctionnalités les plus couramment demandées selon les commentaires des clients. Azure Machine Configuration inclut également la prise en charge des ordinateurs hybrides via des serveurs avec Arc.
Attention
Azure Automation DSC pour Linux a été mis hors service le 30 septembre 2023. Pour plus d'informations, consultez Annonce.
Cet article décrit comment vous pouvez configurer vos machines pour la gestion avec Azure Automation State Configuration. Pour plus d’informations sur ce service, consultez Vue d’ensemble d’Azure Automation State Configuration.
Activer les machines virtuelles Azure
Azure Automation State Configuration vous permet d’activer facilement des machines virtuelles Azure pour une gestion de configuration par le biais du portail Azure, des modèles Azure Resource Manager ou de PowerShell. L’extension Desired State Configuration de la machine virtuelle Azure inscrit automatiquement la machine virtuelle auprès d’Azure Automation State Configuration. Étant donné que l’extension Azure s’exécute de façon asynchrone, les étapes pour suivre sa progression sont décrites dans Vérifier l’état de configuration de machine virtuelle.
Remarque
Le déploiement de DSC sur un nœud Linux utilise le dossier /tmp. Les modules tels que nxautomation
sont téléchargés temporairement pour vérification avant d’être installés à leur emplacement approprié. Pour garantir que les modules seront installés correctement, l’agent Log Analytics pour Linux a besoin d’autorisations en lecture/écriture pour le dossier /tmp. L’agent Log Analytics pour Linux est exécuté avec le compte de l’utilisateur omsagent
.
Pour accorder l’autorisation >write à l’utilisateur omsagent
, exécutez la commande setfacl -m u:omsagent:rwx /tmp
.
Activer une machine virtuelle à l’aide du portail Azure
Pour activer une machine virtuelle Azure pour State Configuration via le portail Azure :
- Accédez au compte Azure Automation dans lequel activer des machines virtuelles.
- Dans la page State Configuration, sélectionnez l’onglet Nœuds, puis sélectionnez Ajouter.
- Choisissez une machine virtuelle à activer.
- Si l’extension d’état PowerShell souhaitée n’est pas installée sur la machine virtuelle et que l’état d’alimentation est en cours d’exécution, sélectionnez Se connecter.
- Sous Inscription, entrez les valeurs du gestionnaire de configuration locale de PowerShell DSC requises pour votre cas d’utilisation. Éventuellement, vous pouvez entrer une configuration de nœud à attribuer à la machine virtuelle.
Activer une machine virtuelle à l’aide de modèles Azure Resource Manager
Vous pouvez installer et activer une machine virtuelle pour State Configuration à l’aide de modèles Azure Resource Manager. Pour un exemple de modèle activant une machine virtuelle existante pour State Configuration, consultez Serveur géré par le service Desired State Configuration. Si vous gérez un groupe de machines virtuelles identiques, consultez l’exemple de modèle dans Configuration des groupes de machines virtuelles identiques gérés par Azure Automation.
Activer des machines à l’aide de PowerShell
Vous pouvez utiliser la cmdlet Register-AzAutomationDscNode dans PowerShell pour activer des machines virtuelles pour State Configuration.
Remarque
Le cmdlet Register-AzAutomationDscNode
est actuellement implémenté uniquement pour les ordinateurs exécutant Windows, car il déclenche uniquement l’extension Windows.
Inscrire des machines virtuelles dans des abonnements Azure
La meilleure façon d’enregistrer des machines virtuelles à partir d’autres abonnements Azure consiste à utiliser l’extension DSC dans un modèle de déploiement Azure Resource Manager. Vous trouverez des exemples dans la section relative à l’extension de Desired State Configuration avec des modèles Azure Resource Manager.
Utiliser la métaconfiguration DSC pour inscrire des machines hybrides
Vous pouvez activer des machines de manière sécurisée pour un compte Azure Automation par le biais de la métaconfiguration DSC. Les protocoles implémentés dans DSC utilisent les informations de la métaconfiguration pour s’authentifier auprès d’Azure Automation State Configuration. Le nœud s’inscrit auprès du service au niveau de l’URL d’inscription et s’authentifie à l’aide d’une clé d’inscription. Pendant l’inscription, le nœud DSC et le service DSC négocient un certificat unique pour le nœud qui devra être utilisé pour l’authentification au serveur après l’inscription. Ce processus empêche les nœuds activés d’emprunter l’identité d’un autre nœud, par exemple, si un nœud est compromis et se comporte de façon malveillante. Après l’enregistrement, la clé d’enregistrement n’est plus utilisée pour l’authentification et est supprimée du nœud.
Pour obtenir les informations requises pour le protocole d’inscription State Configuration, accédez à Clés sous Paramètres du compte dans le portail Azure.
- L’URL d’enregistrement correspond à la valeur du champ URL dans la page Clés.
- La clé d’inscription est la valeur du champ Clé d’accès principale ou du champ Clé d’accès secondaire de la page Clés. Vous pouvez utiliser l’une de ces deux clés.
Pour renforcer la sécurité, vous pouvez générer à nouveau les clés d’accès primaire et secondaire d’un compte Automation à tout moment dans la page Clés. La régénération de clé empêche les inscriptions de nœuds futures d’utiliser les clés précédentes.
Générer des métaconfigurations DSC
Pour activer une machine pour State Configuration, vous pouvez générer une métaconfiguration DSC. Cette configuration indique à l’agent DSC d’effectuer une extraction et/ou d’envoyer des rapports à Azure Automation State Configuration. Vous pouvez générer une métaconfiguration DSC pour Azure Automation State Configuration à l’aide d’une configuration PowerShell DSC ou des cmdlets PowerShell Azure Automation.
Remarque
Les métaconfigurations DSC contiennent les clés secrètes nécessaires à l’activation d’une machine dans un compte Automation à des fins de gestion. Veillez à protéger convenablement les métaconfigurations DSC que vous créez ou supprimez-les après utilisation.
Le gestionnaire de configuration local (LCM) contrôle la prise en charge du proxy pour les métaconfigurations. Le gestionnaire de configuration local s’exécute sur tous les nœuds cibles et il est chargé d’appeler les ressources de configuration contenues dans un script de métaconfiguration DSC. Vous pouvez inclure la prise en charge du proxy dans une métaconfiguration en incluant les définitions des propriétés ProxyURL
et ProxyCredential
nécessaires dans les blocs ConfigurationRepositoryWeb
, ResourceRepositoryWeb
et ReportServerWeb
. ProxyURL = "http://172.16.3.6:3128";
est un exemple de paramètre d’URL. La propriété ProxyCredential
est définie sur un objet PSCredential
, comme décrit dans Gérer les informations d’identification dans Azure Automation.
Générer des métaconfigurations DSC à l’aide d’une configuration DSC
Ouvrez un éditeur de texte, tel que Visual Studio Code (VS Code), en tant qu’administrateur sur un ordinateur de votre environnement local. Cette machine doit disposer de la dernière version de WMF 5 .
Copiez le script suivant localement. Ce script contient une configuration DSC PowerShell pour créer des métaconfigurations, ainsi qu’une commande pour lancer la création de métaconfigurations.
Remarque
Les noms de configuration de nœud State Configuration respectent la casse dans le Portail Azure. S’ils ne correspondent pas, le nœud ne s’affiche pas sous l’onglet Nœuds.
# The DSC configuration that will generate metaconfigurations [DscLocalConfigurationManager()] Configuration DscMetaConfigs { param ( [Parameter(Mandatory=$True)] [String]$RegistrationUrl, [Parameter(Mandatory=$True)] [String]$RegistrationKey, [Parameter(Mandatory=$True)] [String[]]$ComputerName, [Int]$RefreshFrequencyMins = 30, [Int]$ConfigurationModeFrequencyMins = 15, [String]$ConfigurationMode = 'ApplyAndMonitor', [String]$NodeConfigurationName, [Boolean]$RebootNodeIfNeeded= $False, [String]$ActionAfterReboot = 'ContinueConfiguration', [Boolean]$AllowModuleOverwrite = $False, [Boolean]$ReportOnly ) if(!$NodeConfigurationName -or $NodeConfigurationName -eq '') { $ConfigurationNames = $null } else { $ConfigurationNames = @($NodeConfigurationName) } if($ReportOnly) { $RefreshMode = 'PUSH' } else { $RefreshMode = 'PULL' } Node $ComputerName { Settings { RefreshFrequencyMins = $RefreshFrequencyMins RefreshMode = $RefreshMode ConfigurationMode = $ConfigurationMode AllowModuleOverwrite = $AllowModuleOverwrite RebootNodeIfNeeded = $RebootNodeIfNeeded ActionAfterReboot = $ActionAfterReboot ConfigurationModeFrequencyMins = $ConfigurationModeFrequencyMins } if(!$ReportOnly) { ConfigurationRepositoryWeb AzureAutomationStateConfiguration { ServerUrl = $RegistrationUrl RegistrationKey = $RegistrationKey ConfigurationNames = $ConfigurationNames } ResourceRepositoryWeb AzureAutomationStateConfiguration { ServerUrl = $RegistrationUrl RegistrationKey = $RegistrationKey } } ReportServerWeb AzureAutomationStateConfiguration { ServerUrl = $RegistrationUrl RegistrationKey = $RegistrationKey } } } # Create the metaconfigurations # NOTE: DSC Node Configuration names are case sensitive in the portal. # TODO: edit the below as needed for your use case $Params = @{ RegistrationUrl = '<fill me in>'; RegistrationKey = '<fill me in>'; ComputerName = @('<some VM to onboard>', '<some other VM to onboard>'); NodeConfigurationName = 'SimpleConfig.webserver'; RefreshFrequencyMins = 30; ConfigurationModeFrequencyMins = 15; RebootNodeIfNeeded = $False; AllowModuleOverwrite = $False; ConfigurationMode = 'ApplyAndMonitor'; ActionAfterReboot = 'ContinueConfiguration'; ReportOnly = $False; # Set to $True to have machines only report to AA DSC but not pull from it } # Use PowerShell splatting to pass parameters to the DSC configuration being invoked # For more info about splatting, run: Get-Help -Name about_Splatting DscMetaConfigs @Params
Entrez la clé et l’URL d’inscription de votre compte Automation et les noms des machines à activer. Tous les autres paramètres sont facultatifs. Pour trouver la clé d’inscription et l’URL d’inscription de votre compte Automation, consultez Utiliser la métaconfiguration DSC pour inscrire des machines hybrides.
Si vous voulez que les machines adressent les informations d’état DSC à Azure Automation State Configuration sans toutefois extraire la configuration ou des modules PowerShell, affectez au paramètre
ReportOnly
la valeur true.Si
ReportOnly
n’est pas défini, les machines signalent les informations d’état DSC à Azure Automation State Configuration et à la configuration de l’extraction ou aux modules PowerShell. Définissez les paramètres en conséquence dans les blocsConfigurationRepositoryWeb
,ResourceRepositoryWeb
etReportServerWeb
.Exécutez le script. Vous devez à présent avoir un dossier de répertoire de travail appelé DscMetaConfigs, contenant les métaconfigurations DSC PowerShell pour les machines à activer (en tant qu’administrateur).
Set-DscLocalConfigurationManager -Path ./DscMetaConfigs
Générer des métaconfigurations DSC à l’aide des cmdlets Azure Automation
Vous pouvez générer les métaconfigurations DSC à l’aide des applets de commande Azure Automation dans les conditions suivantes :
- Les valeurs par défaut du LCM correspondent à votre cas d’usage
- Vous souhaitez autoriser les machines à extraire et à signaler à Azure Automation State Configuration
Procédez comme suit pour générer les métaconfigurations :
Ouvrez la console PowerShell ou VS Code en tant qu’administrateur sur une machine de votre environnement local.
Connectez-vous à Azure Resource Manager en utilisant Connect-AzAccount.
Téléchargez les métaconfigurations DSC PowerShell pour les machines à activer à partir du compte Automation dans lequel vous configurez des nœuds.
# Define the parameters for Get-AzAutomationDscOnboardingMetaconfig using PowerShell Splatting $Params = @{ ResourceGroupName = 'ContosoResources' # The Resource Group that contains your Azure Automation account AutomationAccountName = 'ContosoAutomation'; # The Azure Automation account where you want to onboard the node ComputerName = @('web01', 'web02', 'sql01'); # The computers to generate the metaconfigurations for OutputFolder = "$env:UserProfile\Desktop\"; } # Use PowerShell splatting to pass parameters to the Azure Automation cmdlet being invoked # For more info about splatting, run: Get-Help -Name about_Splatting Get-AzAutomationDscOnboardingMetaconfig @Params
Vous devez à présent avoir un dossier DscMetaConfigs contenant les métaconfigurations DSC PowerShell pour les machines à activer (en tant qu’administrateur).
Set-DscLocalConfigurationManager -Path $env:UserProfile\Desktop\DscMetaConfigs
Activer des machines physiques/virtuelles Windows
Vous pouvez activer des serveurs Windows exécutés localement ou dans d’autres environnements cloud, notamment des instances AWS EC2, pour Azure Automation State Configuration. Les serveurs doivent disposer d’un accès sortant à Azure.
Vérifiez que la dernière version de WMF 5 est installée sur les machines à activer pour State Configuration. WMF 5 doit également être installé sur l’ordinateur que vous utilisez pour l’activation des machines.
Pour créer un dossier contenant les métaconfigurations DSC requises, suivez les instructions fournies dans Générer des métaconfigurations DSC.
Utilisez la cmdlet suivante pour appliquer les métaconfigurations DSC PowerShell à distance aux machines à activer.
Set-DscLocalConfigurationManager -Path C:\Users\joe\Desktop\DscMetaConfigs -ComputerName MyServer1, MyServer2
Si vous ne pouvez pas appliquer les métaconfigurations DSC PowerShell à distance, copiez le dossier metaconfigurations vers les machines à activer. Ajoutez ensuite du code pour appeler Set-DscLocalConfigurationManager localement sur les machines.
À l’aide du portail Azure ou de cmdlets, vérifiez que les machines apparaissent bien comme des nœuds State Configuration inscrits dans votre compte Azure Automation.
Activer des machines physiques/virtuelles Linux
Vous pouvez activer des serveurs Linux s’exécutant localement ou dans d’autres environnements cloud pour State Configuration. Les serveurs doivent disposer d’un accès sortant à Azure.
Vérifiez que la dernière version de PowerShell Desired State Configuration pour Linux est installée sur les machines à activer pour State Configuration.
Si les valeurs par défaut du gestionnaire de configuration local DSC PowerShell correspondent à votre cas d’utilisation et que vous voulez activer des machines afin qu’elles échangent avec State Configuration :
Sur chaque machine Linux à activer, utilisez
Register.py
pour activer la machine avec les valeurs par défaut du gestionnaire de configuration local DSC PowerShell./opt/microsoft/dsc/Scripts/Register.py <Automation account registration key> <Automation account registration URL>
Pour trouver la clé d’inscription et l’URL d’inscription de votre compte Automation, consultez Utiliser la métaconfiguration DSC pour inscrire des machines hybrides.
Si les valeurs par défaut du gestionnaire de configuration local DSC PowerShell ne correspondent pas à votre cas d’utilisation et que vous voulez activer des machines qui ne font que rendre compte à Azure Automation State Configuration, suivez les étapes 4 à 7. Sinon, passez directement à l’étape 7.
Pour produire un dossier contenant les méconfigurations DSC requises, suivez les instructions fournies dans Générer des métaconfigurations DSC.
Assurez-vous que la dernière version de WMF 5 est installée sur l’ordinateur utilisé pour activer vos machines pour State Configuration.
Ajoutez le code suivant pour appliquer les métaconfigurations DSC PowerShell à distance aux machines à activer.
$SecurePass = ConvertTo-SecureString -String '<root password>' -AsPlainText -Force $Cred = New-Object System.Management.Automation.PSCredential 'root', $SecurePass $Opt = New-CimSessionOption -UseSsl -SkipCACheck -SkipCNCheck -SkipRevocationCheck # need a CimSession for each Linux machine to onboard $Session = New-CimSession -Credential $Cred -ComputerName <your Linux machine> -Port 5986 -Authentication basic -SessionOption $Opt Set-DscLocalConfigurationManager -CimSession $Session -Path C:\Users\joe\Desktop\DscMetaConfigs
Si vous ne pouvez pas appliquer à distance les métaconfigurations PowerShell DSC, copiez les métaconfigurations correspondant aux ordinateurs distants à partir du dossier décrit dans l’étape 4 sur les ordinateurs Linux.
Ajoutez du code pour appeler
Set-DscLocalConfigurationManager.py
localement sur chaque machine Linux à activer pour State Configuration./opt/microsoft/dsc/Scripts/SetDscLocalConfigurationManager.py -configurationmof <path to metaconfiguration file>
Vérifiez que les machines s’affichent en tant que nœuds DSC inscrits dans votre compte Azure Automation. Vous pouvez utiliser le portail Microsoft Azure ou les applets de commande.
Réinscrire un nœud
Après avoir inscrit une machine en tant que nœud DSC dans Azure Automation State Configuration, vous êtes susceptible de réinscrire ce nœud à l’avenir pour plusieurs raisons.
Renouvellement du certificat. Pour les versions de Windows Server antérieures à Windows Server 2019, chaque nœud négocie automatiquement un certificat unique d’authentification qui expire après un an. Si un certificat expire sans renouvellement, le nœud ne peut pas communiquer avec Azure Automation et est marqué comme
Unresponsive
. À ce stade, le protocole d’inscription DSC PowerShell ne peut pas renouveler automatiquement les certificats lorsqu’ils sont sur le point d’expirer. Vous devez réinscrire les nœuds après un an. Avant la réinscription, assurez-vous que chaque nœud exécute WMF5 RTM.Un nouveau certificat est généré et utilisé si vous réinscrivez 90 jours ou moins à partir de l’heure d’expiration du certificat ou à tout moment après l’heure d’expiration du certificat. Ce problème est résolu dans Windows Server 2019 et versions ultérieures.
Modifications apportées aux valeurs du gestionnaire de configuration local DSC. Vous devrez peut-être modifier les valeurs du gestionnaire de configuration local PowerShell DSC définies lors de l’inscription initiale du nœud, par exemple,
ConfigurationMode
. Actuellement, vous ne pouvez modifier ces valeurs d’agent DSC que par le biais d’une réinscription. La seule exception est la valeur de configuration du nœud. Vous pouvez modifier cette valeur directement dans Azure Automation DSC.
Vous pouvez réinscrire un nœud en suivant la procédure d’inscription initiale, en utilisant l’une des méthodes décrites dans ce document. Il est inutile de désinscrire un nœud dans Azure Automation State Configuration avant de le réinscrire.
Vérifier l’état de configuration de machine virtuelle
State Configuration vous permet d’activer facilement des machines virtuelles Windows Azure pour la gestion de la configuration. En arrière-plan, l’extension Azure VM Desired State Configuration est utilisée pour enregistrer la machine virtuelle auprès d’Azure Automation State Configuration. Étant donné que cette extension s’exécute de façon asynchrone, il peut être important d’en suivre la progression et de résoudre ses éventuels problèmes d’exécution.
Remarque
Pour toute méthode d’activation de machines virtuelles Windows Azure pour State Configuration qui utilise l’extension Azure VM Desired State Configuration, il peut s’écouler jusqu’à une heure avant qu’Azure Automation affiche les machines virtuelles telles qu’elles sont inscrites. Ce délai est dû à l’installation de WMF 5 sur la machine virtuelle par l’extension Azure VM Desired State Configuration, requise pour activer les machines virtuelles pour State Configuration.
Pour afficher l’état de l’extension Azure VM Desired State Configuration :
- Dans le portail Azure, accédez à la machine virtuelle en cours d’activation.
- Sélectionnez Extensions sous Paramètres.
- Sélectionnez à présent DSC ou DSCForLinux selon votre système d’exploitation.
- Pour plus de détails, vous pouvez sélectionner Afficher l’état détaillé.
Étapes suivantes
- Pour commencer, consultez Bien démarrer avec Azure Automation 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 obtenir des informations de référence sur les cmdlets PowerShell, consultez Az.Automation.
- Pour obtenir des informations sur les prix, consultez Tarification d’Azure Automation State Configuration.
- Pour obtenir 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 plus d’informations sur la résolution des problèmes, consultez Résoudre des problèmes liés à Azure Automation State Configuration.