728
PowerShell Desired State Configuration (DSC) es una plataforma poderosa para la administración centralizada de su infraestructura a través de archivos de configuración y se usa ampliamente para implementar los conceptos de Infraestructura como código (IaC). DSC proporciona un modelo de configuración del sistema declarativo que le permite especificar cómo desea configurar el punto final (estación de trabajo o servidor).
Azure tiene su propia implementación de DSC, llamada DSC de estado azul, que se utiliza para gestionar máquinas virtuales. Azure DSC se puede usar como parte del servicio Azure Automation Management.
Azure DSC admite las siguientes versiones del sistema operativo:
- Cliente Windows 8.1/10/11
- Servidor Windows 2022/2019/2016/2012R2
Debe crear una cuenta de Automatización para usar Azure State DSC:
- Inicie sesión en Azure Portal y vaya a la Cuenta de automatización usando la barra de búsqueda superior;
- Hacer clic Nuevo para crear un nuevo recurso de cuenta de automatización;
- Especifique el nombre de la cuenta, el grupo de recursos de Azure y la región;
Además, puede crear una cuenta de Azure Automation mediante el módulo Azure Az PowerShell:
Install-Module -Name Az -Force Connect-AzAccount New-AzAutomationAccount -Name AzAutomationAcc1 -ResourceGroupName RGTest1 -Location eus
Cree un archivo en su computadora PS1 con su configuración que debe importarse a Azure.
En este ejemplo, hemos creado un pequeño archivo de configuración de DCS que verifica lo siguiente:
- .Net Framework 3.5 está instalado en Windows;
- La cuenta de administrador integrada está deshabilitada;
- Escritorio remoto habilitado en Windows (verifique el valor del parámetro de registro fDenyTSConnections).
Confirutation BasicDSCTests { Import-DscResource -ModuleName PSDesiredStateConfiguration WindowsFeature Add_Net_Framework { Ensure = "Present" Name = "NetFx3" } Registry RDPEnabled { Key = "HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server" ValueName = "fDenyTSConnections" ValueType = "DWord" ValueData = 1 Ensure = "Present" } User Builtin-Administrator-Disabled { Ensure = "Present" Username = "Administrator" Disabled = $true } }
Guarde este código en el archivo c:psAzBasicDSCTests.ps1.
Nota. Consulte nuestro tutorial sobre cómo cambiar el tamaño del disco de la máquina virtual de Azure.
Ahora puede importar este archivo de configuración a Azure desde el Configuraciones sección.
O puede importarlo usando el cmdlet Import-AzAutomationDscConfiguration:
Import-AzAutomationDscConfiguration -SourcePath c:psAzBasicDSCTests.ps1 -ResourceGroupName RGTest1 -AutomationAccountName AzAutomationAcc1 -Published
Una vez que haya cargado el archivo de configuración de DSC, deberá compilarlo:
Start-AzAutomationDscCompilationJob -ConfigurationName AzBasicDSCTests -ResourceGroupName RGTest1 -AutomationAccountName AzAutomationAcc1
Compruebe el estado de la compilación y asegúrese de que el ResumenEstado la propiedad se cambia a Bien:
Get-AzAutomationDscNodeConfiguration -ResourceGroupName RGTest1 -AutomationAccountName AzAutomationAcc1
Ahora está listo para aplicar su configuración a las máquinas virtuales de Azure:
- Vaya a Cuenta de automatización > Gestión de configuración > Configuración de estado (DSC);
- Hacer clic Agregar para dar de alta máquinas virtuales en Gestión de la Configuración;
- Hacer clic Conectar para agregar la máquina virtual como un nodo en la configuración de estado (DSC > Nodos > Agregar).
Puede agregar una VM usando PowerShell:
$vm = Get-AzVM -Name TestVM1 Register-AzAutomationDscNode -AzureVMName $vm.Name -AzureVMLocation $vm.Location -NodeConfigurationName "AzBasicDSCTests.localhost" -ConfigurationMode ApplyAndAutocorrect -AutomationAccountName AzAutomationAcc1 -ResourceGroupName RGTest1
DSC verificará el estado de Windows en la máquina virtual y aplicará la configuración deseada. Puede verificar el estado de cumplimiento de la máquina virtual:
Get-AzAutomationDscNode -NodeConfigurationName "AzBasicDSCTests.localhost" -ResourceGroupName RGTest1 -AutomationAccountName AzAutomationAcc1
debería volver Estado = Obediente.
La tarea de Azure Automation comprueba la configuración del host cada 15 minutos. Si se encuentra un estado de VM no compatible, Azure intentará presentar la queja.