Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Desligue automaticamente os notebooks Vertex AI gerenciados pelo usuário

By Sascha HeyerMay 10, 20232 min read

Esta página também está disponível em English, Deutsch, Español, Français, Italiano e 日本語.

O Vertex AI oferece dois tipos de notebooks: os gerenciados pelo Google e os gerenciados pelo usuário.

Os notebooks gerenciados pelo Google desligam sozinhos após um período de inatividade, o que ajuda a economizar e a evitar sustos na fatura. Só que, até pouco tempo atrás, não existia uma forma nativa de fazer o mesmo com os notebooks gerenciados pelo usuário — até agora.

Graças ao Jose Brache, dá para adicionar uma funcionalidade parecida aos notebooks gerenciados pelo usuário em poucos passos.

Vale lembrar que há uma diferença de comportamento entre os notebooks gerenciados pelo Google e a solução do Jose. Os notebooks gerenciados desligam após um período de inatividade, enquanto a solução do Jose desliga depois de um tempo predefinido, independentemente de haver atividade ou não. Tenha isso em mente.

Configuração

A implementação usa um Cloud Scheduler e uma Cloud Function.

O Cloud Scheduler roda a cada 5 minutos e aciona a Cloud Function, que verifica quais notebooks atingiram o horário de desligamento.

Por padrão, a Cloud Function verifica os notebooks do Vertex AI na região us-central1. Se precisar, adicione outras regiões na lista de regiões.

Para colocar tudo no ar, basta seguir o passo a passo do repositório no GitHub. A configuração é rápida e caprichada, feita com Terraform.

GitHub — jbrache/notebooks-auto-shutdown: Desligue automaticamente seus notebooks gerenciados pelo usuário em toda a sua… \ Este template mostra como desligar um notebook gerenciado pelo usuário (UmN) do Vertex AI após um número determinado de segundos…\ github.com

Permissões e papéis necessários

Vale destacar que a service account da Cloud Function precisa das seguintes permissões para parar os notebooks e listar os projetos.

  • roles/browser no nível da organização, para percorrer todos os projetos de uma organização específica. Não é necessário se você quiser executar a função apenas no mesmo projeto em que a Cloud Function está implantada.
  • roles/notebooks.serviceAgent para listar e parar os notebooks nos projetos. Se quiser desligar notebooks em vários projetos, defina essa permissão em…