跳至主要內容
ESC
Study Jam:雲端基礎實作 — 第 7/10 篇

Cloud Run 無伺服器開發

GCP

課程概述

Cloud Run 是 GCP 的全託管無伺服器容器平台。不管你用什麼語言寫的容器化應用,都能丟上去跑,而且完全不用自己管底層的基礎設施。這堂課會帶你走過 Cloud Run 的整個開發流程,從容器怎麼建構,一路到實際部署上線。

你將學到

  • 使用 Cloud Build 建構容器映像
  • 將映像推送至 Artifact Registry
  • 部署並配置 Cloud Run 服務
  • 設定自動擴展、並發與資源限制
  • 管理環境變數與密鑰

核心概念

Cloud Run 部署流程

原始碼 → Dockerfile → Cloud Build → Artifact Registry → Cloud Run

關鍵配置項

配置說明預設值
—max-instances最大實例數100
—min-instances最小實例數(避免冷啟動)0
—concurrency每實例並發請求數80
—memory記憶體512Mi
—cpuCPU 數量1
—timeout請求逾時300s

Artifact Registry vs Container Registry

Container Registry 已經退役了,現在一律改用 Artifact Registry:

# 建立 Artifact Registry 倉庫
gcloud artifacts repositories create my-repo \
  --repository-format=docker \
  --location=us-central1

# 建構並推送映像
gcloud builds submit --tag us-central1-docker.pkg.dev/PROJECT/my-repo/app

# 部署到 Cloud Run
gcloud run deploy my-service \
  --image us-central1-docker.pkg.dev/PROJECT/my-repo/app \
  --region us-central1 \
  --allow-unauthenticated

減少冷啟動

  • 設定 --min-instances=1 保持至少一個暖實例
  • 使用較小的容器映像(Alpine、distroless)
  • 將初始化邏輯移出請求處理路徑

實作重點

  • Cloud Run 僅在處理請求時計費(CPU always-on 模式例外)
  • 容器必須監聽 PORT 環境變數指定的端口
  • 使用 Secret Manager 管理敏感配置,而非環境變數
  • 善用 Cloud Run 的 revision 機制做金絲雀部署

Skill Badge 指引

Lab 連結Serverless Cloud Run Development — 完成此 lab 可獲得 Skill Badge

延伸學習

Study Jam:雲端基礎實作 — 7/10 完成 查看系列全覽 →

留言討論

徽章解鎖!