Vertex AI ofrece dos tipos de notebooks: los gestionados por Google y los gestionados por el usuario.
Los notebooks gestionados por Google se apagan solos tras un período de inactividad, lo que ayuda a reducir costos y a evitar sorpresas en la facturación. Sin embargo, no existía una forma integrada de apagar automáticamente los notebooks gestionados por el usuario… hasta ahora.
Gracias a Jose Brache, ya puedes sumar una funcionalidad similar a los notebooks gestionados por el usuario en unos pocos pasos.
Ten en cuenta que hay una diferencia entre los notebooks gestionados por Google y la solución de Jose. Mientras los primeros se apagan tras un período de inactividad, la solución de Jose los apaga después de un tiempo determinado, haya actividad o no. No pierdas de vista esta diferencia.

Configuración
La implementación se compone de un Cloud Scheduler y una Cloud Function.
El Cloud Scheduler se ejecuta cada 5 minutos y llama a la Cloud Function para revisar qué notebooks ya llegaron al tiempo de apagado.
Por defecto, la Cloud Function revisa los Vertex AI Notebooks de la región us-central1. Si lo necesitas, suma más regiones a la lista de regiones.
Para configurarlo, sigue los pasos del repositorio de GitHub. Una configuración rápida y bien lograda con Terraform.
Permisos y roles requeridos
Vale la pena mencionar que la service account de la Cloud Function necesita los siguientes permisos para detener los notebooks y listar los proyectos.
roles/browsera nivel de organización, para iterar sobre todos los proyectos de una organización específica. No hace falta si vas a ejecutarlo en el mismo proyecto donde se despliega tu Cloud Function.roles/notebooks.serviceAgentpara listar y detener los notebooks en los proyectos. Si quieres apagar notebooks en varios proyectos, configúralo en…