Memanfaatkan Google Cloud Shell untuk Project Bermanfaat

Memanfaatkan
Cloud Shell
untuk Project Kamu

Dari aktivasi hingga mount drive — panduan super lengkap step-by-step, animasi interaktif, tips produktivitas, dan best practices developer modern.

5 GBPersistent Storage
FreeSelamanya
50+Tools Preinstalled
120Days Retention

Apa Itu Google Cloud Shell?

Google Cloud Shell adalah lingkungan shell interaktif berbasis browser yang disediakan gratis oleh Google Cloud Platform (GCP). Bayangkan kamu punya terminal Linux lengkap yang bisa diakses kapan saja, di mana saja — tanpa perlu install apa pun di komputer lokal.

Cloud Shell berjalan di atas mesin virtual Debian-based Linux yang di-provision secara otomatis setiap kali kamu membuka sesi baru. Yang membuatnya luar biasa: seluruh direktori $HOME kamu tersimpan di Persistent Disk 5 GB yang tidak hilang meski sesi berakhir.

🖥️

VM Debian Linux

Instance Compute Engine sementara, fully managed oleh Google, siap pakai dalam hitungan detik.

💾

5 GB Persistent Disk

Storage permanen untuk $HOME kamu. File, script, konfigurasi tetap ada lintas sesi.

🔧

50+ Tools Preinstalled

gcloud, kubectl, git, docker, python3, node, terraform, helm — semua sudah ready!

🌐

Code Editor Built-in

Cloud Shell Editor berbasis VS Code (Theia) terintegrasi langsung di browser kamu.

💡

Cloud Shell adalah bagian dari Google Cloud Free Tier — tidak ada biaya yang dikenakan untuk penggunaan normal. Kamu hanya membayar untuk resource GCP yang kamu buat dari Cloud Shell.

Fitur-Fitur Unggulan Cloud Shell

Cloud Shell bukan sekadar terminal biasa. Ini adalah development environment lengkap yang dirancang untuk developer cloud-native modern.

🔐 Auto Authentication📦 gcloud CLI built-in 🐳 Docker ready☸️ kubectl preinstalled 🐍 Python 3.x🟢 Node.js 🦫 Go lang☕ Java JDK 🏗️ Terraform⎈ Helm 🔀 git🌐 Web Preview 🎓 Interactive Tutorials🔄 tmux 🛡️ SSH Support
FiturDetailStatus
Computee2-small VM (2 vCPU, 1.7 GB RAM) Debian Linux✅ Free
Storage5 GB Persistent Disk untuk $HOME directory✅ Free
NetworkAkses internet penuh, IP publik sementara✅ Included
EditorCloud Shell Editor (VS Code compatible)✅ Free
SessionTimeout 60 menit inaktif, VM di-discard⚠️ Sementara
Ephemeral ModeTanpa persistent disk, startup lebih cepat✅ Tersedia
Web PreviewPreview app web di port 8080, 8443, 4200, dst✅ Built-in
RegionAuto-assign ke region terdekat✅ Global

Cara Aktivasi Cloud Shell

Mengaktifkan Cloud Shell sangat mudah — kamu hanya butuh akun Google Cloud. Ikuti langkah-langkah berikut:

1

Buka Google Cloud Console

Navigasi ke console.cloud.google.com dan pastikan kamu sudah login dengan akun Google. Pilih atau buat project GCP terlebih dahulu dari dropdown di navbar atas.

2

Klik Ikon Cloud Shell

Di pojok kanan atas console, klik ikon terminal berbentuk >_. Sebuah panel akan muncul di bagian bawah layar. Tunggu beberapa detik untuk provisioning VM.

3

Authorize Akses Pertama

Jika ini pertama kalinya, Cloud Shell akan meminta otorisasi akses ke project GCP kamu. Klik "Authorize" untuk melanjutkan. Kredensial kamu akan otomatis terkonfigurasi.

4

Verifikasi Environment

Sesudah terminal terbuka, jalankan beberapa perintah verifikasi untuk memastikan environment sudah siap dan project aktif sudah terkonfigurasi dengan benar.

5

Eksplorasi Tools Available

Cek tools yang tersedia dengan gcloud --version, kubectl version, docker --version. Semua sudah pre-installed dan up-to-date secara otomatis setiap minggu.

cloud-shell ~ · bash
Welcome to Cloud Shell!
⚠ Your Cloud Shell machine type is set to e2-small
you@cloudshell:~$ gcloud config list
[core]
account = you@example.com
project = my-awesome-project
you@cloudshell:~$ gcloud --version
Google Cloud SDK 512.0.0
bq 2.1.11 · gsutil 5.31 · kubectl 1.31
you@cloudshell:~$ echo "Cloud Shell siap digunakan! 🚀"
Cloud Shell siap digunakan! 🚀

Mount Cloud Shell ke Local Drive via SSHFS

Salah satu fitur paling powerful adalah kemampuan untuk mount direktori $HOME Cloud Shell ke file system lokal kamu. Artinya: kamu bisa edit file di Cloud Shell menggunakan IDE lokal favorit kamu seperti VS Code, IntelliJ, atau Sublime Text!

🏗️ Arsitektur Mount Cloud Shell ↔ Lokal

💻Mesin Lokal
Mac / Linux
SSH / SSHFS
☁️Cloud Shell VM
Debian Linux
Mount
💾Persistent Disk
5 GB $HOME

Prasyarat

⚠️

Metode SSHFS hanya tersedia untuk Mac dan Linux. Pengguna Windows dapat menggunakan WSL (Windows Subsystem for Linux) atau alternatif lainnya.

Langkah 1 — Install Google Cloud SDK di Lokal

Pastikan gcloud CLI sudah terinstall di mesin lokal kamu.

terminal lokal — install gcloud
# macOS — via Homebrew
brew install --cask google-cloud-sdk
🍺 Installing google-cloud-sdk...
# atau via installer
curl -O https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-linux-x86_64.tar.gz
% Total % Received Xfrd Average Speed Time Current
100 118M 100 118M 0 0 8.5M 0 0:00:14 0:00:14 --:--:-- 9.1M
gcloud init
✓ Logged in as: you@example.com

Langkah 2 — Install SSHFS

terminal lokal — install sshfs
# macOS — macFUSE + SSHFS
brew install macfuse
brew install gromgit/fuse/sshfs-mac
✓ sshfs-mac installed successfully
# Ubuntu / Debian Linux
sudo apt-get install sshfs
Reading package lists... Done
✓ sshfs is already the newest version (3.7.2-1)

Langkah 3 — Buat Mount Point di Lokal

terminal lokal — buat mount point
# Buat direktori sebagai mount point
mkdir -p ~/cloudshell
ls -la ~/cloudshell
total 0
drwxr-xr-x 2 kamu staff 64 Mar 29 10:00 .
drwxr-xr-x 47 kamu staff 1504 Mar 29 10:00 ..
📁 Mount point siap! Sekarang lanjut ke langkah berikutnya.

Langkah 4 — Mount Cloud Shell dengan get-mount-command

gcloud cloud-shell get-mount-command adalah perintah ajaib yang secara otomatis menghasilkan perintah sshfs yang tepat — termasuk SSH key dan konfigurasi port yang benar untuk Cloud Shell kamu.

terminal lokal — mount Cloud Shell
# Pastikan Cloud Shell sudah aktif di browser dulu!
# Dapatkan mount command dan langsung eksekusi
$(gcloud cloud-shell get-mount-command ~/cloudshell)
⏳ Connecting to Cloud Shell... (dapat memakan waktu 30-60 detik)
Starting Cloud Shell instance...
Generating SSH key pair...
Authorizing session...
✓ Cloud Shell mounted successfully at ~/cloudshell
 
# Verifikasi mount berhasil
cd ~/cloudshell && ls -la
drwxr-xr-x 1 kamu staff 0 Mar 29 10:01 .ssh
drwxr-xr-x 1 kamu staff 0 Mar 29 10:01 my-project
-rw-r--r-- 1 kamu staff 512 Mar 29 10:01 .bashrc
🎉 File Cloud Shell kamu kini bisa diakses dari lokal!

Setelah mount berhasil, buka direktori ~/cloudshell di VS Code lokal kamu: code ~/cloudshell. Kamu bisa edit file langsung di Cloud Shell environment menggunakan editor lokal!

Langkah 5 — Unmount Saat Selesai

terminal lokal — unmount
# macOS
umount ~/cloudshell
# Linux
fusermount -u ~/cloudshell
✓ Cloud Shell unmounted successfully

Mount Google Cloud Storage Bucket ke VM

Selain mount Cloud Shell ke lokal, kamu juga bisa mount Google Cloud Storage (GCS) bucket langsung ke VM atau mesin lain menggunakan Cloud Storage FUSE (gcsfuse). Ini memungkinkan kamu mengakses bucket GCS layaknya folder biasa di sistem file.

🚫

Catatan penting: Cloud Shell sendiri tidak bisa digunakan untuk mount GCS bucket via FUSE. Jalankan perintah ini di Compute Engine VM atau mesin Debian/Ubuntu lokal kamu.

Install Cloud Storage FUSE

VM / mesin lokal — install gcsfuse
# Tambahkan repository gcsfuse
export GCSFUSE_REPO=gcsfuse-$(lsb_release -c -s)
echo "deb https://packages.cloud.google.com/apt $GCSFUSE_REPO main" | sudo tee /etc/apt/sources.list.d/gcsfuse.list
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
OK
sudo apt-get update && sudo apt-get install gcsfuse
Reading package lists... Done
✓ gcsfuse installed successfully

Mount GCS Bucket

VM / mesin lokal — mount GCS bucket
# Buat mount point
mkdir -p ~/gcs-mount
# Mount bucket (ganti BUCKET_NAME dengan nama bucket kamu)
gcsfuse my-awesome-bucket ~/gcs-mount
Opening GCS connection...
Mounting bucket my-awesome-bucket...
✓ File system has been successfully mounted
 
# Akses file di bucket layaknya folder biasa
ls ~/gcs-mount
data/ models/ configs/ README.md
 
# Mount dengan opsi tambahan (implicit directories)
gcsfuse --implicit-dirs --only-dir subfolder my-bucket ~/gcs-mount
✓ Mounted subfolder only
 
# Unmount
fusermount -u ~/gcs-mount
✓ Unmounted successfully
🔑

Untuk mount dan operasi baca-tulis, kamu butuh role Storage Object User (roles/storage.objectUser). Untuk hanya melihat isi bucket, role Storage Object Viewer sudah cukup.

Kelola Persistent Disk via Cloud Shell

Cloud Shell juga powerful untuk mengelola Persistent Disk pada Compute Engine VM. Kamu bisa membuat, menghubungkan, format, dan mount disk langsung dari terminal Cloud Shell.

Buat Persistent Disk Baru

cloud shell — kelola persistent disk
# Set environment variables
export ZONE="asia-southeast2-a" # Jakarta!
export DISK_NAME="my-data-disk"
 
# Buat Persistent Disk 50GB SSD
gcloud compute disks create $DISK_NAME --size 50GB --type pd-ssd --zone $ZONE
✓ Created [my-data-disk] in [asia-southeast2-a]
 
# Attach disk ke VM yang sudah ada
gcloud compute instances attach-disk my-vm --disk $DISK_NAME --zone $ZONE
✓ Disk attached successfully
 
# SSH ke VM dan format + mount disk
gcloud compute ssh my-vm --zone $ZONE

Format dan Mount Disk di dalam VM

inside VM — format & mount disk
# Cek disk yang tersedia
user@my-vm:~$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 10G 0 disk
└─sda1 8:1 0 10G 0 part /
sdb 8:16 0 50G 0 disk ← disk baru kita!
 
# Format disk dengan ext4
user@my-vm:~$ sudo mkfs.ext4 -m 0 -F -E lazy_itable_init=0,lazy_journal_init=0 /dev/sdb
Creating filesystem with 13107200 4k blocks
✓ Filesystem created successfully
 
# Buat mount point dan mount
user@my-vm:~$ sudo mkdir -p /mnt/disks/data && sudo mount /dev/sdb /mnt/disks/data
✓ Disk mounted at /mnt/disks/data
 
# Auto-mount saat reboot (tambah ke /etc/fstab)
user@my-vm:~$ echo "/dev/sdb /mnt/disks/data ext4 discard,defaults 0 2" | sudo tee -a /etc/fstab
✓ Disk will auto-mount on reboot

Perintah Cloud Shell yang Wajib Kamu Tahu

Berikut kumpulan perintah esensial yang sering digunakan dalam workflow Cloud Shell sehari-hari:

🔧 Manajemen Project

cloud shell — project management
gcloud projects list
gcloud config set project PROJECT_ID
gcloud config get-value project
gcloud auth list
gcloud auth application-default login
✓ Credentials saved to application default

📦 Cloud Storage

cloud shell — gcs operations
# Buat bucket
gcloud storage buckets create gs://my-bucket --location=ASIA-SOUTHEAST2
# Upload file
gcloud storage cp ./myfile.txt gs://my-bucket/
# Download file
gcloud storage cp gs://my-bucket/data.csv ./
# List isi bucket
gcloud storage ls gs://my-bucket/**
# Sync folder ke bucket
gcloud storage rsync -r ./dist gs://my-bucket/dist

🐳 Docker & Containers

cloud shell — docker & artifact registry
# Configure Docker untuk Artifact Registry
gcloud auth configure-docker asia-southeast2-docker.pkg.dev
✓ Docker config updated
# Build dan push image
docker build -t asia-southeast2-docker.pkg.dev/PROJECT/REPO/myapp:v1 .
docker push asia-southeast2-docker.pkg.dev/PROJECT/REPO/myapp:v1
✓ Pushed successfully

☸️ Kubernetes (GKE)

cloud shell — gke operations
# Get credentials cluster
gcloud container clusters get-credentials my-cluster --zone asia-southeast2-a
✓ kubeconfig updated
kubectl get nodes
NAME STATUS ROLES AGE VERSION
gke-my-cluster-pool-abc123 Ready <none> 5d v1.31.1
kubectl apply -f deployment.yaml
deployment.apps/myapp created

Web Preview — Lihat Aplikasi Langsung di Browser

Cloud Shell punya fitur Web Preview yang super berguna untuk development. Kamu bisa menjalankan server lokal di Cloud Shell dan langsung melihat hasilnya di browser tanpa perlu konfigurasi firewall atau port forwarding yang rumit.

1

Jalankan server di Cloud Shell

Misalnya server Python sederhana: python3 -m http.server 8080 atau server Node.js, Flask, Django, dll. Default port yang bisa dipreview: 8080, 8443, 4200, 3000.

2

Klik tombol "Web Preview"

Di toolbar Cloud Shell, klik ikon "Web Preview" (berbentuk mata/jendela). Pilih port yang kamu gunakan. Cloud Shell akan otomatis membuat URL unik HTTPS untuk preview kamu.

3

Akses URL Preview

URL preview berbentuk: https://PORT-dot-CLOUDSHELL_HOST.cloudshell.dev. URL ini bisa dibagikan sementara (selama sesi aktif) untuk demo atau review.

cloud shell — web preview demo
# Contoh: jalankan Next.js dev server
cd ~/my-nextjs-app && npm run dev -- --port 8080
▲ Next.js 14.2.0
✓ Ready on http://localhost:8080
→ Klik "Web Preview" di toolbar lalu pilih port 8080
Preview URL: https://8080-dot-abc123xyz.cloudshell.dev
 
# Contoh: Flask app di port 5000
flask run --host=0.0.0.0 --port=8080
* Running on http://0.0.0.0:8080

Kustomisasi Cloud Shell Environment

Karena direktori $HOME bersifat persistent, semua kustomisasi yang kamu lakukan akan tetap ada di sesi berikutnya. Manfaatkan ini semaksimal mungkin!

Custom .bashrc / .zshrc

cloud shell — kustomisasi .bashrc
cat >> ~/.bashrc << 'EOF'
# Aliases produktivitas
alias k='kubectl'
alias tf='terraform'
alias gcl='gcloud'
alias ll='ls -lahF --color=auto'
# Set default project
export PROJECT_ID=$(gcloud config get-value project)
export ZONE="asia-southeast2-a"
EOF
source ~/.bashrc
✓ Environment dikustomisasi!

Auto-Boot Script (.cloudshellrc)

Cloud Shell mendukung file ~/.cloudshellrc yang dieksekusi otomatis saat sesi baru dimulai. Ini perfect untuk setup environment otomatis.

cloud shell — .cloudshellrc
cat > ~/.cloudshellrc << 'EOF'
#!/bin/bash
# Auto-setup saat Cloud Shell dimulai
echo "🚀 Cloud Shell ready for $(gcloud config get-value account)"
echo "📦 Project: $(gcloud config get-value project)"
echo "🌏 Zone: $ZONE"
# Load nvm untuk Node.js version management
[ -s "$NVM_DIR/nvm.sh" ] && source "$NVM_DIR/nvm.sh"
EOF
✓ .cloudshellrc saved

Tips & Trik Produktivitas Cloud Shell

⚡ Speed

Gunakan tmux untuk multiple pane: tmux new-session. Split pane dengan Ctrl+B % (vertikal) atau Ctrl+B " (horizontal).

📂 Files

Upload file ke Cloud Shell dengan drag & drop langsung ke terminal browser, atau gunakan cloudshell open-tutorial untuk tutorial interaktif.

🔑 SSH

SSH langsung ke Cloud Shell dari terminal lokal: gcloud cloud-shell ssh. Praktis saat butuh koneksi yang lebih stabil.

🚀 Deploy

Deploy ke Cloud Run dengan satu perintah: gcloud run deploy --source .. Cloud Shell otomatis build dan push image!

🔄 Sync

Sync repositori GitHub ke Cloud Shell: cloudshell open-git-repo https://github.com/user/repo. Clone dan buka di editor sekaligus!

📊 Monitor

Gunakan htop untuk monitor resource usage di Cloud Shell VM. Atau cek quota dengan gcloud compute project-info describe.

💾 Backup

Backup dotfiles ke GCS: gcloud storage cp ~/.bashrc gs://BUCKET/dotfiles/. Restore di sesi baru dengan satu perintah!

🛡️ Security

Selalu aktifkan --authorize-session saat SSH: gcloud cloud-shell ssh --authorize-session agar credentials terpropagasi.

Pro Tips Tambahan

✅ Do This

  • Simpan scripts penting di ~/bin/
  • Gunakan gcloud config configurations untuk multi-project
  • Aktifkan Cloud Shell Editor untuk project besar
  • Set up SSH keys di ~/.ssh/ yang persisten
  • Gunakan ephemeral mode untuk testing cepat
  • Backup $HOME ke GCS secara rutin

🚫 Avoid This

  • Simpan data penting di luar $HOME
  • Biarkan Cloud Shell idle lebih dari 60 menit
  • Deploy production langsung tanpa CI/CD
  • Simpan credentials plaintext di $HOME
  • Tidak access selama 120 hari (data terhapus!)
  • Expand persistent disk (tidak bisa dilakukan)

Simulasi Terminal Cloud Shell

Coba perintah-perintah di bawah ini di terminal simulasi — ketik dan tekan Enter!

Coba: help, gcloud version, ls, whoami, df -h, mount, clear

cloud-shell · simulasi interaktif
╔══════════════════════════════════════════════╗
║ Welcome to Cloud Shell Simulator v1.0 🚀 ║
╚══════════════════════════════════════════════╝
Ketik help untuk melihat daftar perintah.
user@cloudshell:~$ 

Workflow Nyata Developer dengan Cloud Shell

Berikut contoh workflow end-to-end yang bisa langsung kamu terapkan:

🚀 Deploy Aplikasi Node.js ke Cloud Run

cloud shell — full deploy workflow
# 1. Clone repository
git clone https://github.com/kamu/my-node-app.git && cd my-node-app
✓ Cloned repository
# 2. Set project
gcloud config set project my-awesome-project
# 3. Enable APIs yang dibutuhkan
gcloud services enable run.googleapis.com cloudbuild.googleapis.com
✓ APIs enabled
# 4. Deploy langsung dari source
gcloud run deploy my-node-app --source . --region asia-southeast2 --allow-unauthenticated
Building using Dockerfile...
Pushing image to Artifact Registry...
Deploying to Cloud Run...
✓ Service URL: https://my-node-app-xyz-as.a.run.app
🎉 App live! Total waktu: ~2 menit!

🏗️ Setup Terraform Infrastructure

cloud shell — terraform workflow
terraform --version
Terraform v1.9.8 ← sudah preinstalled!
terraform init
✓ Terraform initialized
terraform plan -out=tfplan
Plan: 5 to add, 0 to change, 0 to destroy
terraform apply tfplan
Apply complete! Resources: 5 added, 0 changed, 0 destroyed

Limitasi & Hal yang Perlu Diperhatikan

⚠️

Jangan gunakan Cloud Shell untuk production workloads! Cloud Shell dirancang sebagai development tool, bukan sebagai platform hosting. Gunakan Compute Engine, Cloud Run, atau GKE untuk production.

LimitasiDetailSolusi
Inaktif timeoutSesi berakhir setelah 60 menit tidak aktifGunakan tmux, atau Cloud Shell Editor
Storage tidak expandable5 GB maksimum, tidak bisa diperbesarGunakan GCS untuk file besar
VM discardedVM dihapus setelah sesi berakhirHanya $HOME yang persistent
Data 120 hari$HOME dihapus jika tidak akses 120 hariAkses minimal sekali tiap 4 bulan
Tidak ada GPUTidak tersedia GPU untuk ML trainingGunakan Vertex AI / Colab Enterprise
FUSE limitationGCS FUSE tidak bisa dijalankan di Cloud ShellJalankan di Compute Engine VM
Weekly image updateContainer image diupdate tiap mingguPin versi tool via ~/.cloudshellrc
Organisasi controlAdmin org bisa disable Cloud ShellHubungi admin GCP organisasi kamu

Siap Memaksimalkan Cloud Shell?

Buka Google Cloud Console sekarang dan mulai eksplorasi Cloud Shell — gratis, tanpa syarat, langsung dari browser kamu.

Lebih baru Lebih lama