Configurar computadores para um estado pretendido
Nota
A Configuração do Estado de Automação do Azure será desativada em 30 de setembro de 2027, faça a transição para a Configuração de Máquina do Azure até essa data. Para obter mais informações, consulte o anúncio da postagem no blog. O serviço de Configuração de Máquina do Azure combina recursos de Extensão DSC, Configuração de Estado de Automação do Azure e os recursos mais comumente solicitados dos comentários dos clientes. A Configuração de Máquina do Azure também inclui suporte a máquinas híbridas por meio de servidores habilitados para Arc.
Atenção
O Azure Automation DSC para Linux foi desativado em 30 de setembro de 2023. Para mais informações, consulte o anúncio.
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
Entre 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.
$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 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.
$startAzAutomationDscCompilationJobSplat = @{
ConfigurationName = 'TestConfig'
ResourceGroupName = 'MyResourceGroup'
AutomationAccountName = 'myAutomationAccount'
}
Start-AzAutomationDscCompilationJob @startAzAutomationDscCompilationJobSplat
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 artigo, 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.
$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 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.
$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 do nó nomeado TestConfig.WebServer
ao nó DscVm
DSC 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
$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óximos passos
- Para começar, consulte Introdução à Configuração de Estado de Automação do Azure.
- Para saber como habilitar nós, consulte Habilitar a configuração do estado de automação do Azure.
- Para saber mais sobre como compilar configurações de DSC para que você possa atribuí-las a nós de destino, consulte Compilar configurações de DSC na Configuração de Estado de Automação do Azure.
- Para ver um exemplo de como usar a Configuração do Estado de Automação do Azure em um pipeline de implantação contínua, consulte Configurar a implantação contínua com o Chocolatey.
- Para obter informações sobre preços, consulte Preços da Configuração do Estado de Automação do Azure.
- Para obter uma referência de cmdlet do PowerShell, consulte Az.Automation.