Skip to content

Labs: Provision Vertex AI Workbench dengan Terraform

🚀 Panduan singkat untuk membantu kalian provision Vertex AI Workbench menggunakan Terraform dan eksplorasi dataset Iris dengan Python. Cocok untuk sesi workshop dan lab mandiri.

🎤 Cerita Singkat dari Workshop Google I/O Extended Bogor 2025

Section titled “🎤 Cerita Singkat dari Workshop Google I/O Extended Bogor 2025”

Beberapa waktu lalu, gua diminta jadi narasumber/fasilitator untuk sesi Code & Create - Build with AI Workshops Session 2 Dev Connect di event Google I/O Extended Bogor 2025.

Sebagai orang yang kerja di bidang system engineering dan infrastruktur, jujur aja waktu disuruh pake topiknya ada embel-embel AI, gua langsung mikir:

“Waduh… ini di luar zona nyaman gua banget.”

Gua nggak punya latar belakang ML/Data Science, dan jujur agak struggle buat ngerti service-service AI di GCP.

Tapi di sisi lain, gua juga punya keinginan kuat buat tetap bisa sharing sesuatu yang relevan dari perspektif gua sebagai orang infra; yaitu tentang automation dan provisioning tools seperti Terraform.

Akhirnya gua ambil kesempatan ini sebagai tantangan:

  • Gua belajar pake Vertex AI Workbench
  • Gua cobain provisioning-nya dari nol
  • Dan gua ramu semuanya ke dalam lab praktis yang fokus ke automation, bukan modeling atau training berat

🧠 Dan justru dari situ gua belajar satu hal penting:
Kolaborasi AI dan Infra bukan soal siapa paling ngerti, tapi gimana bisa saling bantu pake tools masing-masing.

Tim ML butuh environment yang repeatable, aman, dan bisa diskalakan → dan disitulah automation tools kayak Terraform bisa bantu.

  • Provision environment JupyterLab pakai Vertex AI Workbench
  • Eksplorasi dataset Iris dengan Python dan pandas
  • Latih dan evaluasi model ML sederhana (RandomForest)

Sebelum mulai, pastikan:

  1. Kalian punya project GCP dengan billing aktif
  2. Kalian sudah buat service account dengan role berikut:
    Vertex AI Admin
    Compute Admin
    IAM Service Account User
    Service Usage Admin
  3. API yang harus di-enable:
    vertexai.googleapis.com
    notebooks.googleapis.com
    cloudresourcemanager.googleapis.com
  • Directorygdg-workbench-lab/
    • Directory.env
      • service_account_key.json
  • main.tf
  • variables.tf
  • terraform.tfvars
  • explore-iris.ipynb
  • enable-apis.sh
  • README.md
Terminal window
git clone https://github.com/fadharpra/terraform-vertex-ai-workbench.git
cd gdg-workbench-lab

Di dalam repo ini kalian akan menemukan file Terraform utama, main.tf, yang mendefinisikan resource Vertex AI Workbench untuk deploy JupyterLab environment-nya.

Selain itu, ada juga file pendukung seperti:

  • variables.tf — untuk mendeklarasikan variabel input
  • terraform.tfvars — untuk mengisi nilai-nilai variabel tersebut
  • enable-apis.sh — shell script buat aktifin API di GCP
  • explore-iris.ipynb — notebook demo untuk eksplorasi dataset Iris

Berikut cuplikan isi main.tf:

main.tf
terraform {
required_providers {
google = {
source = "hashicorp/google"
version = ">= 5.0.0"
}
}
}
provider "google" {
project = var.project_id
region = var.region
credentials = file(var.service_account_key_path)
}
resource "google_project_service" "resource_manager_api" {
service = "cloudresourcemanager.googleapis.com"
disable_on_destroy = true
}
resource "google_project_service" "enable_apis" {
for_each = toset([
"aiplatform.googleapis.com",
"datacatalog.googleapis.com",
"dataproc.googleapis.com"
])
service = each.key
disable_on_destroy = true
depends_on = [google_project_service.resource_manager_api]
}
resource "google_workbench_instance" "notebook" {
name = "gdg-workbench-demo"
location = var.zone
gce_setup {
machine_type = "n1-standard-1"
boot_disk {
disk_type = "PD_STANDARD"
disk_size_gb = 150
}
vm_image {
project = "cloud-notebooks-managed"
family = "workbench-instances"
}
disable_public_ip = false
enable_ip_forwarding = false
}
instance_owners = [var.user_email]
}

Buat file baru bernama variables.tf untuk mendeklarasikan variable yang digunakan:

variables.tf
variable "project_id" {}
variable "region" {
default = "asia-southeast2"
}
variable "zone" {
default = "asia-southeast2-a"
}
variable "service_account_key_path" {
default = ".env/service_account_key.json"
}
variable "user_email" {
description = "Email user yang boleh akses notebook"
}

Ubah terraform.tfvars:

terraform.tfvars
project_id = "project-id-kalian"
region = "asia-southeast2"
zone = "asia-southeast2-a"
service_account_key_path = ".env/service_account_key.json"
user_email = "[email protected]"
Terminal window
bash enable-apis.sh
Terminal window
terraform init
terraform apply

Setelah instance aktif, buka JupyterLab dari Vertex AI Workbench Console, upload explore-iris.ipynb, dan jalankan semua sel.

Kalian akan melihat:

  • Preview dataset
  • Statistik ringkas
  • Training dan evaluasi model ML sederhana

Kalian bisa lanjutkan lab ini dengan:

  • Akses dataset dari BigQuery
  • Upload dan load model dari GCS
  • Terhubung ke Vertex AI endpoint via Python SDK

Vertex AI Workbench bikin setup ML environment di GCP jadi lebih gampang, aman, dan repeatable.
Dengan Terraform, kalian bisa otomatisasi setup ini dan integrasikan ke workflow infrastruktur kalian.

Happy hacking! 🎉