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
- Uma conta de Automação do Azure. Para saber mais sobre uma conta de automação e seus requisitos, consulte visão geral da autenticação da 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, veja Criação da primeira máquina virtual do Windows no portal do Azure.
- Versão de módulo do Azure PowerShell 3.6 ou posterior. Execute
Get-Module -ListAvailable Az
para encontrar a versão. Se você precisa atualizar, consulte Instalar o módulo do Azure PowerShell. - Familiaridade com a Configuração do Estado Desejado (DSC). Para obter informações sobre a plataforma DSC, veja Visão Geral da Desired State Configuration do Windows PowerShell.
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
- Para começar, veja Introdução ao serviço State Configuration da Automação do Azure.
- Para saber como habilitar os nós, confira Habilitar o serviço State Configuration da Automação do Azure.
- Para saber como compilar configurações DSC para que possam ser atribuídas a nós de destino, confira Compilar configurações DSC no State Configuration da Automação do Azure.
- Para ver um exemplo de uso do State Configuration da Automação do Azure em um pipeline de implantação contínua, confira Configurar a implantação contínua com o Chocolatey.
- Para obter informações sobre preços, veja Preços do serviço State Configuration da Automação do Azure.
- Para obter uma referência de cmdlet do PowerShell, confira Az.Automation.