Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Spegnere in automatico i notebook user-managed di Vertex AI

By Sascha HeyerMay 10, 20232 min read

Questa pagina è disponibile anche in English, Deutsch, Español, Français, 日本語 e Português.

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.

GitHub — jbrache/notebooks-auto-shutdown: Auto shut down your user-managed notebooks across your… \ This template demonstrates how to shutdown a Vertex AI user-managed notebook (UmN) after a specified number of seconds…\ github.com

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/browser a 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.serviceAgent per elencare e fermare i notebook nei progetti. Se vuole spegnere i notebook su più progetti, imposti questo ruolo a livello di…