Konfigurera datorer till ett önskat tillstånd

Med Azure Automation State Configuration kan du ange konfigurationer för dina servrar och se till att servrarna är i det angivna tillståndet över tid.

  • Registrera en virtuell dator som ska hanteras av Azure Automation DSC
  • Ladda upp en konfiguration till Azure Automation
  • Kompilera en konfiguration till en nodkonfiguration
  • Tilldela en nodkonfiguration till en hanterad nod
  • Kontrollera efterlevnadsstatusen för en hanterad nod

I den här självstudien använder vi en enkel DSC-konfiguration som säkerställer att IIS är installerat på den virtuella datorn.

Förutsättningar

  • Ett Azure Automation-konto. Mer information om ett Automation-konto och dess krav finns i Översikt över Automation-kontoautentisering.
  • En virtuell Azure Resource Manager-dator (inte klassisk) som kör Windows Server 2008 R2 eller senare. Anvisningar om hur du skapar en virtuell dator finns i Skapa din första virtuella Windows-dator i Azure-portalen.
  • Azure PowerShell-modul version 3.6 eller senare. Kör Get-Module -ListAvailable Az för att hitta versionen. Om du behöver uppgradera kan du läsa Install Azure PowerShell module (Installera Azure PowerShell-modul).
  • Kunskaper om DSC (Desired State Configuration). Information om DSC finns i Översikt över önskad tillståndskonfiguration i Windows PowerShell.

Stöd för partiella konfigurationer

Azure Automation State Configuration stöder användning av partiella konfigurationer. I det här scenariot är DSC konfigurerat för att hantera flera konfigurationer oberoende av varandra och varje konfiguration hämtas från Azure Automation. Det går dock bara att tilldela en konfiguration till en nod per automationskonto. Det innebär att om du använder två konfigurationer för en nod behöver du två Automation-konton.

Mer information om hur du registrerar en partiell konfiguration från en pull-tjänst finns i dokumentationen för partiella konfigurationer.

Mer information om hur team kan arbeta tillsammans för att gemensamt hantera servrar med konfiguration som kod finns i Förstå DSC:s roll i en CI/CD-pipeline.

Logga in på Azure

Logga in på din Azure-prenumeration med cmdleten Anslut-AzAccount och följ anvisningarna på skärmen.

Connect-AzAccount

Skapa och ladda upp en konfiguration till Azure Automation

I en textredigerare skriver du följande och sparar det lokalt som TestConfig.ps1.

configuration TestConfig {
   Node WebServer {
      WindowsFeature IIS {
         Ensure               = 'Present'
         Name                 = 'Web-Server'
         IncludeAllSubFeature = $true
      }
   }
}

Kommentar

Konfigurationsnamn i Azure Automation får begränsas till högst 100 tecken.

I mer avancerade scenarier där du behöver flera moduler som ska importeras som tillhandahåller DSC-resurser kontrollerar du att varje modul har en unik Import-DscResource rad i konfigurationen.

Anropa cmdleten Import-AzAutomationDscConfiguration för att ladda upp konfigurationen till ditt Automation-konto.

 Import-AzAutomationDscConfiguration -SourcePath 'C:\DscConfigs\TestConfig.ps1' -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Published

Kompilera en konfiguration till en nodkonfiguration

En DSC-konfiguration måste kompileras till en nodkonfiguration innan den kan tilldelas till en nod. Se DSC-konfigurationer.

Anropa cmdleten Start-AzAutomationDscCompilationJob för att kompilera konfigurationen TestConfig till en nodkonfiguration med namnet TestConfig.WebServer i ditt Automation-konto.

Start-AzAutomationDscCompilationJob -ConfigurationName 'TestConfig' -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount'

Registrera en virtuell dator som ska hanteras av tillståndskonfiguration

Du kan använda Azure Automation State Configuration för att hantera virtuella Azure-datorer (både klassiska datorer och Resource Manager), lokala virtuella datorer, Linux-datorer, virtuella AWS-datorer och lokala fysiska datorer. I det här avsnittet går vi igenom hur du endast registrerar virtuella Azure Resource Manager-datorer. Information om hur du registrerar andra typer av datorer finns i Registrera datorer för hantering av Azure Automation State Configuration.

Anropa cmdleten Register-AzAutomationDscNode för att registrera den virtuella datorn med Azure Automation State Configuration som en hanterad nod.

Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm'

Ange inställningar för konfigurationsläge

Använd cmdleten Register-AzAutomationDscNode för att registrera en virtuell dator som en hanterad nod och ange konfigurationsegenskaper. Du kan till exempel ange att datorns tillstånd endast ska tillämpas en gång genom att ApplyOnly ange som värdet för ConfigurationMode egenskapen. Tillståndskonfigurationen försöker inte tillämpa konfigurationen efter den första kontrollen.

Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm' -ConfigurationMode 'ApplyOnly'

Du kan också ange hur ofta DSC kontrollerar konfigurationstillståndet med hjälp ConfigurationModeFrequencyMins av egenskapen . Mer information om konfigurationsinställningar för DSC finns i Konfigurera den lokala konfigurationshanteraren.

# Run a DSC check every 60 minutes
Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm' -ConfigurationModeFrequencyMins 60

Tilldela en nodkonfiguration till en hanterad nod

Nu kan vi tilldela den kompilerade nodkonfigurationen till den virtuella dator som vi vill konfigurera.

# 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

Detta tilldelar nodkonfigurationen med namnet TestConfig.WebServer till den registrerade DSC-noden DscVm. Som standard kontrolleras DSC-noden efter kompatibilitet med nodkonfigurationen var 30:e minut. Information om hur du ändrar efterlevnadskontrollintervallet finns i Konfigurera den lokala konfigurationshanteraren.

Kontrollera efterlevnadsstatusen för en hanterad nod

Du kan hämta rapporter om efterlevnadsstatus för en hanterad nod med hjälp av cmdleten 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]

Nästa steg