Vertex AI mette a disposizione due tipi di notebook: quelli gestiti da Google e quelli user-managed.
I notebook gestiti da Google si spengono in automatico dopo un periodo di inattività, aiutando a contenere i costi ed evitare brutte sorprese in fattura. Per quelli user-managed, invece, non esisteva un meccanismo integrato di spegnimento automatico — fino ad oggi.
Grazie a Jose Brache, ora può aggiungere una funzionalità analoga ai notebook user-managed con pochi semplici passaggi.
Tenga presente che il funzionamento dei notebook gestiti da Google e quello della soluzione di Jose non coincidono. I notebook gestiti si spengono dopo un periodo di inattività, mentre la soluzione di Jose li spegne allo scadere di un tempo prestabilito, a prescindere dall'attività in corso. È una differenza da non sottovalutare.

Configurazione
L'implementazione si basa su un Cloud Scheduler e una Cloud Function.
Il Cloud Scheduler viene eseguito ogni 5 minuti e invoca la Cloud Function per individuare i notebook che hanno raggiunto l'orario di spegnimento.
Per impostazione predefinita, la Cloud Function analizza i notebook di Vertex AI nella regione us-central1; se necessario, può aggiungere altre regioni alla region list.
Per la configurazione, segua le istruzioni nel repository GitHub: un setup rapido e ben fatto, basato su Terraform.
Permessi e ruoli necessari
Vale la pena ricordare che il service account della Cloud Function ha bisogno dei seguenti permessi per fermare i notebook ed elencare i progetti.
roles/browsera livello di organizzazione, per iterare su tutti i progetti di una determinata organizzazione. Non serve se intende eseguire la funzione nello stesso progetto in cui è stata distribuita la Cloud Function.roles/notebooks.serviceAgentper elencare e fermare i notebook nei progetti. Se vuole spegnere i notebook su più progetti, imposti questo ruolo a livello di…