Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Observação
A extensão DSC será desativada em 31 de março de 2028. Mude 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 determinados recursos da Extensão DSC, da Configuração de Estado da Automação do Azure e dos recursos geralmente solicitados dos 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.
A Extensão da VM do Azure para máquinas virtuais (VM) do Azure e as extensões associadas fazem parte dos serviços de infraestrutura do Microsoft Azure. Extensões de VM são componentes de software que estendem a funcionalidade da VM e simplificam várias operações de gerenciamento de VM.
A extensão DSC apenas envia uma configuração para a VM. Nenhum relatório contínuo está disponível, a não ser localmente na VM.
Observação
Experimente a assistência de VM para diagnósticos mais rápidos. Recomendamos que você execute VM assist for Windows ou VM assist for Linux. Essas ferramentas de diagnóstico baseadas em script ajudam você a identificar problemas comuns que afetam o Agente Convidado da VM do Azure e a integridade geral da VM.
Se você estiver enfrentando problemas de desempenho com máquinas virtuais, antes de entrar em contato com o suporte, execute essas ferramentas.
Versões de disponíveis
A extensão DSC dá suporte às configurações da versão 1.1 da plataforma DSC. Para obter mais informações, consulte PSDesiredStateConfiguration v1.1.
Pré-requisitos
Estação de trabalho do desenvolvedor: para interagir com a extensão Azure DSC, você precisa usar o portal do Azure ou o SDK da CLI/Azure PowerShell.
Agente convidado: a VM do Azure que é configurada pela configuração de DSC deve ter um sistema operacional compatível com Windows Management Framework (WMF) 4.0 ou posterior. Para a lista completa de versões com suporte do sistema operacional, consulte o Histórico de versões da extensão DSC.
Termos e conceitos
Este guia presume familiaridade com os seguintes conceitos:
Configuração: refere-se a um documento de configuração de DSC.
Nó identifica um destino para uma configuração DSC. Neste artigo, nó sempre refere-se a uma VM do Azure.
Os dados de configuração são armazenados em um arquivo de formato DSC do PowerShell (.psd1) que tem dados ambientais para uma configuração.
Arquitetura
A extensão do Azure DSC usa a estrutura da Extensão da VM do Azure para entregar, aplicar e gerar relatórios sobre configurações do DSC executadas em VMs do Azure. A extensão de DSC aceita um documento de configuração e um conjunto de parâmetros.
Quando a extensão é implantada pela primeira vez, ela instala uma versão do WMF usando a seguinte lógica:
Se o sistema operacional da VM do Azure for o Windows Server 2016, nenhuma ação é executada. O Windows Server 2016 já possui a versão mais recente do PowerShell instalada.
Se a propriedade
wmfVersionfor especificada, a versão especificada do WMF será instalada, a menos que ela seja incompatível com o sistema operacional na VM.Se nenhuma propriedade
wmfVersionfor especificada, a versão mais recente aplicável do WMF será instalada.
O processo de instalação do WMF requer uma reinicialização. Depois de reiniciar, a extensão automatiza o download do .zip arquivo especificado na modulesUrl propriedade, se fornecido. Se esse local estiver no Armazenamento de Blobs do Azure, você pode especificar um token SAS na propriedade sasToken para acessar o arquivo. Em seguida, a função de configuração definida em configurationFunction é executada para gerar um arquivo MOF (Managed Object Format) (.mof). Em seguida, a extensão executa Start-DscConfiguration -Force usando o arquivo .mof gerado. A extensão captura a saída e a grava no canal de status do Azure.
Nome da configuração do nó
Para o parâmetro NodeConfigurationName, certifique-se de fornecer o nome da configuração do nó e não o da Configuração.
A Configuração é definida em um script que é usado para compilar a configuração do nó (arquivo MOF). O nome da configuração do nó é sempre o nome da Configuração seguido por um ponto . e um localhost ou um nome de computador específico.
Implantação do modelo do ARM
A abordagem mais comum para implantar a extensão DSC é usar modelos do Azure Resource Manager. Para obter mais informações e exemplos sobre como incluir a extensão de DSC em modelos do ARM, consulte Extensão de Desired State Configuration com modelos do ARM.
Implantação de cmdlet do PowerShell
Os cmdlets do PowerShell para gerenciar a extensão DSC são ideais para cenários interativos de solução de problemas e coleta de informações. Você pode usar os cmdlets para empacotar, publicar e monitorar implantações de extensão de DSC.
Aqui estão alguns dos cmdlets do PowerShell que estão disponíveis:
O cmdlet Publish-AzVMDscConfiguration recebe um arquivo de configuração, verifica os recursos DSC dependentes e, em seguida, cria um arquivo
.zip. O.ziparquivo contém a configuração e os recursos de DSC necessários para implementar a configuração. O cmdlet também pode criar o pacote localmente utilizando o parâmetro-OutputArchivePath. Caso contrário, o cmdlet publica o arquivo.zipno Blob Storage e, em seguida, o protege com um token SAS.O script de configuração do PowerShell (
.ps1) criado pelo cmdlet está no arquivo.zip, na raiz da pasta de arquivamento. A pasta de módulo é colocada na pasta de arquivamento em recursos.O cmdlet Set-AzVMDscExtension injeta as configurações que a extensão de DSC do PowerShell exige em um objeto de configuração de VM.
O cmdlet Get-AzVMDscExtension recupera o status da extensão de DSC de uma VM específica.
O cmdlet Get-AzVMDscExtensionStatus recupera o status da configuração de DSC que é imposta pelo manipulador de extensões de DSC. Essa ação pode ser executada em uma única VM ou em um grupo de VMs.
O cmdlet Remove-AzVMDscExtension remove o manipulador de extensões de uma VM específica. Tenha em mente que esse cmdlet não remove a configuração, desinstala o WMF ou altera as configurações aplicadas na VM. Apenas remove o manipulador de extensão.
Considerações importantes
Há várias considerações a serem consideradas ao trabalhar com cmdlets do Azure Resource Manager.
Os cmdlets do Azure Resource Manager são síncronos.
Vários parâmetros são necessários, incluindo
ResourceGroupName,VMName,ArchiveStorageAccountName,VersioneLocation.ArchiveResourceGroupNameé um parâmetro opcional. Você pode especificar esse parâmetro quando sua conta de armazenamento pertencer a um grupo de recursos diferente daquele no qual a VM foi criada.Use a opção
AutoUpdatepara atualizar automaticamente o manipulador de extensão para a versão mais recente quando ela estiver disponível. Este parâmetro tem o potencial de causar reinicializações na VM quando uma nova versão de WMF for lançada.
Configuração com cmdlets do PowerShell
A extensão de DSC do Azure pode usar documentos de configuração DSC para configurar diretamente VMs do Azure durante a implantação. Essa etapa não registra o nó para Automação ou Configuração de Máquina. Tenha em mente que o nó não é gerenciado centralmente.
O código a seguir mostra um exemplo de arquivo de configuração. Para trabalhar com este exemplo, salve essa configuração localmente como o arquivo de script iisInstall.ps1.
configuration IISInstall
{
node "localhost"
{
WindowsFeature IIS
{
Ensure = "Present"
Name = "Web-Server"
}
}
}
Os comandos do PowerShell a seguir colocam o iisInstall.ps1 script na VM especificada. Os comandos também executar a configuração e, em seguida, reportam o status.
$resourceGroup = 'dscVmDemo'
$vmName = 'myVM'
$storageName = 'demostorage'
#Publish the configuration script to user storage
Publish-AzVMDscConfiguration -ConfigurationPath .\iisInstall.ps1 -ResourceGroupName $resourceGroup -StorageAccountName $storageName -force
#Set the VM to run the DSC configuration
Set-AzVMDscExtension -Version '2.76' -ResourceGroupName $resourceGroup -VMName $vmName -ArchiveStorageAccountName $storageName -ArchiveBlobName 'iisInstall.ps1.zip' -AutoUpdate -ConfigurationName 'IISInstall'
Implantação da CLI do Azure
A CLI do Azure pode ser usada para implantar a extensão DSC em uma VM existente. Os exemplos a seguir mostram como implantar uma VM no Windows.
Para uma VM que executa o Windows, use o seguinte comando:
az vm extension set \
--resource-group myResourceGroup \
--vm-name myVM \
--name DSC \
--publisher Microsoft.Powershell \
--version 2.77 --protected-settings '{}' \
--settings '{}'
Implantação do portal do Azure
Para configurar a extensão DSC no portal do Azure, siga estas etapas:
Ir para uma VM.
Em Configurações, selecione Extensões e Aplicações.
Em Extensões, selecione + Adicionar.
Selecione Desired State Configuration do PowerShell e, em seguida, selecione Avançar.
Configure os parâmetros a seguir para a extensão DSC.
Módulos de Configuração ou Script: (obrigatório) forneça os módulos de configuração ou o arquivo de script para sua VM.
Os módulos de configuração e os scripts exigem um
.ps1arquivo que tenha um script de configuração ou um.ziparquivo com um.ps1script de configuração na raiz. Se você usar um arquivo.zip, todos os recursos dependentes deverão ser incluídos em pastas de módulo no arquivo.zip. Você pode criar o.ziparquivo usando o cmdlet Publish-AzureVMDscConfiguration -OutputArchivePath incluído no SDK do Azure PowerShell. O.ziparquivo é carregado no Armazenamento de Blobs do usuário e protegido por um token SAS.Nome de configuração qualificado pelo módulo: (Obrigatório) Especifique essa configuração para incluir várias funções de configuração em um único
.ps1arquivo de script. Para essa configuração, insira o nome do arquivo de script de configuração.ps1seguido por uma barra\e, em seguida, o nome da função de configuração. Por exemplo, se o.ps1arquivo de script tiver o nome configuration.ps1 e o nome da configuração for IisInstall, insira o valorconfiguration.ps1\IisInstallda configuração.Argumentos de configuração: se a função de configuração aceitar argumentos, insira-os aqui no formato
argumentName1=value1,argumentName2=value2. Observe que esse formato difere do formato usado para especificar argumentos de configuração em cmdlets do PowerShell ou modelos do ARM.Arquivo PSD1 de Dados de Configuração: se sua configuração exigir um arquivo de dados de configuração em
.psd1formato, use essa configuração para selecionar o arquivo de dados e carregá-lo no Armazenamento de Blobs do usuário. O arquivo de dados de configuração é protegido por um token SAS no armazenamento de blob.Versão WMF: especifica a versão do Windows Management Framework (WMF) que deve ser instalada em sua VM. Se você escolher mais recente, que é o valor padrão, o sistema instalará a versão mais recente do WMF. Outros valores possíveis incluem 4.0, 5.0 e 5.1. Esses valores possíveis estão sujeitos a atualizações.
Coleta de Dados: habilite essa configuração se desejar que a extensão DSC colete telemetria sobre sua VM. Para obter mais informações, consulte coleta de dados de extensão de DSC do Azure.
Versão: (obrigatório) especifica a versão da extensão DSC para instalar. Para informações sobre as versões, veja histórico de versão da extensão Azure DSC.
Versão Secundária de Atualização Automática: essa configuração é mapeada para a opção
AutoUpdatenos cmdlets. Defina essa configuração para habilitar a extensão DSC a ser atualizada automaticamente para a versão mais recente durante a instalação. Sim instrui o manipulador de extensão DSC a usar a versão mais recente disponível. Não (padrão) força a instalação da versão especificada na conjunto Versão.
Depois de configurar os parâmetros, selecione Examinar e Criar e, em seguida, selecione Criar.
Logs de extensão DSC
Você pode exibir logs para a extensão DSC do Azure na VM em C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\<version number>.
Próximas etapas
- Para obter mais informações sobre o DSC do PowerShell, vá até o Centro de documentação do PowerShell.
- Examine o modelo do ARM para a extensão DSC do Azure.
- Para mais funcionalidade que você pode gerenciar usando o DSC do PowerShell e para obter mais recursos de DSC, procure na Galeria do PowerShell.
- Para obter detalhes sobre como passar parâmetros confidenciais em configurações, consulte Gerenciar credenciais com segurança com o manipulador de extensão DSC do Azure.