Ejercicio: Definición de un DSC y configuración de un estado deseado
En este ejercicio, creará una cuenta de Azure Automation y cargará una instancia de DSC de PowerShell. A continuación incorporará una máquina virtual existente a Azure Automation. Por último, comprobará si falta IIS en la máquina virtual. Si es así, ejecutará código para instalar y configurar IIS en la máquina virtual.
Creación de una máquina virtual
Para comenzar, implemente una nueva máquina virtual a partir de una imagen de Windows Server 2022.
En el panel derecho de Azure Cloud Shell, ejecute los comandos siguientes para crear un nombre de usuario y generar una contraseña aleatoria:
USERNAME=azureuser PASSWORD=$(openssl rand -base64 32)
Ejecute el comando siguiente en Cloud Shell para crear una máquina virtual:
az vm create \ --resource-group "<rgn>[Sandbox resource group name]</rgn>" \ --name myVM \ --image win2019datacenter \ --admin-username $USERNAME \ --admin-password $PASSWORD
La creación de la máquina virtual y los recursos auxiliares tarda unos minutos en realizarse. Si la máquina virtual se crea correctamente, debería ver una salida similar a la siguiente:
{ "fqdns": "", "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM", "location": "eastus", "macAddress": "00-0D-3A-36-BA-28", "powerState": "virtual machine running", "privateIpAddress": "10.0.0.4", "publicIpAddress": "104.40.69.56", "resourceGroup": "myResourceGroup" }
Copie la
publicIpAddress
de esta salida y guárdela. Más adelante en el ejercicio, usará esta dirección para acceder a la máquina virtual.Ejecute el comando siguiente en Cloud Shell para abrir el puerto 80 en la máquina virtual para el tráfico web:
az vm open-port \ --port 80 \ --resource-group "<rgn>[Sandbox resource group name]</rgn>" \ --name myVM
En el explorador web, vaya a la dirección IP pública de la máquina virtual
http://[public-ip]
. Aunque el puerto 80 está abierto, la conexión debe tener un tiempo de espera deThis site can't be reached
. Este error se produce porque IIS no está implementado en la máquina virtual. Lo corregiremos más adelante en este ejercicio.
Creación de una cuenta de Azure Automation
Inicie sesión en Azure Portal con la misma cuenta que ha usado para activar el espacio aislado.
En el menú de recursos de Azure Portal, o bien en la página Inicio, seleccione Crear un recurso. Aparecerá el panel Crear un recurso.
En el cuadro de texto Search services and marketplace (Servicios de búsqueda y Marketplace), escriba Automation y seleccione Entrar para ver los resultados de la búsqueda.
En los resultados de la búsqueda de Automation, seleccione el servicio de Azure Automation publicado por Microsoft.
Seleccione Crear. Aparece el panel Crear cuenta de Automation.
Escriba los valores siguientes para cada opción.
Configuración Valor Subscription Suscripción de Concierge Grupo de recursos Seleccione el grupo de recursos existente en la lista desplegable. Nombre Escriba un nombre para la cuenta de Automation. Se recomienda usar [sus iniciales]-automation-account. Use este nombre siempre que vea [nombre-de-la-cuenta-de-Automation] en este ejercicio. Region Aceptar la ubicación predeterminada Seleccione Revisar y crear y, a continuación, seleccione Crear. Espere hasta que se implemente la cuenta de Automation.
Seleccione Ir al recurso cuando se complete la implementación. Aparece el panel Cuenta de Automation del recurso.
Creación de un script de configuración de DSC
En Cloud Shell, ejecute el comando siguiente para iniciar una sesión de PowerShell:
pwsh
En el símbolo del sistema de PowerShell, ejecute el comando siguiente para abrir un nuevo archivo denominado MyDscConfiguration.ps1 en el editor de código:
code $HOME/MyDscConfiguration.ps1
Escriba el bloque de código siguiente en el archivo. Este código crea una configuración para instalar IIS si aún no se ha instalado. El código ejecuta entonces el script para compilar la configuración.
Configuration MyDscConfiguration { Node "localhost" { WindowsFeature MyFeatureInstance { Ensure = 'Present' Name = 'Web-Server' } } }
Seleccione Ctrl+S para guardar el archivo en el directorio principal y después Ctrl+Q para cerrar el editor.
En la sesión de PowerShell de Azure Cloud Shell, escriba el código siguiente, reemplazando
[your-automation-account-name]
por el nombre del recurso de la cuenta de Automation, para cargar el script de DSC en la cuenta de Azure Automation.Import-AzAutomationDscConfiguration ` -Published ` -ResourceGroupName <rgn>[Sandbox resource group name]</rgn> ` -SourcePath $HOME/MyDscConfiguration.ps1 ` -Force ` -AutomationAccountName [your-automation-account-name]
El comando debería generar una salida similar al texto siguiente:
ResourceGroupName : <rgn>[Sandbox resource group name]</rgn> AutomationAccountName : [your-automation-account-name] Location : eastus State : Published Name : MyDscConfiguration Tags : {} CreationTime : 6/25/21 5:44:36 PM +00:00 LastModifiedTime : 6/25/21 5:44:36 PM +00:00 Description : Parameters : {} LogVerbose : False
Adición de los módulos necesarios (opcional)
Después de cargar el script de configuración de DSC, importe los módulos de PowerShell que necesite el proceso de DSC. En la configuración no hay que importar otros módulos, de modo que este paso se puede omitir. Si necesita importar o agregar módulos a su cuenta de Automation, vaya a la cuenta de Automation en Azure Portal. Desde allí, seleccionará Módulos en el encabezado Recursos compartidos de la izquierda y, a continuación, seleccionará Agregar un módulo.
Compilación del script DSC
En Azure Portal, todavía debe mostrarse el panel Información general de la cuenta de Azure Automation.
En el menú de la cuenta de AUtomation, en Administración de configuración, seleccione State Configuration (DSC). Aparece el panel State configuration (DSC) de la cuenta de Automation.
Seleccione la pestaña Configuraciones. Compruebe que aparece la configuración MyDscConfiguration y luego selecciónela. Compruebe que aparece el panel de configuración MyDscConfiguration.
En la barra de comandos, seleccione Compilar.
En el cuadro de diálogo Compilar configuración DSC, seleccione Sí.
Compruebe las notificaciones (el icono Notificaciones se encuentra en los controles globales del encabezado de página). Espere a que el trabajo de compilación muestre la opción Estado como Completado, lo cual puede tardar varios minutos.
Nota:
Es posible que tenga que actualizar para ver el cambio de estado. Para actualizar, en la ruta de acceso de la ruta de navegación superior izquierda de Azure Portal, seleccione la cuenta de Automation. Aparece el panel State configuration (DSC). En la barra de menús superior, seleccione Actualizar. A continuación, seleccione la configuración MyDscConfiguration en la lista para volver al panel MyDscConfiguration. En la pestaña Trabajos de compilación, la opción Estado debería aparecer ahora como Completado.
Cuando se haya completado la compilación, cierre el panel MyDscConfiguration. Aparece el panel Configuración de estado (DSC).
Registro de la máquina virtual con la cuenta de Azure Automation
En el panel State Configuration (DSC) de [nombre-cuenta-Automation], seleccione la pestaña Nodos y, en la barra de comandos, seleccione Agregar. Aparece el panel Máquina virtual de la cuenta de Automation.
Seleccione la máquina virtual que creó en la primera tarea de este ejercicio (myVM). La configuración y la máquina virtual pueden tardar hasta 10 minutos en propagarse en la red. Si la máquina virtual no aparece en la lista, espere unos minutos y seleccione Actualizar en la barra de comandos hasta que aparezca.
En la barra de comandos, seleccione Conectar. Aparece el panel Registro.
Escriba los valores siguientes para cada opción.
Configuración Valor Nombre de la configuración de nodo En la lista desplegable, seleccione MyDscConfiguration.localhost Actualizar frecuencia 30 Frecuencia del modo de configuración 15 Modo de configuración ApplyAndMonitor Permitir invalidación de módulo Seleccionar casilla Reiniciar nodo si es necesario Seleccionar casilla Acción tras el reinicio ContinueConfiguration Seleccione Aceptar.
Espere a que la máquina virtual esté conectada. Este proceso puede tardar unos minutos. Cuando myVM se haya conectado, en la ruta de navegación de la parte superior izquierda del portal, seleccione la cuenta de Automation para cerrar el panel Registro y Máquinas virtuales. Aparece el panel State configuration (DSC) de la cuenta de Automation.
En la barra de comandos, seleccione Actualizar.
Compruebe que el nodo myVM aparece en la lista y que su estado es Compatible.
Comprobación de que IIS se ha instalado en la máquina virtual
En el explorador web, vaya a http://[public-ip]
, donde [public-ip]
es la dirección IP pública que registró anteriormente en este ejercicio.
Debería ver la página web predeterminada de IIS.
¡Enhorabuena! Ha implementado IIS correctamente. Azure Automation ha usado el script DSC de PowerShell que ha cargado en la cuenta de Azure Automation.