Compartilhar via


Configurar computadores para um estado desejado

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 estiver usando duas configurações para um nó você 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.

Fazer logon no Azure

Faça logon em sua assinatura do Azure com o cmdlet Connect-AzAccount e siga as instruções 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.

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

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.

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

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 tópico, abordaremos como registrar somente 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.

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

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.

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

Você também pode especificar a frequência com a qual a plataforma DSC verifica o estado de configuração usando a propriedade ConfigurationModeFrequencyMins. Para obter mais informações sobre as definições de configuração de DSC, consulte Configurando o Gerenciador de Configurações Local.

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

Atribuir uma configuração de nó a um nó gerenciado

Agora podemos atribuir a configuração de nó compilada à VM que queremos configurar.

# 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

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
$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]

Próximas etapas