Partilhar via


Ativar o State Configuration na Automatização do Azure

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.

Este artigo descreve como você pode configurar suas máquinas para gerenciamento com a Configuração do Estado de Automação do Azure. Para obter detalhes desse serviço, consulte Visão geral da Configuração do Estado de Automação do Azure.

Habilitar VMs do Azure

A Configuração do Estado de Automação do Azure permite habilitar facilmente as VMs do Azure para gerenciamento de configuração, usando o portal do Azure, os modelos do Azure Resource Manager ou o PowerShell. A extensão Configuração de Estado Desejado da VM do Azure registra a VM com a Configuração do Estado de Automação do Azure automaticamente. Como a extensão do Azure é executada de forma assíncrona, as etapas para acompanhar seu progresso são fornecidas em Verificar status da configuração da VM.

Nota

A implantação do DSC em um nó Linux usa a pasta /tmp . Módulos como nxautomation são baixados temporariamente para verificação antes de instalá-los em seus locais apropriados. Para garantir 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 omsagent usuário. Para conceder >permissão de gravação ao omsagent 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 Configuração de Estado por meio do portal do Azure:

  1. Navegue até a conta de Automação do Azure na qual habilitar VMs.
  2. Na página Configuração de Estado, selecione a guia Nós e, em seguida, selecione Adicionar.
  3. Escolha uma VM para habilitar.
  4. Se a máquina não tiver a extensão de estado desejada do PowerShell instalada e o estado de energia estiver em execução, selecione Conectar.
  5. Em Registro, insira os valores do PowerShell DSC Local Configuration Manager necessários para seu caso de uso. Opcionalmente, você pode inserir uma configuração de nó para atribuir à VM.

habilitando VM

Habilitar uma VM usando modelos do Azure Resource Manager

Você pode instalar e habilitar uma VM para Configuração de Estado usando modelos do Azure Resource Manager. Consulte Servidor gerenciado pelo serviço Configuração de Estado Desejado para obter um modelo de exemplo que habilita uma VM existente para Configuração de Estado. Se você estiver gerenciando um conjunto de dimensionamento de máquina virtual, consulte o modelo de exemplo em Configuração do conjunto de escala de máquina virtual gerenciado pela Automação do Azure.

Habilitar máquinas usando o PowerShell

Você pode usar o cmdlet Register-AzAutomationDscNode no PowerShell para habilitar VMs para Configuração de Estado.

Nota

Atualmente Register-AzAutomationDscNode , o cmdlet é implementado apenas para máquinas que executam o Windows, pois aciona apenas a extensão do Windows.

Registrar VMs em 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. Os exemplos são fornecidos na extensão Configuração de Estado Desejado com modelos do Azure Resource Manager.

Use a metaconfiguração DSC para registrar máquinas híbridas

Você pode habilitar máquinas com segurança para uma conta de Automação do Azure por meio da metaconfiguração DSC. Os protocolos implementados no DSC usam informações da metaconfiguração para autenticar na Configuração do Estado de Automação do Azure. O nó se registra no serviço na URL de registro e se autentica usando uma chave de registro. Durante o registro, o nó DSC e o serviço DSC negociam um certificado exclusivo para o nó a ser usado para autenticação no servidor pós-registro. Esse processo impede que nós habilitados se representem uns aos outros, por exemplo, se um nó estiver comprometido e se comportar maliciosamente. 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 de Configuração de Estado em Chaves em Configurações de Conta no portal do Azure.

Chaves de automação e URL do Azure

  • URL de registro é o campo URL na página Chaves.
  • Chave de registo é o valor do campo Chave de acesso primária ou do campo Chave de acesso secundária na página Chaves. Qualquer uma das teclas pode ser usada.

Para maior segurança, você pode regenerar as chaves de acesso primária e secundária de uma conta de automação a qualquer momento na página Chaves. A regeneração de chaves impede que futuros registros de nó usem chaves anteriores.

Gerar metaconfigurações DSC

Para habilitar qualquer máquina para Configuração de Estado, você pode gerar uma metaconfiguração DSC. Essa configuração informa ao agente DSC para extrair e/ou relatar para a Configuração do Estado de Automação do Azure. Você pode gerar uma metaconfiguração DSC para a Configuração do Estado de Automação do Azure usando uma configuração DSC do PowerShell ou os cmdlets do PowerShell de Automação do Azure.

Nota

As metaconfigurações DSC contêm os segredos necessários para habilitar uma máquina em uma conta de automação para gerenciamento. Certifique-se de proteger corretamente todas as metaconfigurações DSC criadas ou excluí-las após o uso.

O Gerenciador de Configuração Local (LCM) controla o suporte a proxy para metaconfigurações. O LCM é executado em todos os nós de destino e é responsável por chamar os recursos de configuração incluídos em um script de metaconfiguração DSC. Você pode incluir suporte a proxy em uma metaconfiguração incluindo definições e ProxyCredential propriedades conforme ProxyURL necessário nos ConfigurationRepositoryWebblocos , ResourceRepositoryWebe ReportServerWeb . Um exemplo da configuração de URL é ProxyURL = "http://172.16.3.6:3128";. A ProxyCredential propriedade é definida como um PSCredential objeto, conforme descrito em Gerenciar credenciais na Automação do Azure.

Gerar metaconfigurações DSC usando uma configuração DSC

  1. Abra um editor de texto, como o Visual Studio Code (VS Code), como administrador em uma máquina em seu ambiente local. A máquina deve ter a versão mais recente do WMF 5 instalada.

  2. Copie o script a seguir localmente. Esse script contém uma configuração DSC do PowerShell para criar metaconfigurações e um comando para iniciar a criação da metaconfiguração.

    Nota

    Os nomes de Configuração do Nó de Configuração de Estado diferenciam maiúsculas de minúsculas no portal do Azure. Se o caso 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
    
  3. Preencha a chave de registo e o URL da sua conta de Automação e os nomes das máquinas a ativar. Todos os outros parâmetros são opcionais. Para encontrar a chave de registro e a URL de registro da sua conta de automação, consulte Usar metaconfiguração DSC para registrar máquinas híbridas.

  4. Se você quiser que as máquinas relatem informações de status do DSC para a Configuração do Estado de Automação do Azure, mas não para a configuração pull ou módulos do PowerShell, defina o ReportOnly parâmetro como true.

  5. Se ReportOnly não estiver definido, as máquinas relatam informações de status do DSC para a Configuração do Estado de Automação do Azure e para os módulos de configuração pull ou PowerShell. Defina os parâmetros de acordo com os ConfigurationRepositoryWebblocos , ResourceRepositoryWebe ReportServerWeb .

  6. Execute o script. Agora você deve ter uma pasta de diretório de trabalho chamada DscMetaConfigs, contendo as metaconfigurações DSC do PowerShell para as máquinas habilitarem (como administrador).

    Set-DscLocalConfigurationManager -Path ./DscMetaConfigs
    

Gerar metaconfigurações DSC usando cmdlets da Automação do Azure

Você pode gerar as metaconfigurações DSC usando os cmdlets de Automação do Azure nas seguintes condições:

  • Os padrões do LCM correspondem ao seu caso de uso
  • Você deseja habilitar as máquinas para extrair e relatar para a Configuração do Estado de Automação do Azure

Use as seguintes etapas para gerar as metaconfigurações:

  1. Abra o console do PowerShell ou o VS Code como administrador em uma máquina em seu ambiente local.

  2. Conecte-se ao Azure Resource Manager usando Connect-AzAccount.

  3. Baixe as metaconfigurações de DSC do PowerShell para as máquinas que você deseja habilitar na conta de Automação na qual você está configurando nós.

    # 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
    
  4. Agora você deve ter uma pasta DscMetaConfigs contendo as metaconfigurações DSC do PowerShell para as máquinas habilitarem (como administrador).

    Set-DscLocalConfigurationManager -Path $env:UserProfile\Desktop\DscMetaConfigs
    

Habilitar máquinas Windows físicas/virtuais

Você pode habilitar servidores Windows executados no local ou em outros ambientes de nuvem (incluindo instâncias do AWS EC2) para a Configuração de Estado de Automação do Azure. Os servidores devem ter acesso de saída ao Azure.

  1. Certifique-se de que a versão mais recente do WMF 5 está instalada nas máquinas para habilitar a Configuração de Estado. Além disso, o WMF 5 deve ser instalado no computador que você está usando para habilitar as máquinas.

  2. Para criar uma pasta contendo as metaconfigurações DSC necessárias, siga as instruções em Gerar metaconfigurações DSC.

  3. Use o cmdlet a seguir para aplicar as metaconfigurações de DSC do PowerShell remotamente às máquinas a serem habilitadas.

    Set-DscLocalConfigurationManager -Path C:\Users\joe\Desktop\DscMetaConfigs -ComputerName MyServer1, MyServer2
    
  4. Se não for possível aplicar as metaconfigurações DSC do PowerShell remotamente, copie a pasta metaconfigurações para as máquinas que você está habilitando. Em seguida, adicione código para chamar Set-DscLocalConfigurationManager localmente nas máquinas.

  5. Usando o portal ou cmdlets do Azure, verifique se as máquinas aparecem como nós de Configuração de Estado registrados em sua conta de Automação do Azure.

Habilite máquinas Linux físicas/virtuais

Você pode habilitar servidores Linux em execução no local ou em outros ambientes de nuvem para Configuração de Estado. Os servidores devem ter acesso de saída ao Azure.

  1. Certifique-se de que a versão mais recente da Configuração de Estado Desejado do PowerShell para Linux esteja instalada nas máquinas para habilitar a Configuração de Estado.

  2. Se os padrões do PowerShell DSC Local Configuration Manager corresponderem ao seu caso de uso e você quiser habilitar as máquinas para que elas extraiam e relatem para a Configuração de Estado:

    • Em cada máquina Linux para habilitar, use Register.py para habilitar a máquina com os padrões do PowerShell DSC Local Configuration Manager.

      /opt/microsoft/dsc/Scripts/Register.py <Automation account registration key> <Automation account registration URL>

    • Para encontrar a chave de registro e a URL de registro da sua conta de automação, consulte Usar metaconfiguração DSC para registrar máquinas híbridas.

  3. Se os padrões do PowerShell DSC Local Configuration Manager (LCM) não corresponderem ao seu caso de uso ou se você quiser habilitar máquinas que se reportam apenas à Configuração do Estado de Automação do Azure, siga as etapas 4 a 7. Caso contrário, avance diretamente para o passo 7.

  4. Siga as instruções na seção Gerar metaconfigurações DSC para produzir uma pasta contendo as metaconfigurações DSC necessárias.

  5. Certifique-se de que a versão mais recente do WMF 5 está instalada no computador que está sendo usado para habilitar suas máquinas para Configuração de Estado.

  6. Adicione o código da seguinte forma para aplicar as metaconfigurações DSC do PowerShell remotamente às máquinas para habilitar.

    $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
    
  7. Se não for possível aplicar as metaconfigurações DSC do PowerShell remotamente, copie as metaconfigurações correspondentes às máquinas remotas da pasta descrita na etapa 4 para as máquinas Linux.

  8. Adicione código para chamar Set-DscLocalConfigurationManager.py localmente em cada máquina Linux para habilitar a Configuração de Estado.

    /opt/microsoft/dsc/Scripts/SetDscLocalConfigurationManager.py -configurationmof <path to metaconfiguration file>

  9. Certifique-se de que as máquinas apareçam como nós DSC registrados em sua conta de Automação do Azure. Você pode usar o portal do Azure ou os cmdlets.

Registrar novamente um nó

Depois de registrar uma máquina como um nó DSC na Configuração do Estado de Automação do Azure, há vários motivos pelos quais talvez seja necessário registrar novamente esse nó no futuro.

  • Renovação do 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 DSC do PowerShell não pode renovar automaticamente os certificados quando eles estão prestes a expirar, e você deve registrar novamente os nós após um ano. 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 a partir do tempo de expiração do certificado ou a qualquer momento após o tempo de expiração do certificado. Esse problema foi corrigido no Windows Server 2019 e posterior.

  • Alterações nos valores de LCM DSC. Talvez seja necessário alterar os valores de LCM DSC do PowerShell definidos durante o registro inicial do nó, por exemplo, ConfigurationMode. Atualmente, você só pode alterar esses valores do agente DSC por meio de um novo registro. A única exceção é o valor Configuração do Nó. Você pode alterar esse valor no DSC de Automação do Azure diretamente.

Você pode registrar novamente um nó assim como registrou o nó inicialmente, usando qualquer um dos métodos descritos neste documento. Você não precisa cancelar o registro de um nó da Configuração do Estado de Automação do Azure antes de registrá-lo novamente.

Verificar o status da configuração da VM

A Configuração de Estado permite habilitar facilmente as VMs do Windows do Azure para gerenciamento de configuração. Nos bastidores, a extensão 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 Configuração de Estado Desejado da VM do Azure é executada de forma assíncrona, acompanhar seu progresso e solucionar problemas de sua execução pode ser importante.

Nota

Qualquer método de habilitar VMs do Windows do Azure para Configuração de Estado que use a extensão Configuração de Estado Desejado da VM do Azure pode levar até uma hora para que a Automação do Azure mostre as VMs como registradas. Esse atraso é devido à instalação do WMF 5 na VM pela extensão de Configuração de Estado Desejado da VM do Azure, que é necessária para habilitar VMs para Configuração de Estado.

Para exibir o status da extensão Configuração de Estado Desejado da VM do Azure:

  1. No portal do Azure, navegue até a VM que está sendo habilitada.
  2. Selecione Extensões em Configurações.
  3. Agora selecione DSC ou DSCForLinux, dependendo do seu sistema operacional.
  4. Para obter mais detalhes, você pode selecionar Exibir status detalhado.

Próximos passos