Compartilhar via


Configurar computadores para um estado desejado

Observação

O State Configuration da Automação do Azure será desativado em 30 de setembro de 2027, faça a transição para a Configuração de Máquina do Azure até essa data. Para saber mais, confira a postagem no blog sobre o anúncio. O serviço de Configuração de Máquina do Azure combina recursos da Extensão DSC, da Configuração de Estado da Automação do Azure e dos recursos mais solicitados por meio de comentários dos clientes. A Configuração de Máquinas do Azure também inclui suporte a máquina híbrida por meio servidores habilitados para Arc.

Cuidado

O DSC de Automação do Azure para Linux foi desativado em 30 de setembro de 2023. Para obter mais informações, confira o comunicado.

A Configuração do Estado de Automação do Azure permite que você especifique configurações para seus servidores e garanta que esses servidores estejam no estado especificado ao longo do tempo.

  • Carregar uma VM para ser gerenciada pela DSC de Automação do Azure
  • Carregar uma configuração para Automação do Azure
  • Compilar uma configuração em uma configuração de nó
  • Atribuir uma configuração de nó a um nó gerenciado
  • Verificar o status de conformidade de um nó gerenciado

Para este tutorial, usamos uma configuração DSC simples que garanta que o IIS seja instalado na VM.

Pré-requisitos

Suporte para configurações parciais

O serviço State Configuration da Automação do Azure dá suporte ao uso de configurações parciais. Nesse cenário, a plataforma DSC é configurada para gerenciar várias configurações de forma independente, e cada configuração é recuperada da automação do Azure. No entanto, apenas uma configuração pode ser atribuída a um nó por conta de automação. Isso significa que se você estiver usando duas Configurações para um nó, precisará de duas contas de Automação.

Para obter detalhes sobre como registrar uma configuração parcial de um serviço de pull, veja a documentação sobre configurações parciais.

Para obter mais informações sobre como as equipes podem trabalhar em conjunto para gerenciar servidores de forma colaborativa usando a configuração como código, veja Noções básicas sobre a função da plataforma DSC em um pipeline de CI/CD.

Entrar no Azure

Entre na sua assinatura do Azure com o cmdlet Connect-AzAccount e siga o trajeto na tela.

Connect-AzAccount

Criar e carregar uma configuração na Automação do Azure

Em um editor de texto, digite o seguinte e salve localmente como TestConfig.ps1.

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

Observação

Os nomes de configuração na Automação do Azure devem ser limitados a no máximo 100 caracteres.

Em cenários mais avançados que exigem a importação de vários módulos que forneçam recursos da plataforma DSC, verifique se cada módulo tem uma linha de Import-DscResource exclusiva em sua configuração.

Chame o cmdlet Import-AzAutomationDscConfiguration para carregar a configuração na conta de automação.

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

Compilar uma configuração em uma configuração de nó

Uma configuração DSC deverá ser compilada em uma configuração de nó para que ela possa ser atribuída a um nó. Confira Configurações DSC.

Chame o cmdlet Start-AzAutomationDscCompilationJob para compilar a configuração de TestConfig em uma configuração de nó chamada TestConfig.WebServer em sua conta de automação.

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

Registrar uma VM a ser gerenciada pela Configuração do Estado

É possível usar a Configuração de Estado da Automação do Azure para gerenciar VMs do Azure (tanto Clássica quanto do Gerenciador de Recursos), VMs locais, computadores Linux, VMs de AWS e computadores físicos locais. Neste artigo, cobrimos como registrar apenas VMs do Azure Resource Manager. Para obter mais informações sobre como registrar outros tipos de computadores, consulte Integrar computadores para gerenciamento por Configuração de Estado da Automação do Azure.

Chame o cmdlet Register-AzAutomationDscNode para registrar sua VM com State Configuration na Automação do Azure como um nó gerenciado.

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

Especificar definições do modo de configuração

Use o cmdlet Register-AzAutomationDscNode para registrar uma VM como um nó gerenciado e especifique as propriedades de configuração. Por exemplo, você pode especificar que o estado do computador seja aplicado apenas uma vez, especificando ApplyOnly como o valor da propriedade ConfigurationMode. O serviço State Configuration não tenta aplicar a configuração após a verificação inicial.

$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

Isso atribui a configuração de nó denominada TestConfig.WebServer ao nó de DSC registrado chamado DscVm. Por padrão, o nó de DSC é verificado quanto à conformidade com a configuração do nó a cada 30 minutos. Para obter informações de como alterar o intervalo de verificação de conformidade, consulte Configurando System Center Configuration Manager Local.

Verificar o status de conformidade de um nó gerenciado

Obtenha relatórios sobre o status de conformidade de um nó gerenciado usando o 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]

Próximas etapas