0

Azure – Programación de inicio y apagado de máquinas virtuales con Start Stop v2

Hola a tod@s,

En este post vamos a ver cómo programar el inicio y apagado de máquinas virtuales con Start Stop v2.

La característica Start/Stop VMs v2 inicia o detiene las máquinas virtuales de Azure en varias suscripciones. Inicia o detiene las máquinas virtuales según las programaciones definidas por el usuario, proporciona información desde Azure Application Insights y envía notificaciones opcionales mediante grupos de acciones. En la mayoría de los escenarios, Start/Stop VMs puede administrar las máquinas virtuales implementadas y administradas tanto por Azure Resource Manager como por Azure Service Manager (clásico), en desuso.

Esta nueva versión de Start/Stop VMs v2 proporciona una opción de automatización económica centralizada para los clientes que quieren optimizar los costos de las máquinas virtuales. Ofrece la misma funcionalidad que la versión original que estaba disponible con Azure Automation, pero está diseñada para aprovechar las ventajas de la tecnología más reciente de Azure. La versión 2 de Start/Stop para máquinas virtuales se basa en varios servicios de Azure y se cobrará en función de los servicios que se implemente y consuma.

Fuente: Microsoft Learn

  • Para poder empezar a crear y usar este servicio, vamos a irnos al Marketplace buscamos start stop y seleccionamos Start/Stop VMs during off hours – V2:

  • Podemos ver, que tenemos dos tipos de planes, StartStopV2 y StartStopV2-AZ, el segundo es si tenemos configuradas zonas de disponibilidad, en nuestro caso vamos a elegir el primer plan StartStopV2:

  • Si accedemos a Información general, vemos que para implementar este servicio vamos a necesitar de otros servicios de Azure, como son Function App, Logic App, Application Insights, dashboard, una cuenta de almacenamiento y el Monitor, Crear:

  • Sobre Básico, le indicamos la suscripción, región, grupo de recursos, Azure Function, Application Insights, cuenta de almacenamiento, el área de trabajo para logs analytics y un email para que nos lleguen las notificaciones:

  • Sobre Revisar y crear, nos muestra un resumen con todo lo configurado, Crear:

  • Como podemos ver, la implementación se ha realizado correctamente:

  • Si accedemos al grupo de recursos, vemos todos los recursos que se nos han creado para implementar la solución:

  • Para configurar esta solución vamos a utilizar las aplicaciones lógicas por programación, concretamente vamos a utilizar dos, una para iniciar las máquinas ststv2_vms_Scheduled_start y otra para detenerlas ststv2_vms_Scheduled_stop:

  • Empezaremos configurando ststv2_vms_Scheduled_start para el inicio de las máquinas virtuales, para ello, accedemos al Diseñador de aplicación lógica dónde vamos a configurar el diseño de la aplicación por medio de Azure Functions:

  • Empezaremos configurando el Recurrence, que es la programación de inicio de la tarea, en este caso, todos los días a las 7:45:

  • Lo siguiente que vamos a configurar será la tarea del Function-Try, que como podemos ver, nos da un ejemplo de cómo lo podemos configurar, este ejemplo lo vamos a eliminar y vamos a configurar el que a nosotros nos interesa:

  • En esta web de Microsoft tenemos ejemplos de cómo configurar Function-Try, que lo podemos configurar a nivel de suscripción, grupo de recursos o máquinas virtuales, en nuestro caso, lo vamos a realizar a nivel de máquinas virtuales, por lo que vamos a copiar este ejemplo:

  • Como podemos ver este ejemplo incluye tres máquinas virtuales, en nuestro caso, solo lo vamos a realizar con una máquina virtual:

  • Y nos quedaría de la siguiente manera:

  • El Id. de recurso lo copiamos desde las propiedades de la máquina virtual:

  • Esta misma Function-Try es la que vamos a utilizar para detener las máquinas virtuales, solo que cambiaremos start por stop en la acción.
  • Ahora guardamos los cambios:

  • Una vez que hemos guardado los cambios sobre Información general, debemos de habilitarlo:

  • Ahora vamos a configurar ststv2_vms_Scheduled_stop para el apagado de las máquinas virtuales, para ello, accedemos al Diseñador de aplicación lógica dónde vamos a configurar el diseño de la aplicación por medio de Azure Functions, y hacemos exactamente lo mismo que hemos realizado para el inicio, pero cambiando la acción por stop.
  • Empezaremos configurando el Recurrence, que es la programación de inicio de la tarea, en este caso, todos los días a las 19:30:

  • Lo siguiente que vamos a configurar será la tarea del Function-Try, que como podemos ver, es la misma que para el inicio, pero hemos cambiado la acción a stop:

  • Ahora guardamos los cambios:

  • Una vez que hemos guardado los cambios sobre Información general, debemos de habilitarlo:

  • Si antes de empezar todo este proceso, queremos tener más granularidad en nuestra infraestructura a la hora de iniciar y apagar máquinas virtuales, estas dos aplicaciones lógicas las podemos clonar y darle un nombre más descriptivo, y configurar el Recurrence a distintas horas según nos interese:

  • Con todo esto, ya quedaría configurado nuestro encendido y apagado ordenado de máquinas virtuales de manera automatizada.

 

Saludos y espero que os sea de ayuda 😉

 

Jose Ramon Ramos Gata

Técnico Superior STI

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.