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 |
| —cpu | CPU 數量 | 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
延伸學習
- PCA 相關:運算服務選擇
- 本系列下一課:Firebase 無伺服器應用開發
Study Jam:雲端基礎實作 — 7/10 完成
查看系列全覽 →