Azure Automation State Configuration inschakelen
Notitie
Azure Automation State Configuration wordt op 30 september 2027 buiten gebruik gesteld. Stap op die datum over naar Azure Machine Configuration . Zie de aankondiging van het blogbericht voor meer informatie. De Azure Machine Configuration-service combineert functies van DSC-extensie, Azure Automation State Configuration en de meest aangevraagde functies uit feedback van klanten. Azure Machine Configuration omvat ook ondersteuning voor hybride machines via servers met Arc.
Let op
Azure Automation DSC voor Linux is op 30 september 2023 buiten gebruik gesteld. Zie de aankondiging voor meer informatie.
In dit artikel wordt beschreven hoe u uw machines kunt instellen voor beheer met Azure Automation State Configuration. Zie het overzicht van Azure Automation State Configuration voor meer informatie over deze service.
Azure-VM's inschakelen
Met Azure Automation State Configuration kunt u eenvoudig Virtuele Azure-machines inschakelen voor configuratiebeheer met behulp van Azure Portal, Azure Resource Manager-sjablonen of PowerShell. De Desired State Configuration-extensie van de Azure-VM registreert de VM automatisch met Azure Automation State Configuration. Omdat de Azure-extensie asynchroon wordt uitgevoerd, worden de stappen voor het bijhouden van de voortgang opgegeven in De status van de VM-installatie controleren.
Notitie
Het implementeren van DSC in een Linux-knooppunt maakt gebruik van de map /tmp . Modules zoals nxautomation
worden tijdelijk gedownload voor verificatie voordat ze op de juiste locaties worden geïnstalleerd. Om ervoor te zorgen dat modules correct worden geïnstalleerd, heeft de Log Analytics-agent voor Linux lees-/schrijfmachtigingen nodig voor de map /tmp . De Log Analytics-agent voor Linux wordt uitgevoerd als de omsagent
gebruiker.
Als u schrijfmachtigingen wilt verlenen >aan de omsagent
gebruiker, voert u de opdracht setfacl -m u:omsagent:rwx /tmp
uit.
Een VIRTUELE machine inschakelen met behulp van Azure Portal
Een Azure VM to State Configuration inschakelen via Azure Portal:
- Navigeer naar het Azure Automation-account waarin u VM's wilt inschakelen.
- Selecteer op de pagina Statusconfiguratie het tabblad Knooppunten en selecteer Vervolgens Toevoegen.
- Kies een VM die u wilt inschakelen.
- Als op de computer de gewenste statusextensie van PowerShell niet is geïnstalleerd en de energiestatus wordt uitgevoerd, selecteert u Verbinding maken.
- Voer onder Registratie de lokale Configuration Manager-waarden voor PowerShell DSC in die vereist zijn voor uw use-case. U kunt eventueel een knooppuntconfiguratie invoeren om toe te wijzen aan de virtuele machine.
Een VM inschakelen met behulp van Azure Resource Manager-sjablonen
U kunt een VM voor State Configuration installeren en inschakelen met behulp van Azure Resource Manager-sjablonen. Zie De server die wordt beheerd door de Desired State Configuration-service voor een voorbeeldsjabloon waarmee een bestaande VM voor Statusconfiguratie wordt ingeschakeld. Als u een virtuele-machineschaalset beheert, raadpleegt u de voorbeeldsjabloon in de configuratie van virtuele-machineschaalsets die worden beheerd door Azure Automation.
Computers inschakelen met Behulp van PowerShell
U kunt de cmdlet Register-AzAutomationDscNode in PowerShell gebruiken om VM's in te schakelen voor State Configuration.
Notitie
De Register-AzAutomationDscNode
cmdlet wordt momenteel alleen geïmplementeerd voor computers met Windows, omdat alleen de Windows-extensie wordt geactiveerd.
VM's registreren in Azure-abonnementen
De beste manier om VM's van andere Azure-abonnementen te registreren, is door de DSC-extensie te gebruiken in een Azure Resource Manager-implementatiesjabloon. Voorbeelden worden gegeven in de Desired State Configuration-extensie met Azure Resource Manager-sjablonen.
DSC-metaconfiguration gebruiken om hybride machines te registreren
U kunt machines veilig inschakelen voor een Azure Automation-account via de DSC-metaconfiguratie. De protocollen die in DSC worden geïmplementeerd, gebruiken informatie uit de metaconfiguratie om te verifiëren bij Azure Automation State Configuration. Het knooppunt wordt geregistreerd bij de service op de registratie-URL en wordt geverifieerd met behulp van een registratiesleutel. Tijdens de registratie onderhandelt de DSC-knooppunt- en DSC-service over een uniek certificaat voor het knooppunt dat moet worden gebruikt voor verificatie bij de server na registratie. Met dit proces voorkomt u dat ingeschakelde knooppunten elkaar imiteren, bijvoorbeeld als een knooppunt wordt aangetast en schadelijk werkt. Na de registratie wordt de registratiesleutel niet opnieuw gebruikt voor verificatie en wordt deze verwijderd uit het knooppunt.
U kunt de informatie ophalen die vereist is voor het registratieprotocol State Configuration via Sleutels onder Accountinstellingen in De Azure-portal.
- Registratie-URL is het URL-veld op de pagina Sleutels.
- Registratiesleutel is de waarde van het veld Primaire toegangssleutel of het veld Secundaire toegangssleutel op de pagina Sleutels. Beide sleutels kunnen worden gebruikt.
Voor extra beveiliging kunt u de primaire en secundaire toegangssleutels van een Automation-account op elk gewenst moment opnieuw genereren op de pagina Sleutels. Het opnieuw genereren van sleutels voorkomt dat toekomstige knooppuntregistraties eerdere sleutels gebruiken.
DSC-metaconfiguraties genereren
Als u elke computer voor State Configuration wilt inschakelen, kunt u een DSC-metaconfiguratie genereren. Deze configuratie vertelt de DSC-agent om van en/of naar Azure Automation State Configuration te rapporteren. U kunt een DSC-metaconfiguratie genereren voor Azure Automation State Configuration met behulp van een PowerShell DSC-configuratie of de Azure Automation PowerShell-cmdlets.
Notitie
DSC-metaconfiguraties bevatten de geheimen die nodig zijn om een machine in te schakelen in een Automation-account voor beheer. Zorg ervoor dat u eventuele DSC-metaconfiguraties die u maakt goed beveiligt of verwijder deze na gebruik.
De local Configuration Manager (LCM) beheert proxyondersteuning voor metaconfiguraties. De LCM wordt uitgevoerd op alle doelknooppunten en is verantwoordelijk voor het aanroepen van de configuratiebronnen die zijn opgenomen in een DSC-metaconfiguratiescript. U kunt proxyondersteuning opnemen in een metaconfiguratie door definities en ProxyURL
ProxyCredential
eigenschappen op te nemen, indien nodig in de ConfigurationRepositoryWeb
, ResourceRepositoryWeb
en ReportServerWeb
blokken. Een voorbeeld van de URL-instelling is ProxyURL = "http://172.16.3.6:3128";
. De ProxyCredential
eigenschap is ingesteld op een PSCredential
object, zoals beschreven in Referenties beheren in Azure Automation.
DSC-metaconfiguraties genereren met behulp van een DSC-configuratie
Open een teksteditor, zoals Visual Studio Code (VS Code), als beheerder op een computer in uw lokale omgeving. Op de computer moet de nieuwste versie van WMF 5 zijn geïnstalleerd.
Kopieer het volgende script lokaal. Dit script bevat een PowerShell DSC-configuratie voor het maken van metaconfiguraties en een opdracht om het maken van de metaconfiguratie te starten.
Notitie
Configuratienamen van statusconfiguratieknooppunten zijn hoofdlettergevoelig in Azure Portal. Als het geval niet overeenkomt, wordt het knooppunt niet weergegeven op het tabblad Knooppunten .
# 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
Vul de registratiesleutel en URL in voor uw Automation-account en de namen van de computers die u wilt inschakelen. Alle andere parameters zijn optioneel. Zie DSC-metaconfiguratie gebruiken om hybride machines te registreren om de registratiesleutel en registratie-URL voor uw Automation-account te vinden.
Als u wilt dat de machines DSC-statusinformatie rapporteren aan Azure Automation State Configuration, maar geen pull-configuratie of PowerShell-modules, stelt u de
ReportOnly
parameter in op true.Als
ReportOnly
deze niet is ingesteld, rapporteren de machines DSC-statusinformatie naar Azure Automation State Configuration en pull-configuratie of PowerShell-modules. Stel parameters dienovereenkomstig in deConfigurationRepositoryWeb
,ResourceRepositoryWeb
enReportServerWeb
blokken in.Voer het script uit. U moet nu een werkmap hebben met de naam DscMetaConfigs, met daarin de PowerShell DSC-metaconfiguraties voor de computers die moeten worden ingeschakeld (als beheerder).
Set-DscLocalConfigurationManager -Path ./DscMetaConfigs
DSC-metaconfiguraties genereren met behulp van Azure Automation-cmdlets
U kunt de DSC-metaconfiguraties genereren met behulp van de Azure Automation-cmdlets onder de volgende voorwaarden:
- De LCM-standaardwaarden komen overeen met uw use-case
- U wilt ervoor zorgen dat machines gegevens ophalen uit en rapporteren aan Azure Automation State Configuration
Gebruik de volgende stappen om de metaconfiguraties te genereren:
Open de PowerShell-console of VS Code als beheerder op een computer in uw lokale omgeving.
Maak verbinding met Azure Resource Manager met behulp van Connect-AzAccount.
Download de PowerShell DSC-metaconfiguraties voor de computers die u wilt inschakelen vanuit het Automation-account waarin u knooppunten instelt.
# 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
U moet nu een dscMetaConfigs-map hebben met de PowerShell DSC-metaconfiguraties voor de computers die moeten worden ingeschakeld (als beheerder).
Set-DscLocalConfigurationManager -Path $env:UserProfile\Desktop\DscMetaConfigs
Fysieke/virtuele Windows-machines inschakelen
U kunt Windows-servers die on-premises of in andere cloudomgevingen (inclusief AWS EC2-exemplaren) worden uitgevoerd, inschakelen naar Azure Automation State Configuration. De servers moeten uitgaande toegang hebben tot Azure.
Zorg ervoor dat de nieuwste versie van WMF 5 is geïnstalleerd op de computers om State Configuration in te schakelen. Bovendien moet WMF 5 worden geïnstalleerd op de computer die u gebruikt voor het inschakelen van de machines.
Als u een map wilt maken met de vereiste DSC-metaconfiguraties, volgt u de aanwijzingen in DSC-metaconfiguraties genereren.
Gebruik de volgende cmdlet om de PowerShell DSC-metaconfiguraties extern toe te passen op de computers die u wilt inschakelen.
Set-DscLocalConfigurationManager -Path C:\Users\joe\Desktop\DscMetaConfigs -ComputerName MyServer1, MyServer2
Als u de PowerShell DSC-metaconfiguraties niet op afstand kunt toepassen, kopieert u de map metaconfiguraties naar de computers die u inschakelt. Voeg vervolgens code toe om Set-DscLocalConfigurationManager lokaal aan te roepen op de computers.
Controleer met behulp van Azure Portal of cmdlets of de machines worden weergegeven als State Configuration-knooppunten die zijn geregistreerd in uw Azure Automation-account.
Fysieke/virtuele Linux-machines inschakelen
U kunt Linux-servers inschakelen die on-premises of in andere cloudomgevingen worden uitgevoerd voor State Configuration. De servers moeten uitgaande toegang hebben tot Azure.
Zorg ervoor dat de nieuwste versie van PowerShell Desired State Configuration voor Linux is geïnstalleerd op de computers om State Configuration in te schakelen.
Als de standaardinstellingen van PowerShell DSC Local Configuration Manager overeenkomen met uw use-case en u machines wilt inschakelen zodat ze zowel van als rapport naar State Configuration kunnen worden opgehaald:
Gebruik op elke Linux-computer
Register.py
om de computer in te schakelen met de standaardinstellingen van PowerShell DSC Local Configuration Manager./opt/microsoft/dsc/Scripts/Register.py <Automation account registration key> <Automation account registration URL>
Zie DSC-metaconfiguratie gebruiken om hybride machines te registreren om de registratiesleutel en registratie-URL voor uw Automation-account te vinden.
Als de standaardinstellingen van PowerShell DSC Local Configuration Manager (LCM) niet overeenkomen met uw gebruiksscenario of als u computers wilt inschakelen die alleen rapporteren aan Azure Automation State Configuration, voert u de stappen 4-7 uit. Ga anders rechtstreeks verder met stap 7.
Volg de aanwijzingen in de sectie DSC-metaconfiguraties genereren om een map te maken met de vereiste DSC-metaconfiguraties.
Zorg ervoor dat de nieuwste versie van WMF 5 is geïnstalleerd op de computer die wordt gebruikt om uw computers in te schakelen voor State Configuration.
Voeg als volgt code toe om de PowerShell DSC-metaconfiguraties extern toe te passen op de computers die u wilt inschakelen.
$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
Als u de PowerShell DSC-metaconfiguraties niet op afstand kunt toepassen, kopieert u de metaconfiguraties die overeenkomen met de externe machines uit de map die in stap 4 wordt beschreven op de Linux-machines.
Voeg code toe om lokaal aan te roepen
Set-DscLocalConfigurationManager.py
op elke Linux-machine om State Configuration in te schakelen./opt/microsoft/dsc/Scripts/SetDscLocalConfigurationManager.py -configurationmof <path to metaconfiguration file>
Zorg ervoor dat de machines worden weergegeven als DSC-knooppunten die zijn geregistreerd in uw Azure Automation-account. U kunt Azure Portal of de cmdlets gebruiken.
Een knooppunt opnieuw registreren
Nadat u een machine hebt geregistreerd als EEN DSC-knooppunt in Azure Automation State Configuration, zijn er verschillende redenen waarom u dat knooppunt mogelijk in de toekomst opnieuw moet registreren.
Certificaatvernieuwing. Voor versies van Windows Server vóór Windows Server 2019 onderhandelt elk knooppunt automatisch over een uniek certificaat voor verificatie dat na één jaar verloopt. Als een certificaat verloopt zonder verlenging, kan het knooppunt niet communiceren met Azure Automation en is gemarkeerd
Unresponsive
. Op dit moment kan het PowerShell DSC-registratieprotocol certificaten niet automatisch vernieuwen wanneer ze bijna verlopen. U moet de knooppunten na een jaar opnieuw registreren. Voordat u zich opnieuw registreert, moet u ervoor zorgen dat elk knooppunt WMF 5 RTM uitvoert.Er wordt een nieuw certificaat gegenereerd en gebruikt als u 90 dagen of minder opnieuw registreert vanaf het verlooptijd van het certificaat of op enig moment na de verlooptijd van het certificaat. Dit probleem is opgelost in Windows Server 2019 en hoger.
Wijzigingen in DSC LCM-waarden. Mogelijk moet u de LCM-waarden van PowerShell DSC wijzigen die zijn ingesteld tijdens de eerste registratie van het knooppunt,
ConfigurationMode
bijvoorbeeld. Op dit moment kunt u deze DSC-agentwaarden alleen wijzigen via opnieuw registreren. De ene uitzondering is de waarde van de knooppuntconfiguratie. U kunt deze waarde in Azure Automation DSC rechtstreeks wijzigen.
U kunt een knooppunt opnieuw registreren, net zoals u het knooppunt in eerste instantie hebt geregistreerd, met behulp van een van de methoden die in dit document worden beschreven. U hoeft de registratie van een knooppunt bij Azure Automation State Configuration niet ongedaan te maken voordat u het opnieuw registreert.
Controleer de status van de VM-installatie
Met State Configuration kunt u eenvoudig Virtuele Azure Windows-machines inschakelen voor configuratiebeheer. Onder de schermen wordt de Desired State Configuration-extensie van de Azure-VM gebruikt om de VIRTUELE machine te registreren bij Azure Automation State Configuration. Omdat de Desired State Configuration-extensie van de Azure-VM asynchroon wordt uitgevoerd, kan het bijhouden van de voortgang en het oplossen van problemen met de uitvoering ervan belangrijk zijn.
Notitie
Elke methode voor het inschakelen van Virtuele Azure Windows-machines voor State Configuration die gebruikmaakt van de Desired State Configuration-extensie van Azure VM's kan een uur duren voordat Azure Automation VM's weergeeft als geregistreerd. Deze vertraging wordt veroorzaakt door de installatie van WMF 5 op de VIRTUELE machine door de Desired State Configuration-extensie van De Azure-VM, die nodig is om VM's in te schakelen voor Statusconfiguratie.
De status van de Azure VM Desired State Configuration-extensie weergeven:
- Navigeer in Azure Portal naar de VM die wordt ingeschakeld.
- Selecteer Extensies onder Instellingen.
- Selecteer nu DSC of DSCForLinux, afhankelijk van uw besturingssysteem.
- Voor meer informatie kunt u gedetailleerde status weergeven selecteren.
Volgende stappen
- Zie Aan de slag met Azure Automation State Configuration om aan de slag te gaan.
- Zie DSC-configuraties compileren in Azure Automation State Configuration voor meer informatie over het compileren van DSC-configuraties, zodat u deze kunt toewijzen aan doelknooppunten.
- Zie Az.Automation voor een naslagdocumentatie voor een PowerShell-cmdlet.
- Zie prijzen voor Azure Automation State Configuration voor meer informatie over prijzen.
- Zie Continue implementatie instellen met Chocolatey voor een voorbeeld van het gebruik van Azure Automation State Configuration in een pijplijn voor continue implementatie.
- Zie Problemen met Azure Automation State Configuration oplossen voor informatie over het oplossen van problemen.