Azure Automation: parar/arrancar máquinas virtuales de un cloud service en paralelo

Seguimos con los scripts de Azure Automation, después de haber visto cómo eliminar aquellos grupos de recursos que han quedado vacíos y cómo parar máquinas virtuales, ASM y ARM, dentro de un mismo grupo de recursos. Sin embargo, en este último ejemplo, puede que necesites que tus máquinas se vayan iniciando o parando en paralelo para que el proceso sea más rápido que ir de una en una.

En este post voy a mostrarte cómo puedes hacerlo para máquinas ASM (modo clásico) dentro de un mismo cloud service.

workflow Shutdown-Start-ASM-VMs-Parallel
{
Param(
[Parameter(Mandatory=$true)]
        [String]
$ServiceName,
[Parameter(Mandatory=$true)]
        [Boolean]
$Shutdown
)

#The name of the Automation Credential Asset this runbook will use to authenticate to Azure.
    $CredentialAssetName = "DefaultAzureCredential";

#Get the credential with the above name from the Automation Asset store
    $Cred = Get-AutomationPSCredential -Name $CredentialAssetName
    if(!$Cred) {
        Throw "Could not find an Automation Credential Asset named '${CredentialAssetName}'. Make sure you have created one in this Automation Account."
    }

    #Connect to your Azure Account
Add-AzureAccount -Credential $Cred

if($Shutdown -eq $true){
Write-Output "Stopping VMs in '$($ServiceName)' cloud service";
Stop-AzureVM -ServiceName $ServiceName -Name * -Force
}
else{
Write-Output "Starting VMs in '$($ServiceName)' cloud service";
Start-AzureVM -ServiceName $ServiceName -Name *;
}
}

Como puedes ver, tanto en el comando Stop-AzureVM como Start-AzureVM puedes utilizar el asterisco como valor para el parámetro -Name, lo cual significa que aplica a todas las máquinas dentro del cloud service seleccionado.

Shutdown-Start-ASM-VMs-Parallel Shutdown
Shutdown-Start-ASM-VMs-Parallel Shutdown

He subido el script a la galería por si fuera de utilidad.

Azure Automation - Browse Gallery - Shutdown-Start-VMs-By-Cloud-Service-Parallel
Azure Automation – Browse Gallery – Shutdown-Start-VMs-By-Cloud-Service-Parallel

¡Feliz Lunes!