Pide tu presupuesto ya!
Azure Automation es un servicio potente que le permite automatizar tareas en sus entornos locales y de Azure. En el corazón de Azure Automation se encuentran los runbooks: scripts o flujos de trabajo que realizan acciones específicas en su entorno de Azure. En este tutorial, explicaremos cómo crear su primer runbook de Azure Automation mediante PowerShell.
Antes de sumergirnos, configuremos nuestro entorno. Comenzaremos creando un grupo de recursos que contenga todos los recursos que usaremos en este tutorial. Inicie PowerShell y ejecute:
New-AzResourceGroup -Name 'AzAutomationTutorial' -Location 'East US'
Para mayor comodidad, almacenemos el nombre y la ubicación de nuestro grupo de recursos en variables:
$resourceGroupName="AzAutomationTutorial"
$location = 'East US'
A continuación, debemos crear una cuenta de automatización. Piense en esto como un contenedor para todos sus recursos de automatización, incluidos runbooks, trabajos y activos. Creemos uno:
New-AzAutomationAccount -Name 'MyAzAutomationAccount' -Location $location -ResourceGroupName $resourceGroupName
Y nuevamente, almacenemos el nombre de la cuenta para usarlo más adelante:
$automationAccountName="MyAzAutomationAccount"
Ahora viene la parte divertida: ¡crear nuestro runbook! Si bien podríamos hacer esto completamente a través de PowerShell, el comando para crear un runbook de PowerShell 7 actualmente tiene algunos errores. Entonces, usaremos la extensión Azure Automation en Visual Studio Code.
1. Instale la extensión de Azure Automation en VS Code.
2. Haga clic en el icono de Azure en la barra lateral izquierda.
3. Inicie sesión en su cuenta de Azure.
4. Navegue a su cuenta de Automation > Runbooks.
5. Haga clic derecho en Runbooks y seleccione “Crear runbook”.
6. Nómbrelo “MyAzAutomationRunbook” y seleccione PowerShell 7.2 como tipo.
¡Voilá! Ha creado su primer runbook. Ahora agreguemos algo de código:
Write-Output "Hello from my first Azure Automation runbook!"
Simple, pero servirá para nuestra primera incursión en Azure Automation.
Antes de lanzar nuestro runbook en Azure, probémoslo localmente. Haga clic derecho en el runbook en VS Code y seleccione “Ejecutar local”. Si todo va bien, deberías ver nuestro saludo amistoso en el resultado.
Ahora, publiquemos esta obra maestra en Azure. Haga clic derecho en el runbook nuevamente y seleccione “Publicar Runbook”. Confirme la acción y su runbook ya estará disponible en Azure.
Podemos verificar esto usando PowerShell:
Get-AzAutomationRunbook -ResourceGroupName $resourceGroupName -AutomationAccountName $automationAccountName -Name 'MyAzAutomationRunbook'
Si ve su runbook en la lista con el estado “Publicado”, ¡está dorado!
Llegó el momento de la verdad: ejecutemos nuestro runbook en Azure:
Start-AzAutomationRunbook -Name 'MyAzAutomationRunbook' -ResourceGroupName $resourceGroupName -AutomationAccountName $automationAccountName
Este comando crea un trabajo para nuestro runbook. Un trabajo es una instancia de un runbook que se ha iniciado; considérelo como una forma de realizar un seguimiento del progreso de un runbook.
Podemos consultar el estado de nuestro trabajo:
$job = Get-AzAutomationJob -ResourceGroupName $resourceGroupName -AutomationAccountName $automationAccountName -RunbookName 'MyAzAutomationRunbook'
Una vez que se completa el trabajo, podemos recuperar su resultado:
Get-AzAutomationJobOutput -Id $job.JobId -ResourceGroupName $resourceGroupName -AutomationAccountName $automationAccountName -Stream Output
Si todo ha ido según lo planeado, debería ver nuestro saludo amistoso en la propiedad Resumen del resultado.
¡Felicidades! Acaba de crear, publicar y ejecutar su primer runbook de Azure Automation mediante PowerShell. Si bien este ejemplo fue simple, demuestra el flujo de trabajo básico para trabajar con runbooks en Azure Automation.
Desde aquí, puede comenzar a crear runbooks más complejos para automatizar todo tipo de tareas en su entorno de Azure. Quizás la próxima vez hagamos que nuestro runbook haga algo un poco más emocionante que saludar, como iniciar un ejército de máquinas virtuales para hacerse cargo de w… quiero decir, mejorar la eficiencia operativa. ¡Feliz automatización!
Leave a comment