Lanzar runbooks en máquinas fuera de Microsoft Azure con Azure Automation

En posts anteriores te conté cómo arrancar y parar máquinas dentro de Microsoft Azure, limpiar grupos de recursos vacíos, etcétera. Lo cierto es que los runbooks no sólo son útiles dentro de Microsoft Azure sino que también puedes apoyarte en ellos para máquinas en cualquier lugar. En este post te quiero contar Hybrid workers dentro de Azure Automation y cómo es posible lanzar runbooks en máquinas fuera de la plataforma.

Dentro de tu cuenta de Azure Automation, existe un apartado llamado Hybrid Worker Groups donde puedes configurar grupos de servidores que están fuera de Microsoft Azure. Las instrucciones son las siguientes:

Configure Hybrid Runbook Worker
Configure Hybrid Runbook Worker

Lo primero que debes configurar en tus servidores es el mismo agente que se utiliza para OMS. Si todavía no te has dado de alta en el servicio Operational Insights y no tienes registradas tus máquinas en el servicio, te recomiendo que le eches un vistazo a este articulo donde te explico cómo hacerlo. Haciendo uso de este mismo agente serás capaz de utilizar Azure Automation para lanzar los runbooks.

Una vez hecho esto, basta con acceder a las máquinas donde quieras llevar a cabo tareas, ubicarte en la siguiente ruta:

cd 'C:\Program Files\Microsoft Monitoring Agent\Agent\AzureAutomation\7.2.7396.0\\HybridRegistration'

e importar el modulo de PowerShell a través del siguiente comando:

Import-Module HybridRegistration.psd1

Por último registra la máquina en el Hybrid Group correspondiente:

Add-HybridRunbookWorker –Name YOUR_HYBRID_GROUP -EndPoint YOUR_ENDPOINT -Token YOUR_TOKEN

Tanto la clave como el endpoint puedes localizarlos en el apartado Manage Keys de tu cuenta.

Azure Automation - Manage Keys
Azure Automation – Manage Keys

Una vez registrada la maquina/s podrás ver que un nuevo grupo aparece en el apartado Hybrid Worker Groups.

Azure Automation - Hybrid Worker Groups
Azure Automation – Hybrid Worker Groups

Para probar este ejemplo, he creado un runbook muy simple que crea una carpeta y un archivo dentro de la unidad C: de la máquina remota.

#Create folder
New-Item c:\scripts -type directory

#Create file
New-Item c:\scripts\new_file.txt -type file

Para lanzar el runbook en el entorno híbrido puedes hacerlo desde el Test Pane, seleccionando el modo Run on > Hybrid Worker.

Test Pane - Run on - Hybrid Worker
Test Pane – Run on – Hybrid Worker

En este caso he utilizado una máquina en AWS, por lo que basta con acceder a ella a través de RDP y comprobar que existen carpeta y el archivo de prueba.

Azure Automation - Hybrid Worker - Result
Azure Automation – Hybrid Worker – Result

¡Saludos!