Google Cloud(GCP)是什麼?服務分類、區域、安全與費用指南
Google Cloud(過去常稱 Google Cloud Platform,簡稱 GCP)不只提供虛擬機器,還涵蓋容器、儲存、資料庫、資料分析、AI、網路、安全與監控。真正的難點不是記住所有服務名稱,而是依工作負載、維運能力、資料位置、安全與成本,選出足夠簡單且可擴充的組合。
Google Cloud(GCP)是什麼?
Google Cloud 是 Google 提供的公有雲產品與服務集合。使用者可在 Google Cloud Console、gcloud CLI、Cloud APIs、語言用戶端程式庫或 Terraform 中建立與管理資源。
「GCP」仍是常見縮寫,但官方產品品牌現在多直接使用 Google Cloud。平台包含超過百項產品,因此不建議從產品清單倒推架構;先寫清楚應用程式需要什麼,再選對應服務比較有效率。
先用需求選服務,不要先選產品名稱
| 需求 | 可先評估的服務 | 適合情境 | 仍要自行決定的事 |
|---|---|---|---|
| 虛擬機器 | Compute Engine | 舊系統搬遷、特殊 OS/核心設定、需要完整主機控制 | 修補、備份、網路規則、擴縮與高可用設計 |
| 無伺服器容器 | Cloud Run | HTTP 服務、API、事件處理、流量變化大的容器工作負載 | 容器映像、逾時、併發、冷啟動、最低執行個體與資料庫連線 |
| Kubernetes | Google Kubernetes Engine(GKE) | 分散式容器、微服務、需要 Kubernetes API 與生態工具 | 叢集模式、節點、網路、工作負載權限與升級策略 |
| 物件檔案 | Cloud Storage | 圖片、備份、靜態資產、資料湖與大量非結構化物件 | location、storage class、生命週期、公開權限與刪除保護 |
| 交易型 SQL | Cloud SQL | MySQL、PostgreSQL 或 SQL Server 應用程式 | 高可用、備份、連線上限、版本與讀取擴充 |
| 大量資料分析 | BigQuery | 資料倉儲、BI、批次或串流分析 | 資料位置、分區分群、查詢掃描量、保留與治理 |
| AI/ML 平台 | Vertex AI | 模型訓練、部署、生成式 AI 與 MLOps | 模型選擇、資料治理、評估、安全與推論成本 |
計算服務怎麼選:Compute Engine、Cloud Run 或 GKE?
Compute Engine:控制最多,維運責任也最多
Compute Engine 是核心 IaaS 服務,可建立 VM 或裸機執行個體,並控制 OS、核心、開機磁碟、CPU、記憶體、儲存與網路。適合無法容器化的舊系統、特殊驅動或必須自行管理主機的工作負載。
Cloud Run:先專注應用程式與容器
Cloud Run 是全代管的無伺服器容器環境,可依請求或 CPU 使用情況自動調整執行個體。對一般 Web 服務、API、背景工作與事件處理,通常比先建立 Kubernetes 叢集更簡單。它不是「不用設計」:仍要處理狀態、資料庫連線、權限、觀測與成本。
GKE:需要 Kubernetes 編排時再承擔複雜度
GKE 適合需要 Kubernetes API、多服務編排、自訂控制器、進階網路政策或既有 Kubernetes 工作負載的團隊。Autopilot 會代管更多節點與容量管理;Standard 則保留較多節點池控制。若只是部署少量 HTTP 容器,GKE 不一定是第一選擇。
儲存不是只有 Cloud Storage
Cloud Storage 是把資料以 object 存在 bucket 的代管服務,適合圖片、影片、備份、靜態檔案與資料湖;它不等同一般本機磁碟或共享檔案伺服器。
- Object storage:Cloud Storage,依存取頻率、位置與保留需求選擇設定。
- Block storage:Hyperdisk、Persistent Disk 或 Local SSD,主要提供 VM 使用。
- File storage:Filestore 等代管檔案服務,適合需要共享檔案系統語意的工作負載。
選擇前要確認 IOPS、延遲、多人掛載、耐久性、備份、跨區複寫與輸出流量費用,不要只比較每 GB 單價。
資料庫與 BigQuery 的用途不同
應用程式的交易資料與分析查詢通常不是同一個問題:
- Cloud SQL:代管 MySQL、PostgreSQL 與 SQL Server,適合一般關聯式交易應用。
- Spanner:需要高擴展與一致性關聯資料庫時評估,架構與成本也更複雜。
- Firestore:文件型資料庫,適合行動與 Web 應用的文件資料模型。
- Bigtable:大量、低延遲、寬欄式資料工作負載。
- BigQuery:無伺服器資料倉儲與分析平台,適合大規模 SQL、BI、資料科學與治理,不是拿來直接替代一般 OLTP 資料庫。
先從一致性、交易、資料模型、查詢型態、延遲、規模、備份與可攜性評估,而不是只看產品是否標示「全代管」。
資料分析、訊息與 AI 服務怎麼串?
常見資料路徑會把 Cloud Storage 作為檔案或資料湖來源,以 Pub/Sub 接收事件,透過 Dataflow 或其他處理工具轉換,再進入 BigQuery 分析。需要模型開發、部署與 MLOps 時,可評估 Vertex AI。
這些服務可以整合,但整合不會自動解決資料品質、schema、重送、權限、隱私、模型評估與成本。先定義資料擁有者、保留規則及錯誤處理,再選工具。
網路服務不只是一個 VPC
Google Cloud 的網路與連線產品包含 VPC、Cloud Load Balancing、Cloud DNS、Cloud CDN、Cloud VPN、Cloud Interconnect 與防火牆政策等。設計時應確認:
- 哪些服務需要公開 IP,哪些應只走內部網路或 Private Service Connect。
- 負載平衡器的範圍、TLS 憑證、健康檢查與後端容錯。
- 辦公室或資料中心到 Google Cloud 使用 VPN 還是專線。
- 跨區、跨洲與對外網路流量可能產生的費用與延遲。
- DNS、憑證、DDoS 防護與 Web 應用程式防火牆的責任分工。
Region 與 zone 怎麼選?
region 是由多個 zone 組成的獨立地理區域。部分資源是 global、regional 或 zonal;資源範圍會影響可以連接的對象、故障隔離與資料位置。
選擇位置時不要只找「最近」:
- 延遲:靠近主要使用者與相依系統,通常能降低網路延遲。
- 可用性:重要服務可跨多個 zone;需要更高故障獨立性時再評估跨 region。
- 資料落地:確認法規、合約與組織政策對資料位置的要求。
- 產品供應:GPU、TPU、機型與部分服務不是每個 zone 都有。
- 成本:跨 region 通訊通常比同 region 更昂貴,跨區備援也會增加資源與流量成本。
官方 locations 頁面會持續更新,不適合在文章中寫死一份國家或城市清單;部署前應查詢服務當下支援的 location。
Google Cloud 安全嗎?先理解共享責任
Google 負責保護雲端基礎設施,客戶仍要保護帶到雲端的資料、身分、存取與工作負載設定。使用代管服務可以減少部分基礎設施維運,但不代表應用程式、權限或資料會自動安全。
實務起點包括:
- 用 IAM 控制「哪個 principal 對哪個 resource 有哪個 role」,避免在正式環境廣泛使用 Owner/Editor 等基本角色。
- 人員與工作負載使用不同身分,服務帳戶只授予必要權限,避免散落長效金鑰。
- 密碼與 API key 存在 Secret Manager;需要管理加密金鑰時評估 Cloud KMS。
- 啟用並保留合適的 Audit Logs、Cloud Logging、Cloud Monitoring 與告警。
- 為公開服務設定最小網路暴露、TLS、備份、復原測試、漏洞與映像掃描。
Google Cloud 預設會加密儲存中的客戶內容,但加密只是整體安全的一部分;錯誤 IAM、公開 bucket、程式漏洞或外洩憑證仍可能造成事件。
API、CLI、用戶端程式庫與開源工具
大多數 Google Cloud 服務都可透過 Console、gcloud CLI、REST/RPC API 或官方用戶端程式庫操作。用戶端程式庫支援 Application Default Credentials(ADC),可減少應用程式自行處理 token 的程式碼;本機開發與正式環境應使用適合該環境的身分方式。
需要可重複部署時,可使用 Terraform 等 Infrastructure as Code。GKE 使用開源 Kubernetes,Cloud Monitoring 也能接收 Prometheus 與 OpenTelemetry 資料;但「支援開源」不等於沒有供應商差異,仍要評估 API、資料格式、網路與代管功能造成的可攜性。
GCP 如何計費?先做估價,再做費用控制
多數服務依實際資源與用量計費,但單位可能是執行時間、vCPU、記憶體、儲存量、操作次數、查詢掃描量或網路流量。免費額度與折扣有適用條件,也可能變更,不應把「Free Tier」理解成所有使用都免費。
- 先用Google Cloud Pricing Calculator依實際 region、機型、儲存、流量與使用時間估價。
- 建立 project/service/label 層級的預算與多段門檻告警。
- 為 Compute、BigQuery、Logging、網路輸出與閒置資源設定監控或配額。
- 定期用 Billing reports 與匯出資料分析異常成長。
三種常見架構怎麼起步?
| 情境 | 可行起點 | 後續需要補強 |
|---|---|---|
| 小型 Web/API | Cloud Run+Cloud SQL+Cloud Storage | 資料庫連線、高可用、Secret Manager、Cloud Logging/Monitoring、預算告警 |
| 容器微服務 | GKE+Artifact Registry+Cloud Load Balancing | 叢集模式、Workload Identity、網路政策、升級、觀測與災難復原 |
| 資料分析平台 | Cloud Storage+Pub/Sub+Dataflow+BigQuery | schema、資料品質、分區、重送、治理、查詢成本與資料位置 |
這些是起點,不是固定配方。實際架構仍取決於流量、可用性目標、法規、團隊技能、既有系統與預算。
建立第一個專案前的檢查清單
- 定義工作負載、資料類型、使用者地區、SLO/RTO/RPO 與法規需求。
- 建立獨立 project 與 billing,設定命名、labels、預算及告警。
- 選擇 region/zone,確認服務、GPU/TPU 或機型是否供應。
- 先設 IAM 與工作負載身分,再部署服務;避免共用過度權限的帳號。
- 使用 Console 快速驗證後,把重要資源改成 CLI 或 Terraform 可重複部署。
- 在上線前完成監控、日誌、備份、復原測試、安全掃描與成本估價。
常見問題
Cloud Run 和 GKE 哪個比較好?
沒有絕對答案。Cloud Run 適合希望少管基礎設施、以容器部署 HTTP 或事件工作負載的團隊;GKE 適合明確需要 Kubernetes 編排、控制器、網路或生態工具的系統。不要為了「未來可能用到」就先承擔叢集複雜度。
把系統放上 Google Cloud 就會高可用嗎?
不會。單一 VM、單一 zone 或未設定高可用的資料庫仍可能中斷。高可用需要多 zone/region、健康檢查、備份、資料複寫、容量與復原演練等設計。
Google Cloud 預設加密,還需要設定權限嗎?
需要。加密不能取代 IAM、網路限制、密碼管理與應用程式安全。資料即使加密,擁有合法憑證但權限過大的身分仍可能讀取它。
預算設定為固定金額後會自動停機嗎?
不會。budget 預設用於追蹤與通知,不是硬性支出上限。需要自動化控制時,要評估延遲、資料保留與停用服務的風險,再另外實作。
重點整理
- Google Cloud 的價值在於可組合的計算、儲存、資料、AI、網路、安全與管理服務,不是單一「一站式」產品。
- Compute Engine、Cloud Run 與 GKE 的差異主要在控制、代管程度與編排需求。
- region/zone、安全共享責任、IAM、監控與費用控制必須在一開始納入設計。
- API、CLI、用戶端程式庫與 Terraform 能讓操作可重複,但身分與權限仍要妥善設計。















