Share via


Configuración de máquinas en un estado deseado

Azure Automation State Configuration permite especificar configuraciones para los servidores y asegurarse de que dichos servidores se encuentran en el estado especificado a lo largo del tiempo.

  • Incorporación de una máquina virtual para su administración por DSC de Azure Automation
  • Carga de una configuración en Azure Automation
  • Compilación de una configuración en una configuración de nodo
  • Asignación de una configuración de nodo a un nodo administrado
  • Comprobación del estado de cumplimiento de un nodo administrado

Para este tutorial, se usa una configuración DSC simple que se asegura de que IIS está instalado en la máquina virtual.

Requisitos previos

Compatibilidad con configuraciones parciales

State Configuration de Azure Automation admite el uso de configuraciones parciales. En este escenario, DSC está configurado para administrar varias configuraciones de forma independiente, y cada configuración se recupera de Azure Automation. Sin embargo, solo se puede asignar una configuración a un nodo por cuenta de Automation. Esto significa que si usa dos configuraciones para un nodo, necesitará de dos cuentas de Automation.

Para obtener más información sobre cómo registrar una configuración parcial de un servicio de extracción, consulte la documentación sobre configuraciones parciales.

Para obtener más información acerca de cómo los equipos pueden trabajar juntos para administrar de forma colaborativa los servidores con la configuración como código, consulte Descripción del rol de DSC en una canalización de CI/CD.

Inicio de sesión en Azure

Inicie sesión en la suscripción a Azure con el cmdlet Connect-AzAccount y siga las instrucciones de la pantalla.

Connect-AzAccount

Creación y carga de una configuración en Azure Automation

En un editor de texto, escriba lo siguiente y guárdelo localmente como TestConfig.ps1.

configuration TestConfig {
   Node WebServer {
      WindowsFeature IIS {
         Ensure               = 'Present'
         Name                 = 'Web-Server'
         IncludeAllSubFeature = $true
      }
   }
}

Nota:

Los nombres de configuración en Azure Automation deben limitarse a no más de 100 caracteres.

En escenarios más avanzados en los que se requiere la importación de varios módulos que proporcionen recursos de DSC, asegúrese de que cada módulo tenga una línea única Import-DscResource en la configuración.

Llame al cmdlet Import-AzAutomationDscConfiguration para cargar una configuración de nodo en la cuenta de Automation.

 Import-AzAutomationDscConfiguration -SourcePath 'C:\DscConfigs\TestConfig.ps1' -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Published

Compilación de una configuración en una configuración de nodo

Una configuración DSC se debe compilar en una configuración de nodo antes de que se pueda asignar a un nodo. Consulte Configuraciones de DSC.

Llame al cmdlet Start-AzAutomationDscCompilationJob para compilar la configuración TestConfig en una configuración de nodo denominada TestConfig.WebServer de la cuenta de Automation.

Start-AzAutomationDscCompilationJob -ConfigurationName 'TestConfig' -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount'

Registro de una máquina virtual para su administración mediante State Configuration

Puede usar Azure Automation State Configuration para administrar máquinas virtuales de Azure (tanto clásicas como de Resource Manager), máquinas virtuales locales, máquinas Linux, máquinas virtuales de AWS y máquinas físicas locales. En este tema, se explicará cómo registrar solo máquinas virtuales de Azure Resource Manager. Para más información sobre el registro de otros tipos de máquinas, consulte Incorporación de máquinas para administrarlas con Azure Automation State Configuration.

Llame al cmdlet Register-AzAutomationDscNode para registrar la máquina virtual con State Configuration de Azure Automation como nodo administrado.

Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm'

Especificación de opciones del modo de configuración

Use el cmdlet Register-AzAutomationDscNode para registrar una máquina virtual como un nodo administrado y especificar las propiedades de configuración. Por ejemplo, puede especificar que el estado de la máquina se aplique solo una vez; para ello, especifique ApplyOnly como valor de la propiedad ConfigurationMode. State Configuration no intenta aplicar la configuración después de la comprobación inicial.

Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm' -ConfigurationMode 'ApplyOnly'

También puede especificar la frecuencia con la que DSC comprueba el estado de configuración mediante la propiedad ConfigurationModeFrequencyMins. Para más información sobre las opciones de configuración de DSC, consulte Configuración del administrador de configuración local.

# Run a DSC check every 60 minutes
Register-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -AzureVMName 'DscVm' -ConfigurationModeFrequencyMins 60

Asignación de una configuración de nodo a un nodo administrado

Ahora se puede asignar la configuración de nodo compilada a la máquina virtual que desea configurar.

# Get the ID of the DSC node
$node = Get-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Name 'DscVm'

# Assign the node configuration to the DSC node
Set-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -NodeConfigurationName 'TestConfig.WebServer' -NodeId $node.Id

Esto asigna la configuración de nodo llamada TestConfig.WebServer al nodo DSC registrado DscVm. De forma predeterminada, se comprueba el cumplimiento de la configuración del nodo DSC cada 30 minutos. Para obtener información sobre cómo cambiar el intervalo de comprobación de cumplimiento, consulte Configuración del administrador de configuración Local.

Comprobación del estado de cumplimiento de un nodo administrado

Puede obtener informes sobre el estado de cumplimiento de un nodo administrado mediante el cmdlet Get-AzAutomationDscNodeReport.

# Get the ID of the DSC node
$node = Get-AzAutomationDscNode -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -Name 'DscVm'

# Get an array of status reports for the DSC node
$reports = Get-AzAutomationDscNodeReport -ResourceGroupName 'MyResourceGroup' -AutomationAccountName 'myAutomationAccount' -NodeId $node.Id

# Display the most recent report
$reports[0]

Pasos siguientes