gcloud CLI 速查表:GCP 最常用 100+ 指令完整整理
「熟練 gcloud CLI,就像拿到一把萬能鑰匙——GCP 的每扇門都能打開。」
不管你是準備 ACE 認證考試,還是平常在管 GCP 資源,gcloud CLI 都是你會最常開的工具。Console 一直點來點去容易出錯,也很難重現;gcloud 指令則可以寫成腳本、放進 CI/CD、丟進版本控制,做起事來省力很多。
這篇速查表整理了 100+ 條最常用的 gcloud 指令,按服務分類、每條都附中文說明,方便你收藏、列印、隨時查。
這篇文章涵蓋:
- ✅ 安裝與初始設定
- ✅ 13 大服務分類速查(Compute Engine、Cloud Storage、GKE、Cloud Run 等)
- ✅ 進階技巧:格式化輸出、篩選、組態切換、批次操作
- ✅ ACE 考試常考指令整理
- ✅ 一頁精簡版速查表(最常用 30 條)
一、安裝與初始設定
macOS: brew install --cask google-cloud-sdk
Linux / WSL: curl https://sdk.cloud.google.com | bash
Windows: 從 Google Cloud SDK 安裝頁面 下載安裝程式。
gcloud init # 初始化(登入 + 選專案 + 選區域)
gcloud version # 確認目前版本
gcloud components update # 更新到最新版
gcloud components install kubectl # 安裝額外元件(kubectl)
gcloud components install beta # 安裝 beta 指令
二、環境設定與帳號管理
這是用 gcloud 的第一步,先把身份、專案和預設區域都設好。
gcloud auth login # 登入 Google 帳號(開啟瀏覽器驗證)
gcloud auth activate-service-account --key-file=KEY.json # 以服務帳號登入(CI/CD 常用)
gcloud auth list # 列出已驗證的帳號
gcloud auth revoke ACCOUNT_EMAIL # 撤銷帳號驗證
gcloud auth print-access-token # 取得 access token(API 呼叫用)
gcloud auth application-default login # 設定應用程式預設憑證(ADC)
gcloud config set project PROJECT_ID # 設定預設專案
gcloud config set compute/region asia-east1 # 設定預設區域
gcloud config set compute/zone asia-east1-b # 設定預設可用區
gcloud config list # 查看目前所有設定值
gcloud config unset compute/zone # 取消特定設定
gcloud config get project # 查看目前專案 ID
提示: 養成習慣,每次開新終端先
gcloud config list確認一下,免得操作到錯的專案。ACE 考試裡也有不少題在考你懂不懂預設專案和區域怎麼設。
三、Compute Engine(虛擬機)
Compute Engine 是 GCP 的 IaaS 核心,也是 ACE 考試很愛考的地方。更多概念可參考 GCP 運算服務完整介紹。
# 建立 VM 執行個體
gcloud compute instances create my-vm \
--zone=asia-east1-b --machine-type=e2-medium \
--image-family=debian-12 --image-project=debian-cloud --boot-disk-size=50GB
gcloud compute instances list # 列出所有執行個體
gcloud compute instances describe my-vm --zone=asia-east1-b # 查看詳細資訊
gcloud compute instances start my-vm --zone=asia-east1-b # 啟動已停止的執行個體
gcloud compute instances stop my-vm --zone=asia-east1-b # 停止執行個體(停止計費 CPU/RAM)
gcloud compute instances delete my-vm --zone=asia-east1-b # 刪除執行個體
gcloud compute ssh my-vm --zone=asia-east1-b # SSH 連線
gcloud compute ssh my-vm --zone=asia-east1-b --command="uptime" # SSH 執行指令
# 設定標籤(帳單分類用)
gcloud compute instances add-labels my-vm --zone=asia-east1-b --labels=env=prod,team=backend
# 變更機器類型(需先停止 VM)
gcloud compute instances set-machine-type my-vm --zone=asia-east1-b --machine-type=e2-standard-4
磁碟、快照與映像
# 建立持久磁碟
gcloud compute disks create my-disk --zone=asia-east1-b --size=100GB --type=pd-ssd
# 將磁碟掛載到 VM
gcloud compute instances attach-disk my-vm --disk=my-disk --zone=asia-east1-b
# 建立磁碟快照
gcloud compute snapshots create my-snapshot --source-disk=my-disk --source-disk-zone=asia-east1-b
gcloud compute snapshots list # 列出所有快照
# 從快照建立新磁碟
gcloud compute disks create restored-disk --source-snapshot=my-snapshot --zone=asia-east1-b
# 從 VM 磁碟建立自訂映像
gcloud compute images create my-image --source-disk=my-vm --source-disk-zone=asia-east1-b
gcloud compute images list --filter="family:debian" # 列出公開映像系列
gcloud compute images delete my-image # 刪除自訂映像
四、Cloud Storage(物件儲存)
注意:以下都用新版 gcloud storage 指令,gsutil 已經被標記為 Legacy,建議全面換成 gcloud storage。更多儲存策略可參考 GCP 儲存服務選型指南。
# 建立儲存桶
gcloud storage buckets create gs://my-bucket --location=asia-east1 --default-storage-class=STANDARD
gcloud storage buckets list # 列出所有儲存桶
gcloud storage buckets describe gs://my-bucket # 查看詳細資訊
gcloud storage cp local-file.txt gs://my-bucket/ # 上傳檔案
gcloud storage cp gs://my-bucket/file.txt ./local-dir/ # 下載檔案
gcloud storage cp -r ./my-folder gs://my-bucket/ # 遞迴上傳整個目錄
gcloud storage rsync ./local-dir gs://my-bucket/backup/ --recursive # 同步(只傳差異)
gcloud storage ls gs://my-bucket/ # 列出物件
gcloud storage ls -l gs://my-bucket/ # 列出物件詳細資訊
gcloud storage rm gs://my-bucket/old-file.txt # 刪除物件
gcloud storage rm gs://my-bucket/old-folder/ --recursive # 遞迴刪除
# 設定生命週期(自動刪除過期物件)
gcloud storage buckets update gs://my-bucket --lifecycle-file=lifecycle.json
# 啟用統一存取控制
gcloud storage buckets update gs://my-bucket --uniform-bucket-level-access
gcloud storage buckets delete gs://my-bucket # 刪除儲存桶(需先清空)
gsutil 遷移提醒: 舊腳本裡的
gsutil cp、gsutil rsync,直接換成gcloud storage就行。新版跑起來更快,輸出也更一致。
五、GKE(Google Kubernetes Engine)
ACE 考試會考你建叢集和一些基本操作。更多 GKE 概念可參考 GKE 入門指南。
# 建立叢集(Autopilot 模式,推薦)
gcloud container clusters create-auto my-cluster --region=asia-east1
# 建立叢集(Standard 模式)
gcloud container clusters create my-cluster \
--zone=asia-east1-b --num-nodes=3 --machine-type=e2-standard-4
gcloud container clusters list # 列出所有叢集
gcloud container clusters describe my-cluster --zone=asia-east1-b # 查看詳細資訊
# 取得叢集憑證(配置 kubectl)
gcloud container clusters get-credentials my-cluster --zone=asia-east1-b
gcloud container clusters resize my-cluster --zone=asia-east1-b --num-nodes=5 # 調整節點數
gcloud container clusters upgrade my-cluster --zone=asia-east1-b --master # 升級版本
gcloud container get-server-config --zone=asia-east1-b # 列出可用 GKE 版本
gcloud container clusters delete my-cluster --zone=asia-east1-b # 刪除叢集
# 節點池管理
gcloud container node-pools list --cluster=my-cluster --zone=asia-east1-b
gcloud container node-pools create gpu-pool \
--cluster=my-cluster --zone=asia-east1-b --machine-type=n1-standard-4 --num-nodes=2
注意: 拿到憑證後就能用
kubectl操作叢集了。GKE Enterprise(前身是 Anthos)可以做多叢集管理,不過 ACE 考試主要還是考單叢集操作。
六、Cloud Run(無伺服器容器)
部署容器最簡單的方式。更多 Serverless 選型可參考 GCP 無伺服器方案比較。
# 從容器映像部署
gcloud run deploy my-service \
--image=gcr.io/PROJECT_ID/my-image:latest --region=asia-east1 --allow-unauthenticated
# 從原始碼直接部署(自動 build)
gcloud run deploy my-service --source=. --region=asia-east1
gcloud run services list --region=asia-east1 # 列出所有服務
gcloud run services describe my-service --region=asia-east1 # 查看服務詳細資訊
gcloud run revisions list --service=my-service --region=asia-east1 # 查看修訂版本
# 流量切換到特定修訂版本
gcloud run services update-traffic my-service --region=asia-east1 \
--to-revisions=my-service-00005-abc=100
# 設定環境變數
gcloud run services update my-service --region=asia-east1 \
--set-env-vars="DB_HOST=10.0.0.1,APP_ENV=production"
gcloud run services update my-service --region=asia-east1 --max-instances=10 # 最大執行個體數
gcloud run services logs read my-service --region=asia-east1 # 查看日誌
gcloud run services delete my-service --region=asia-east1 # 刪除服務
七、Cloud Functions(無伺服器函式)
雖然 GCP 已經把第二代 Cloud Functions 併進 Cloud Run functions,但 gcloud functions 指令還是能用,而且大家都還在用。
# 部署 HTTP 觸發函式(第二代)
gcloud functions deploy my-function --gen2 --runtime=nodejs20 \
--trigger-http --allow-unauthenticated --region=asia-east1 --entry-point=helloWorld
# 部署事件觸發函式(Cloud Storage 事件)
gcloud functions deploy process-upload --gen2 --runtime=python312 \
--trigger-event-filters="type=google.cloud.storage.object.v1.finalized" \
--trigger-event-filters="bucket=my-bucket" --region=asia-east1
gcloud functions list # 列出所有函式
gcloud functions describe my-function --region=asia-east1 # 查看函式詳細資訊
gcloud functions call my-function --region=asia-east1 # 呼叫函式(測試用)
gcloud functions call my-function --region=asia-east1 --data='{"name":"Bobo"}' # 傳入資料
gcloud functions logs read my-function --region=asia-east1 # 查看函式日誌
gcloud functions delete my-function --region=asia-east1 # 刪除函式
八、Cloud SQL(關聯式資料庫)
# 建立 MySQL 執行個體
gcloud sql instances create my-sql --database-version=MYSQL_8_0 \
--tier=db-n1-standard-2 --region=asia-east1
# 建立 PostgreSQL 執行個體
gcloud sql instances create my-pg --database-version=POSTGRES_15 \
--tier=db-custom-2-8192 --region=asia-east1
gcloud sql instances list # 列出所有執行個體
gcloud sql instances describe my-sql # 查看詳細資訊
gcloud sql connect my-sql --user=root # 連線到 Cloud SQL
gcloud sql databases create my-database --instance=my-sql # 建立資料庫
gcloud sql databases list --instance=my-sql # 列出資料庫
gcloud sql users create app-user --instance=my-sql --password=SECURE_PASSWORD # 建立使用者
gcloud sql instances patch my-sql --backup-start-time=02:00 # 設定自動備份
gcloud sql instances restart my-sql # 重新啟動
gcloud sql instances delete my-sql # 刪除執行個體
九、IAM(身份與存取管理)
IAM 是 GCP 安全性的核心,也是 ACE 考試裡最重要的一塊。更多安全概念可參考 GCP 安全性完整指南。
gcloud projects get-iam-policy PROJECT_ID # 列出專案 IAM 政策
# 為使用者新增角色
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="user:alice@example.com" --role="roles/editor"
# 移除使用者角色
gcloud projects remove-iam-policy-binding PROJECT_ID \
--member="user:alice@example.com" --role="roles/editor"
gcloud iam roles list # 列出所有預定義角色
gcloud iam roles describe roles/compute.admin # 查看角色權限
# 建立服務帳號
gcloud iam service-accounts create my-sa --display-name="My Service Account"
gcloud iam service-accounts list # 列出所有服務帳號
# 為服務帳號建立金鑰
gcloud iam service-accounts keys create key.json \
--iam-account=my-sa@PROJECT_ID.iam.gserviceaccount.com
# 為服務帳號授予角色
gcloud projects add-iam-policy-binding PROJECT_ID \
--member="serviceAccount:my-sa@PROJECT_ID.iam.gserviceaccount.com" \
--role="roles/storage.objectViewer"
# 模擬服務帳號身份
gcloud auth print-access-token \
--impersonate-service-account=my-sa@PROJECT_ID.iam.gserviceaccount.com
# 建立自訂角色
gcloud iam roles create customViewer --project=PROJECT_ID \
--title="Custom Viewer" --permissions=compute.instances.list,compute.instances.get
ACE 考試重點: 搞懂 Principal(主體)+ Role(角色)+ Resource(資源)三者怎麼綁在一起。盡量用預定義角色,守住最小權限原則。服務帳號金鑰能不用就不用,改走 Workload Identity 或 impersonation。
十、VPC 與防火牆(網路管理)
gcloud compute networks create my-vpc --subnet-mode=custom # 建立 VPC(自訂子網路模式)
# 建立子網路
gcloud compute networks subnets create my-subnet \
--network=my-vpc --region=asia-east1 --range=10.0.1.0/24
gcloud compute networks list # 列出所有 VPC
gcloud compute networks subnets list # 列出所有子網路
# 建立防火牆規則(允許 SSH)
gcloud compute firewall-rules create allow-ssh \
--network=my-vpc --allow=tcp:22 --source-ranges=0.0.0.0/0 --target-tags=allow-ssh
# 建立防火牆規則(允許 HTTP/HTTPS)
gcloud compute firewall-rules create allow-web \
--network=my-vpc --allow=tcp:80,tcp:443 --source-ranges=0.0.0.0/0
gcloud compute firewall-rules list # 列出所有防火牆規則
gcloud compute firewall-rules describe allow-ssh # 查看特定規則
gcloud compute firewall-rules delete allow-ssh # 刪除防火牆規則
gcloud compute addresses create my-ip --region=asia-east1 # 預留靜態外部 IP
gcloud compute addresses list # 列出預留 IP
# 建立 Cloud NAT(讓私有 VM 連外網)
gcloud compute routers create my-router --network=my-vpc --region=asia-east1
gcloud compute routers nats create my-nat --router=my-router --region=asia-east1 \
--auto-allocate-nat-external-ips --nat-all-subnet-ip-ranges
十一、Cloud Build(CI/CD)
更多 CI/CD 實戰可參考 Cloud Build CI/CD 完整指南。
gcloud builds submit --tag=gcr.io/PROJECT_ID/my-image:v1 # 提交建置(Dockerfile)
gcloud builds submit --config=cloudbuild.yaml # 使用設定檔建置
gcloud builds list # 列出建置記錄
gcloud builds describe BUILD_ID # 查看建置詳情
gcloud builds log BUILD_ID # 查看建置日誌
gcloud builds triggers list # 列出觸發器
gcloud builds triggers run my-trigger --branch=main # 手動執行觸發器
# 建立 GitHub 觸發器
gcloud builds triggers create github \
--repo-name=my-repo --repo-owner=my-org --branch-pattern="^main$" \
--build-config=cloudbuild.yaml
十二、Pub/Sub(訊息佇列)
更多概念可參考 Pub/Sub 事件驅動架構。
gcloud pubsub topics create my-topic # 建立主題
gcloud pubsub topics list # 列出所有主題
gcloud pubsub topics publish my-topic --message="Hello!" # 發布訊息
# 發布訊息並附帶屬性
gcloud pubsub topics publish my-topic --message="Order created" \
--attribute="type=order,priority=high"
gcloud pubsub subscriptions create my-sub --topic=my-topic # 建立訂閱
gcloud pubsub subscriptions list # 列出所有訂閱
gcloud pubsub subscriptions pull my-sub --limit=10 # 拉取訊息
gcloud pubsub subscriptions pull my-sub --limit=10 --auto-ack # 拉取並自動確認
gcloud pubsub subscriptions delete my-sub # 刪除訂閱
gcloud pubsub topics delete my-topic # 刪除主題
十三、監控與日誌
gcloud logging read "resource.type=gce_instance" --limit=20 # 讀取 VM 日誌
# 讀取 Cloud Run 服務日誌
gcloud logging read "resource.type=cloud_run_revision AND \
resource.labels.service_name=my-service" --limit=50
gcloud logging read "severity >= ERROR" --limit=20 # 讀取錯誤日誌
gcloud logging read "timestamp >= \"2026-03-19T00:00:00Z\"" --limit=100 # 指定時間範圍
# 寫入自訂日誌
gcloud logging write my-custom-log "Test message" --severity=INFO
gcloud logging metrics list # 列出日誌指標
# 建立日誌匯出 Sink
gcloud logging sinks create my-sink storage.googleapis.com/my-log-bucket \
--log-filter="severity >= WARNING"
gcloud alpha monitoring policies list # 列出告警政策
gcloud monitoring uptime list-configs # 查看 uptime check
十四、帳單與專案管理
# 建立新專案
gcloud projects create my-new-project --name="My New Project" --organization=ORG_ID
gcloud projects list # 列出所有專案
gcloud projects describe PROJECT_ID # 查看專案詳情
gcloud config set project OTHER_PROJECT_ID # 切換專案
gcloud projects delete PROJECT_ID # 刪除專案(30 天內可復原)
gcloud billing accounts list # 列出帳單帳戶
gcloud billing projects describe PROJECT_ID # 查看專案帳單連結
# 連結帳單帳戶
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
gcloud services enable compute.googleapis.com # 啟用 API
# 批次啟用多個 API
gcloud services enable compute.googleapis.com container.googleapis.com \
run.googleapis.com cloudfunctions.googleapis.com
gcloud services list --enabled # 列出已啟用 API
gcloud services list --available # 列出所有可用 API
十五、進階技巧
格式化輸出
gcloud compute instances list --format=json # JSON 格式(程式處理用)
gcloud compute instances list --format=yaml # YAML 格式
gcloud compute instances list \
--format="table(name, zone.basename(), machineType.basename(), status)" # 自訂欄位
gcloud compute instances list --format="value(name)" # 只輸出值(腳本用)
gcloud compute instances list --format="csv(name, zone, status)" # CSV 格式
篩選結果
gcloud compute instances list --filter="status=RUNNING" # 篩選執行中的 VM
gcloud compute instances list --filter="zone:asia-east1" # 篩選特定區域
gcloud compute instances list --filter="name~prod" # 名稱包含 prod
gcloud compute instances list --filter="status=RUNNING AND zone:asia-east1" # 組合條件
gcloud compute instances list --filter="labels.env=production" # 篩選標籤
組態切換(多環境管理)
gcloud config configurations create dev-config # 建立命名組態
gcloud config configurations activate dev-config # 切換到指定組態
gcloud config set project dev-project-id # 在組態中設定專案
gcloud config configurations list # 列出所有組態
gcloud config configurations delete old-config # 刪除組態
gcloud compute instances list --configuration=prod-config # 用特定組態執行(不切換)
實用情境: 同時要顧 dev、staging、prod 三個環境時,開三個 configuration 來快速切換,就不會不小心動到正式環境。
批次操作
# 批次刪除符合條件的 VM
gcloud compute instances list --filter="name~test" --format="value(name, zone)" \
| while read NAME ZONE; do
gcloud compute instances delete $NAME --zone=$ZONE --quiet
done
gcloud compute instances delete my-vm --zone=asia-east1-b --quiet # --quiet 跳過確認
gcloud compute instances list --project=other-project-id # --project 操作其他專案
十六、ACE 考試常考 gcloud 指令
ACE 考試會考你實際操作 gcloud CLI 的能力。以下是出現頻率最高的指令,更多考試策略請參考 ACE 認證考試攻略。
# ===== 專案與帳號(必考)=====
gcloud config set project PROJECT_ID # 切換專案
gcloud config set compute/zone ZONE # 設定預設可用區
gcloud auth activate-service-account # 服務帳號驗證
gcloud config configurations activate NAME # 切換組態
# ===== Compute Engine(必考)=====
gcloud compute instances create ... # 建立 VM(注意各參數)
gcloud compute instances stop/start/delete # 生命週期管理
gcloud compute ssh VM_NAME # SSH 連線
gcloud compute snapshots create ... # 建立快照(備份)
gcloud compute images create ... # 建立自訂映像
# ===== IAM 與安全(必考)=====
gcloud projects add-iam-policy-binding ... # 授予角色(主體+角色+資源)
gcloud iam service-accounts create ... # 建立服務帳號
gcloud iam roles describe ROLE # 查看角色權限
# ===== GKE(必考)=====
gcloud container clusters create ... # 建立叢集
gcloud container clusters get-credentials # 取得 kubectl 憑證
gcloud container clusters resize ... # 調整節點數
# ===== 無伺服器(必考)=====
gcloud run deploy ... # 部署 Cloud Run
gcloud functions deploy ... # 部署 Cloud Functions
# ===== 儲存與資料庫(必考)=====
gcloud storage cp / rsync # Cloud Storage 操作
gcloud sql instances create ... # 建立 Cloud SQL
gcloud sql connect INSTANCE # 連線 Cloud SQL
# ===== API 管理(必考)=====
gcloud services enable SERVICE_NAME # 啟用 API
gcloud services list --enabled # 列出已啟用 API
考試技巧: ACE 不會叫你背完整語法,但會考你「這個任務該用哪個指令」。重點是搞懂每個指令拿來做什麼、關鍵參數有哪些。
十七、一頁速查表(精簡版)
收藏這 30 條,覆蓋 80% 的日常操作:
# ===== 帳號與設定 =====
gcloud init # 初始化
gcloud auth login # 登入
gcloud config set project PROJECT_ID # 切換專案
gcloud config set compute/zone ZONE # 設定預設區域
gcloud config list # 查看設定
# ===== Compute Engine =====
gcloud compute instances create NAME ... # 建立 VM
gcloud compute instances list # 列出 VM
gcloud compute instances stop NAME # 停止 VM
gcloud compute instances delete NAME # 刪除 VM
gcloud compute ssh NAME # SSH 連線
# ===== Cloud Storage =====
gcloud storage cp FILE gs://BUCKET/ # 上傳檔案
gcloud storage cp gs://BUCKET/FILE ./ # 下載檔案
gcloud storage ls gs://BUCKET/ # 列出物件
gcloud storage buckets create gs://BUCKET # 建立桶
# ===== GKE =====
gcloud container clusters create NAME ... # 建立叢集
gcloud container clusters get-credentials NAME # 取得憑證
# ===== Cloud Run =====
gcloud run deploy SERVICE --image=IMAGE # 部署服務
gcloud run services list # 列出服務
# ===== IAM =====
gcloud iam service-accounts create NAME # 建立服務帳號
gcloud projects add-iam-policy-binding ... # 授予角色
# ===== 資料庫 =====
gcloud sql instances create NAME ... # 建立 Cloud SQL
gcloud sql connect INSTANCE # 連線資料庫
# ===== 網路 =====
gcloud compute networks create NAME # 建立 VPC
gcloud compute firewall-rules create NAME ... # 建立防火牆規則
# ===== 服務管理 =====
gcloud services enable SERVICE_NAME # 啟用 API
gcloud services list --enabled # 列出已啟用 API
gcloud projects list # 列出專案
# ===== 實用旗標 =====
--format=json # JSON 輸出
--filter="KEY=VALUE" # 篩選結果
--quiet # 跳過確認
--project=PROJECT_ID # 指定專案
總結
gcloud CLI 就是每個 GCP 工程師的瑞士刀。有了這份速查表,你可以:
- 快速查找:按服務分類,找到你需要的指令
- 準備考試:ACE 考試常考指令都已標記
- 提升效率:善用
--format、--filter、configurations提升操作速度 - 自動化:把常用指令組合成腳本,放進 CI/CD 管道
建議把這篇加入書籤,哪天忘了指令就回來翻一下。等你對 GCP 越來越上手,這些指令自然會變成肌肉記憶。
下一步學習建議:
- 想深入 Compute Engine?看 GCP 運算服務介紹
- 想學 CI/CD 自動化?看 Cloud Build 實戰
- 想準備 ACE 考試?看 ACE 認證考試完整攻略
- 想了解 IaC?看 Terraform on GCP