Configurar computadores para um estado pretendido

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

  • Integrar uma VM a ser gerenciada pelo Azure Automation DSC
  • Carregar uma configuração para a 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 garante que o IIS esteja instalado na VM.

Pré-requisitos

  • Uma conta de Automatização do Azure. Para saber mais sobre uma conta de automação e seus requisitos, consulte Visão geral da autenticação de conta de automação.
  • Uma VM do Azure Resource Manager (não clássica) executando o Windows Server 2008 R2 ou posterior. Para obter instruções sobre como criar uma VM, consulte Criar sua primeira máquina virtual do Windows no portal do Azure.
  • Módulo do Azure PowerShell versão 3.6 ou posterior. Executar Get-Module -ListAvailable Az para localizar a versão. Se precisar de atualizar, veja Install Azure PowerShell module (Instalar o módulo do Azure PowerShell).
  • Familiaridade com a Configuração de Estado Desejado (DSC). Para obter informações sobre DSC, consulte Visão geral da configuração de estado desejado do Windows PowerShell.

Suporte para configurações parciais

A Configuração do Estado de Automação do Azure dá suporte ao uso de configurações parciais. Nesse cenário, o DSC é configurado 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 pull, consulte a documentação para configurações parciais.

Para obter mais informações sobre como as equipes podem trabalhar juntas para gerenciar servidores de forma colaborativa usando a configuração como código, consulte Compreendendo a função do DSC em um pipeline de CI/CD.

Iniciar sessão no Azure

Faça logon na sua assinatura do Azure com o cmdlet Connect-AzAccount e siga as instruções na tela.

Connect-AzAccount

Criar e carregar uma configuração para a Automação do Azure

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

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

Nota

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 em que você precisa importar vários módulos que fornecem recursos DSC, certifique-se de que cada módulo tenha uma linha exclusiva Import-DscResource em sua configuração.

Chame o cmdlet Import-AzAutomationDscConfiguration para carregar a configuração em sua 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 deve ser compilada em uma configuração de nó antes de poder ser atribuída a um nó. Consulte Configurações DSC.

Chame o cmdlet Start-AzAutomationDscCompilationJob para compilar a TestConfig configuração em uma configuração de nó nomeada 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 de Estado

Você pode usar a Configuração de Estado de Automação do Azure para gerenciar VMs do Azure (Classic e Resource Manager), VMs locais, máquinas Linux, VMs da AWS e máquinas físicas locais. Neste tópico, abordamos como registrar apenas VMs do Azure Resource Manager. Para obter informações sobre como registrar outros tipos de máquinas, consulte Integração de máquinas para gerenciamento pela Configuração do Estado de Automação do Azure.

Chame o cmdlet Register-AzAutomationDscNode para registrar sua VM com a Configuração do Estado de 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 especificar propriedades de configuração. Por exemplo, você pode especificar que o estado da máquina deve ser aplicado apenas uma vez, especificando ApplyOnly como o valor da ConfigurationMode propriedade. A Configuração de Estado 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 com que frequência o DSC verifica o estado de configuração usando a ConfigurationModeFrequencyMins propriedade. Para obter mais informações sobre as definições de configuração de DSC, consulte Configurando o Gerenciador de Configuração 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 do nó compilado à 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 do nó nomeado TestConfig.WebServer ao nó DscVmDSC registrado. Por padrão, o nó DSC é verificado quanto à conformidade com a configuração do nó a cada 30 minutos. Para obter informações sobre como alterar o intervalo de verificação de conformidade, consulte Configurando o Gerenciador de Configuração Local.

Verificar o status de conformidade de um nó gerenciado

Você pode obter 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óximos passos