Condividi tramite


Configurare i computer allo stato desiderato

Nota

Automazione di Azure State Configuration verrà ritirato il 30 settembre 2027. Passare a Configurazione di Azure Machine entro tale data. Per altre informazioni, vedere l'annuncio del post di blog. Il servizio Configurazione macchina di Azure combina le funzionalità dell'estensione DSC, di State Configuration di Automazione di Azure e le funzionalità più comunemente richieste dai commenti e suggerimenti dei clienti. Configurazione macchina di Azure include anche il supporto del computer ibrido tramite i server abilitati per Arc.

Attenzione

Automazione di Azure DSC per Linux è stato ritirato il 30 settembre 2023. Per altre informazioni, vedere l'annuncio.

Configurazione stato di Automazione di Azure consente di specificare le configurazioni per i server e verificare che tali server rimangano nello stato specificato nel corso del tempo.

  • Eseguire l'onboarding di una VM in modo che sia gestita da Automation DSC per Azure
  • Caricare una configurazione in Automazione di Azure
  • Compilare una configurazione in una configurazione nodo
  • Assegnare una configurazione nodo a un nodo gestito
  • Controllare lo stato di conformità di un nodo gestito

Per questa esercitazione si usa una semplice configurazione DSC che assicura che IIS sia installato nella VM.

Prerequisiti

Supporto di configurazioni parziali

State Configuration di Automazione di Azure supporta l'uso di configurazioni parziali. In questo scenario DSC è configurato per gestire più configurazioni in modo indipendente e ogni configurazione viene recuperata da Automazione di Azure. È tuttavia possibile assegnare una sola configurazione a un nodo per ogni account di Automazione. Ciò significa che se si usano due configurazioni per un nodo sono necessari due account di Automazione.

Per informazioni dettagliate su come registrare una configurazione parziale da un servizio di pull, vedere la documentazione per le configurazioni parziali.

Per altre informazioni su come i team possono interagire per gestire i server in modo collaborativo usando la configurazione come codice, vedere Informazioni sul ruolo DSC in una pipeline CI/CD.

Accedere ad Azure

Accedere alla sottoscrizione di Azure con il cmdlet Connect-AzAccount e seguire le istruzioni visualizzate.

Connect-AzAccount

Creare e caricare una configurazione in Automazione di Azure

In un editor di testo digitare quanto segue e salvare il file in locale con il nome TestConfig.ps1.

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

Nota

I nomi di configurazione in Automazione di Azure devono essere limitati a non più di 100 caratteri.

Negli scenari più avanzati in cui è necessario importare più moduli che forniscono risorse DSC, assicurarsi che ogni modulo abbia una riga Import-DscResource univoca nella configurazione.

Chiamare il cmdlet Import-AzAutomationDscConfiguration per caricare la configurazione nell'account di Automazione.

$importAzAutomationDscConfigurationSplat = @{
    SourcePath = 'C:\DscConfigs\TestConfig.ps1'
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    Published = $ture
}
Import-AzAutomationDscConfiguration @importAzAutomationDscConfigurationSplat

Compilare una configurazione in una configurazione nodo

Una configurazione DSC deve essere compilata in una configurazione nodo affinché possa essere assegnata a un nodo. Vedere Configurazioni DSC.

Chiamare il cmdlet Start-AzAutomationDscCompilationJob per compilare la configurazione di TestConfig in una configurazione nodo denominata TestConfig.WebServer nell'account di Automazione.

$startAzAutomationDscCompilationJobSplat = @{
    ConfigurationName = 'TestConfig'
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
}
Start-AzAutomationDscCompilationJob @startAzAutomationDscCompilationJobSplat

Registrare una VM in modo che sia gestita da Configurazione stato

È possibile usare Configurazione stato di Automazione di Azure per gestire macchine virtuali di Azure (sia classiche sia Resource Manager), macchine virtuali locali, computer Linux, macchine virtuali AWS e computer fisici locali. Questo articolo illustra come registrare solo le macchine virtuali di Azure Resource Manager. Per informazioni sulla registrazione di altri tipi di computer, vedere Onboarding di computer per la gestione tramite Configurazione stato di Automazione di Azure.

Chiamare il cmdlet Register-AzAutomationDscNode per registrare la VM con State Configuration di Automazione di Azure come nodo gestito.

$registerAzAutomationDscNodeSplat = @{
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    AzureVMName = 'DscVm'
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat

Specificare le impostazioni delle modalità di configurazione

Usare il cmdlet Register-AzAutomationDscNode per registrare una macchina virtuale come nodo gestito e specificare le proprietà di configurazione. È ad esempio possibile specificare che lo stato del computer debba essere applicato una sola volta specificando ApplyOnly come valore della proprietà ConfigurationMode. State Configuration non prova ad applicare la configurazione dopo il controllo iniziale.

$registerAzAutomationDscNodeSplat = @{
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    AzureVMName = 'DscVm'
    ConfigurationMode = 'ApplyOnly'
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat```

You can also specify how often DSC checks the configuration state by using the
`ConfigurationModeFrequencyMins` property. For more information about DSC configuration settings,
see [Configuring the Local Configuration Manager][05].

```powershell
# Run a DSC check every 60 minutes
$registerAzAutomationDscNodeSplat = @{
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    AzureVMName = 'DscVm'
    ConfigurationModeFrequencyMins = 60
}
Register-AzAutomationDscNode @registerAzAutomationDscNodeSplat```

## Assign a node configuration to a managed node

Now we can assign the compiled node configuration to the VM we want to configure.

```powershell
# Get the ID of the DSC node
$getAzAutomationDscNodeSplat = @{
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    Name = 'DscVm'
}
$node = Get-AzAutomationDscNode @getAzAutomationDscNodeSplat

# Assign the node configuration to the DSC node
$setAzAutomationDscNodeSplat = @{
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    NodeConfigurationName = 'TestConfig.WebServer'
    NodeId = $node.Id
}
Set-AzAutomationDscNode @setAzAutomationDscNodeSplat

In questo modo si assegna la configurazione nodo denominata TestConfig.WebServer al nodo DSC registrato DscVm. Per impostazione predefinita, il nodo DSC viene verificato per la conformità con la configurazione nodo ogni 30 minuti. Per informazioni su come modificare l'intervallo di controllo della conformità, vedere Configuring the Local Configuration Manager (Configurazione di Gestione configurazione locale).

Controllare lo stato di conformità di un nodo gestito

È possibile ottenere report sullo stato di conformità di un nodo gestito usando il cmdlet Get-AzAutomationDscNodeReport.

# Get the ID of the DSC node
$getAzAutomationDscNodeSplat = @{
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    Name = 'DscVm'
}
$node = Get-AzAutomationDscNode @getAzAutomationDscNodeSplat

# Get an array of status reports for the DSC node
$getAzAutomationDscNodeReportSplat = @{
    ResourceGroupName = 'MyResourceGroup'
    AutomationAccountName = 'myAutomationAccount'
    NodeId = $node.Id
}
$reports = Get-AzAutomationDscNodeReport @getAzAutomationDscNodeReportSplat

# Display the most recent report
$reports[0]

Passaggi successivi