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!