Apagado y encendido automatico de VM con Azure Fuctions APP

En este tutorial, te mostraré cómo crear una Azure Functions App para apagar y encender una máquina virtual en Azure con Azure Functions App.

Paso 1: Crear una función en Azure Functions App Lo primero que debes hacer es crear una función en Azure Functions App. Para hacerlo, sigue estos pasos:

  1. Ve a Azure Portal y selecciona tu suscripción de Azure.
  2. Busca «Azure Functions App» en el buscador y haz clic en «Crear».
  3. Completa los campos requeridos, como el nombre de la aplicación, el grupo de recursos y la ubicación.
  4. Haz clic en «Revisar + crear» y luego en «Crear».

Una vez que se haya creado la función, podrás verla en tu lista de recursos de Azure.

Paso 2: Agregar código a la función Ahora, debes agregar el código necesario para apagar la máquina virtual en la función. Para hacerlo, sigue estos pasos:

  1. Ve a la pestaña «Funciones» de tu Azure Functions App.
  2. Haz clic en «Crear una función» y selecciona «Timer trigger».
  3. Completa los campos requeridos, como el nombre de la función y el crontab
  4. Haz clic en «Crear».

*NOTA: La captura de pantalla está mal, dado que se tiene que configurar de la siguiente forma: {second} {minute} {hour} {day} {month} {day-of-week}
Debería quedar algo como: 0 0 22 * * * 1-5

Más información

Para utilizar la función que hemos creado, necesitamos agregar código en la sección de «Code + Test». Esto nos permitirá probar y verificar que nuestra función funciona correctamente.

A continuación, podemos agregar el siguiente código de ejemplo para poner a prueba nuestra función:

# Input bindings are passed in via param block.
param($Timer)

Select-AzSubscription -SubscriptionId XXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX

$Vms = Get-AzVM -Status | Where-Object {$_.Tags.PowerOff -eq "22:00"}

foreach ($Vm in $Vms) {
    Stop-AzVM -Name $Vm.Name -ResourceGroupName $Vm.ResourceGroupName -Force
}

Paso 3: Creamos una nueva función para el inicio de la VM. Para hacerlo, sigue estos pasos:

  1. Ve a Azure Portal y selecciona tu suscripción de Azure.
  2. Busca «Azure Functions App» en el buscador y haz clic en «Crear».
  3. Completa los campos requeridos, como el nombre de la aplicación, el grupo de recursos y la ubicación.
  4. Haz clic en «Revisar + crear» y luego en «Crear».

Una vez que se haya creado la función, podrás verla en tu lista de recursos de Azure.

Paso 2: Agregar código a la función Ahora, debes agregar el código necesario para apagar la máquina virtual en la función. Para hacerlo, sigue estos pasos:

  1. Ve a la pestaña «Funciones» de tu Azure Functions App.
  2. Haz clic en «Crear una función» y selecciona «Timer trigger».
  3. Completa los campos requeridos, como el nombre de la función y el crontab
  4. Haz clic en «Crear».

Para utilizar la función que hemos creado, necesitamos agregar código en la sección de «Code + Test». Esto nos permitirá probar y verificar que nuestra función funciona correctamente.

A continuación, podemos agregar el siguiente código de ejemplo para poner a prueba nuestra función:

# Input bindings are passed in via param block.
param($Timer)

Select-AzSubscription -SubscriptionId XXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX

$Vms = Get-AzVM -Status | Where-Object {$_.Tags.PowerOn -eq "06:00"}

foreach ($Vm in $Vms) {
    Start-AzVM -Name $Vm.Name -ResourceGroupName $Vm.ResourceGroupName
}

*NOTA: La captura de pantalla está mal, dado que se tiene que configurar de la siguiente forma: {second} {minute} {hour} {day} {month} {day-of-week}
Debería quedar algo como: 0 0 6 * * * 1-5

Más información

Para finalizar, debemos dirigirnos a las máquinas virtuales que deseamos apagar o encender y agregar las siguientes etiquetas:

:wq!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *