Habilitar o State Configuration da Automação do Azure
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/09/2023. Para obter mais informações, confira o comunicado.
Este artigo descreve como você poderá configurar seus computadores para gerenciamento com o State Configuration da Automação do Azure. Para obter detalhes desse serviço, confira Visão geral do State Configuration da Automação do Azure.
Habilitar VMs do Azure
O State Configuration da Automação do Azure permite habilitar facilmente as VMs do Azure para gerenciamento de configuração, usando o portal do Azure, modelos do Azure Resource Manager ou PowerShell. A extensão do Desired State Configuration da VM do Azure registra a VM com o State Configuration de Automação do Azure automaticamente. Como a extensão do Azure é executada de forma assíncrona, são fornecidas etapas para acompanhar seu progresso em Verificar o status da instalação da VM.
Observação
A implantação da DSC em um nó do Linux usa a pasta /tmp. Módulos como nxautomation
são baixados temporariamente para verificação antes de serem instalados em seus locais apropriados. Para assegurar que os módulos sejam instalados corretamente, o agente do Log Analytics para Linux precisa de permissões de leitura/gravação na pasta /tmp. O agente do Log Analytics para Linux é executado como o usuário omsagent
.
Para conceder >permissão de gravaçãoomsagent
ao usuário, execute o comando setfacl -m u:omsagent:rwx /tmp
.
Habilitar uma VM usando o Portal do Azure
Para habilitar uma VM do Azure para o State Configuration por meio do portal do Azure:
- Navegue para a conta de automação do Azure na qual habilitar VMs.
- Na página State Configuration, selecione a guia Nós e, em seguida, selecione Adicionar.
- Escolha uma VM para habilitar.
- Se o computador não tiver a extensão de estado desejado do PowerShell instalada e o estado de energia estiver em execução, selecione Conectar.
- Em Registro, insira os valores do Local Configuration Manager da DSC do PowerShell necessários para o seu caso de uso. Opcionalmente, você pode inserir uma configuração de nó para atribuir à VM.
Habilitar uma VM usando modelos do Azure Resource Manager
Você pode instalar e habilitar uma VM para State Configuration usando modelos do Azure Resource Manager. Confira Servidor gerenciado pelo serviço Desired State Configuration para obter um modelo de exemplo que habilita uma VM existente para o State Configuration. Caso esteja gerenciando um conjunto de dimensionamento de máquinas virtuais, confira o modelo de exemplo em Configuração do conjunto de dimensionamento de máquinas virtuais gerenciada pela Automação do Azure.
Habilitar computadores usando o PowerShell
Você pode usar o cmdlet Register-AzAutomationDscNode no PowerShell para habilitar VMs para o State Configuration.
Observação
O cmdlet Register-AzAutomationDscNode
é implementado atualmente apenas para computadores que executam o Windows, pois ele dispara apenas a extensão do Windows.
Registrar VMs nas assinaturas do Azure
A melhor maneira de registrar VMs de outras assinaturas do Azure é usar a extensão DSC em um modelo de implantação do Azure Resource Manager. São fornecidos exemplos em Extensão Desired State Configuration com modelos do Azure Resource Manager.
Usar a metaconfiguração de DSC para registrar computadores híbridos
Você pode habilitar computadores com segurança para uma conta de Automação do Azure por meio da metaconfiguração de DSC. Os protocolos implementados na DSC usam informações da metaconfiguração para se autenticar na configuração de estado da Automação do Azure. O nó é registrado no servidor na URL de registro e autenticado usando uma chave de registro. Durante o registro, o nó DSC e o servidor de DSC negociam um certificado exclusivo para esse nó a ser usado para a autenticação do servidor após o registro. Esse processo impede que nós habilitados representem um ao outro, por exemplo, se um nó for comprometido e estiver se comportando de maneira mal-intencionada. Após o registro, a chave de registro não é usada para autenticação novamente e é excluída do nó.
Você pode obter as informações necessárias para o protocolo de registro da Configuração do Estado a partir das Chaves nas Configurações de Contano portal do Azure.
- A URL de registro é o campo de URL na página Chaves.
- A chave de registro é o valor do campo Chave de acesso primário ou Chave de acesso secundário na página Chaves. Qualquer chave pode ser usada.
Para maior segurança, você pode gerar novamente as chaves de acesso primário e secundário de uma conta de Automação a qualquer momento na página Chaves. A nova geração de chave impede que futuros registros de nós usem chaves anteriores.
Gerar metaconfigurações DSC
Para habilitar qualquer computador para o State Configuration, você pode gerar uma metaconfiguração DSC. Essa configuração informa ao agente de DSC para extrair e/ou reportar ao State Configuration da Automação do Azure. Você pode gerar uma metaconfiguração DSC para o State Configuration da Automação do Azure usando uma configuração DSC do PowerShell, ou os cmdlets do PowerShell de Automação do Azure.
Observação
Metaconfigurações DSC contêm os segredos necessários para habilitar um computador em uma conta de Automação para gerenciamento. Certifique-se de proteger corretamente quaisquer metaconfigurações de DSC que criar, ou exclua-as imediatamente após o uso.
O LCM (Gerenciador de Configuração Local) controla o suporte ao proxy para metaconfigurações. O LCM é executado em todos os nós de destino e é responsável por chamar os recursos de configuração que estão incluídos em um script de metaconfiguração DSC. Você pode incluir suporte a proxy em uma configuração de metaconfiguração incluindo definições de propriedades ProxyURL
e ProxyCredential
, conforme necessário nos blocos ConfigurationRepositoryWeb
, ResourceRepositoryWeb
e ReportServerWeb
. Um exemplo da configuração de URL é ProxyURL = "http://172.16.3.6:3128";
. A propriedade ProxyCredential
é definida como um objeto PSCredential
, conforme descrito em Gerenciar credenciais na Automação do Azure.
Gerar metaconfigurações DSC usando uma configuração DSC
Abra um editor de texto, como o VS Code (Visual Studio Code), como um administrador em um computador em seu ambiente local. O computador também deve ter a versão mais recente do WMF 5 instalada.
Compie o script a seguir localmente. Esse script contém uma configuração DSC do PowerShell para criar metaconfigurações e um comando para dar início à criação de metaconfigurações.
Observação
Os nomes de configuração do nó do State Configuration diferenciam maiúsculas de minúsculas no portal do Azure. Se o caractere for incompatível, o nó não aparecerá na guia Nós.
# The DSC configuration that will generate metaconfigurations [DscLocalConfigurationManager()] Configuration DscMetaConfigs { param ( [Parameter(Mandatory=$True)] [String]$RegistrationUrl, [Parameter(Mandatory=$True)] [String]$RegistrationKey, [Parameter(Mandatory=$True)] [String[]]$ComputerName, [Int]$RefreshFrequencyMins = 30, [Int]$ConfigurationModeFrequencyMins = 15, [String]$ConfigurationMode = 'ApplyAndMonitor', [String]$NodeConfigurationName, [Boolean]$RebootNodeIfNeeded= $False, [String]$ActionAfterReboot = 'ContinueConfiguration', [Boolean]$AllowModuleOverwrite = $False, [Boolean]$ReportOnly ) if(!$NodeConfigurationName -or $NodeConfigurationName -eq '') { $ConfigurationNames = $null } else { $ConfigurationNames = @($NodeConfigurationName) } if($ReportOnly) { $RefreshMode = 'PUSH' } else { $RefreshMode = 'PULL' } Node $ComputerName { Settings { RefreshFrequencyMins = $RefreshFrequencyMins RefreshMode = $RefreshMode ConfigurationMode = $ConfigurationMode AllowModuleOverwrite = $AllowModuleOverwrite RebootNodeIfNeeded = $RebootNodeIfNeeded ActionAfterReboot = $ActionAfterReboot ConfigurationModeFrequencyMins = $ConfigurationModeFrequencyMins } if(!$ReportOnly) { ConfigurationRepositoryWeb AzureAutomationStateConfiguration { ServerUrl = $RegistrationUrl RegistrationKey = $RegistrationKey ConfigurationNames = $ConfigurationNames } ResourceRepositoryWeb AzureAutomationStateConfiguration { ServerUrl = $RegistrationUrl RegistrationKey = $RegistrationKey } } ReportServerWeb AzureAutomationStateConfiguration { ServerUrl = $RegistrationUrl RegistrationKey = $RegistrationKey } } } # Create the metaconfigurations # NOTE: DSC Node Configuration names are case sensitive in the portal. # TODO: edit the below as needed for your use case $Params = @{ RegistrationUrl = '<fill me in>'; RegistrationKey = '<fill me in>'; ComputerName = @('<some VM to onboard>', '<some other VM to onboard>'); NodeConfigurationName = 'SimpleConfig.webserver'; RefreshFrequencyMins = 30; ConfigurationModeFrequencyMins = 15; RebootNodeIfNeeded = $False; AllowModuleOverwrite = $False; ConfigurationMode = 'ApplyAndMonitor'; ActionAfterReboot = 'ContinueConfiguration'; ReportOnly = $False; # Set to $True to have machines only report to AA DSC but not pull from it } # Use PowerShell splatting to pass parameters to the DSC configuration being invoked # For more info about splatting, run: Get-Help -Name about_Splatting DscMetaConfigs @Params
Preencha a chave de registro e o URL para sua conta de Automação e os nomes dos computadores a habilitar. Todos os outros parâmetros são opcionais. Para localizar a chave de registro e a URL de registro para sua conta de automação, consulte Usar metaconfiguração de DSC para registrar máquinas híbridas.
Se você deseja que os computadores relatem informações de status de DSC ao State Configuration da Automação do Azure, mas não efetuem pull da configuração de recepção ou módulos do PowerShell, defina o parâmetro
ReportOnly
como verdadeiro.Se o
ReportOnly
não estiver definido, os computadores reportarão as informações de status de DSC ao State Configuration da Automação do Azure e configuração de pull ou módulos do PowerShell. Defina os parâmetros adequadamente nos blocosConfigurationRepositoryWeb
,ResourceRepositoryWeb
eReportServerWeb
.Execute o script. Agora você deve ter uma pasta de diretório de trabalho chamada DscMetaConfigs, que contém as metaconfigurações de DSC do PowerShell para os computadores a habilitar (como um administrador).
Set-DscLocalConfigurationManager -Path ./DscMetaConfigs
Gerar metaconfigurações DSC usando cmdlets de Automação do Azure
Gere as metaconfigurações de DSC usando os cmdlets da Automação do Azure nas seguintes condições:
- Os padrões de LCM correspondem ao seu caso de uso
- Você deseja habilitar os computadores para efetuar pull de e relatório para o State Configuration de Automação do Azure
Use as seguintes etapas para gerar as metaconfigurações:
Abra o console do PowerShell ou o VS Code como administrador em um computador no seu ambiente local.
Conecte o Azure Resource Manager usando Connect-AzAccount.
Baixe, da conta de Automação na qual você está configurando nós, as metaconfigurações de DSC do PowerShell para os computadores a serem habilitados.
# Define the parameters for Get-AzAutomationDscOnboardingMetaconfig using PowerShell Splatting $Params = @{ ResourceGroupName = 'ContosoResources' # The Resource Group that contains your Azure Automation account AutomationAccountName = 'ContosoAutomation'; # The Azure Automation account where you want to onboard the node ComputerName = @('web01', 'web02', 'sql01'); # The computers to generate the metaconfigurations for OutputFolder = "$env:UserProfile\Desktop\"; } # Use PowerShell splatting to pass parameters to the Azure Automation cmdlet being invoked # For more info about splatting, run: Get-Help -Name about_Splatting Get-AzAutomationDscOnboardingMetaconfig @Params
Agora você deve ter uma pasta DscMetaConfigs que contém as metaconfigurações de DSC do PowerShell para os computadores a habilitar (como um administrador).
Set-DscLocalConfigurationManager -Path $env:UserProfile\Desktop\DscMetaConfigs
Habilitar computadores Windows físicos/virtuais
Você pode habilitar servidores Windows em execução no local ou em outros ambientes de nuvem (incluindo instâncias EC2 do AWS) no State Configuration da Automação do Azure. Os servidores devem ter acesso de saída ao Azure.
Verifique se a versão mais recente do WMF 5 está instalada nos computadores para ativar o State Configuration. Além disso, o WMF 5 deve ser instalado no computador que você está usando para habilitar os computadores.
Para criar uma pasta que contém as metaconfigurações de DSC necessárias, siga as instruções em Gerar metaconfigurações de DSC.
Use o cmdlet a seguir para aplicar as metaconfigurações da DSC do PowerShell remotamente aos computadores a serem habilitados.
Set-DscLocalConfigurationManager -Path C:\Users\joe\Desktop\DscMetaConfigs -ComputerName MyServer1, MyServer2
Se não for possível aplicar as metaconfigurações de DSC do PowerShell remotamente, copie a pasta de metaconfigurações nos computadores que você está habilitando. Em seguida, adicione o código para chamar Set-DscLocalConfigurationManager localmente nos computadores.
Usando o portal ou cmdlets do Azure, verifique se as máquinas aparecem como nós do State Configuration registrados na sua conta de Automação do Azure.
Habilitar computadores Linux físicos/virtuais
Você pode habilitar servidores Linux em execução no local ou em outros ambientes de nuvem para o State Configuration. Os servidores devem ter acesso de saída ao Azure.
Certifique-se de que a versão mais recente da Desired State Configuration do PowerShell para Linux esteja instalada nos computadores para habilitar o State Configuration.
Se os padrões do Local Configuration Manager da DSC do PowerShell correspondem ao seu caso de uso, e você desejar habilitar os computadores para que eles sejam extraídos e se reportem ao State Configuration:
Em cada computador Linux a habilitar, use
Register.py
para habilitar o computador com os padrões do Local Configuration Manager da DSC do PowerShell./opt/microsoft/dsc/Scripts/Register.py <Automation account registration key> <Automation account registration URL>
Para localizar a chave de registro e a URL de registro para sua conta de automação, consulte Usar metaconfiguração de DSC para registrar máquinas híbridas.
Se os padrões do Local Configuration Manager da DSC do PowerShell não corresponderem ao seu caso de uso ou se você deseja habilitar computadores que reportam apenas ao State Configuration da Automação do Azure, siga as etapas 4-7. Caso contrário, vá diretamente para a etapa 7.
Siga as instruções na seção Gerar metaconfigurações DSC para criar uma pasta que contém as metaconfigurações DSC necessárias.
Verifique se a versão mais recente do WMF 5 está instalada no computador que está sendo usado para habilitar seus computadores para o State Configuration.
Adicione o código a seguir para aplicar as metaconfigurações da DSC do PowerShell remotamente aos computadores a serem habilitados.
$SecurePass = ConvertTo-SecureString -String '<root password>' -AsPlainText -Force $Cred = New-Object System.Management.Automation.PSCredential 'root', $SecurePass $Opt = New-CimSessionOption -UseSsl -SkipCACheck -SkipCNCheck -SkipRevocationCheck # need a CimSession for each Linux machine to onboard $Session = New-CimSession -Credential $Cred -ComputerName <your Linux machine> -Port 5986 -Authentication basic -SessionOption $Opt Set-DscLocalConfigurationManager -CimSession $Session -Path C:\Users\joe\Desktop\DscMetaConfigs
Se você não pode aplicar as metaconfigurações do DSC do PowerShell remotamente, copie a metaconfiguração correspondente a esses computadores remotos a partir da pasta descrita na etapa 4 nos computadores Linux.
Adicione código para chamar
Set-DscLocalConfigurationManager.py
localmente em cada computador Linux para ativar o State Configuration./opt/microsoft/dsc/Scripts/SetDscLocalConfigurationManager.py -configurationmof <path to metaconfiguration file>
Verifique se os computadores aparecem como nós de DSC registrados em sua conta de Automação do Azure. É possível usar o portal do Azure ou os cmdlets.
Registrar um nó novamente
Após registrar um computador como um nó DSC no State Configuration da Automação do Azure, há vários motivos pelos quais você pode precisar registrar novamente esse nó no futuro.
Renovação de certificado. Para versões do Windows Server anteriores ao Windows Server 2019, cada nó negocia automaticamente um certificado exclusivo para autenticação que expira após um ano. Se um certificado expirar sem renovação, o nó não poderá se comunicar com a Automação do Azure e será marcado como
Unresponsive
. Atualmente, o protocolo de registro de DSC do PowerShell não pode renovar automaticamente certificados quando eles estão prestes a expirar, após um ano é preciso registrar os nós novamente. Antes de registrar novamente, verifique se cada nó está executando o WMF 5 RTM.Um novo certificado é gerado e usado se você registrar novamente 90 dias ou menos do tempo de expiração do certificado ou em qualquer ponto após o tempo de expiração do certificado. Esse problema é corrigido no Windows Server 2019 e posterior.
Alterações nos valores de LCM de DSC. Pode ser necessário alterar os valores de LCM de DSC do PowerShell definidos durante o registro inicial do nó, por exemplo,
ConfigurationMode
. Atualmente, você só pode alterar esses valores de agente de DSC através do novo registro. A única exceção é o valor de Configuração do Nó. Você poderá alterar esse valor no DSC de Automação do Azure diretamente.
Você pode registrar novamente um nó, assim como o registrou inicialmente, usando qualquer um dos métodos descritos neste documento. Não é necessário cancelar o registro de um nó do State Configuration da Automação do Azure antes de registrá-lo novamente.
Verificar o status da instalação da VM
O State Configuration permite habilitar facilmente as VMs do Windows Azure para gerenciamento de configuração. Nos bastidores, a extensão de Configuração de Estado Desejado da VM do Azure é usada para registrar a VM com a Configuração do Estado de Automação do Azure. Como a extensão Desired State Configuration da VM do Azure é executada de forma assíncrona, pode ser importante acompanhar seu progresso e solucionar problemas de sua execução.
Observação
Qualquer método para habilitar VMs do Windows do Azure para o State Configuration que usa a extensão Desired State Configuration da VM do Azure pode levar até uma hora para que a Automação do Azure mostre as VMs como registradas. Esse atraso ocorre devido à instalação do WMF 5 na VM pela extensão Desired State Configuration da VM do Azure, necessária para habilitar as VMs para o State Configuration.
Para exibir o status da extensão Desired State Configuration da VM do Azure:
- No portal do Azure, navegue até a VM que está sendo habilitada.
- Em Configurações, selecione Extensões.
- Agora, selecione DSC ou DSCForLinux dependendo do seu sistema operacional.
- Para obter mais detalhes, selecione Exibir status detalhado.
Próximas etapas
- Para começar, veja Introdução ao 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 obter uma referência de cmdlet do PowerShell, confira Az.Automation.
- Para obter informações sobre preços, veja Preços do serviço 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 saber mais sobre a solução de problemas, confira Solucionar problemas do State Configuration da Automação do Azure.