Cloud Run 費用
了解在 Google Cloud Run 上使用 Remotion 渲染影片的費用模型,包含計費方式、費用估算與優化建議。
Cloud Run 費用
Google Cloud Run 採用「用多少付多少」的計費模型,僅在服務實際處理請求時才計費,閒置時不收費。
計費組成
Cloud Run 渲染的總費用由以下部分組成:
| 費用項目 | 計費單位 | 說明 |
|---|---|---|
| CPU 費用 | vCPU 秒 | 請求處理期間使用的 CPU 資源 |
| 記憶體費用 | GB 秒 | 請求處理期間分配的記憶體 |
| 請求費用 | 每百萬次請求 | 每次呼叫 Cloud Run 的費用 |
| Cloud Storage 費用 | GB/月 + 操作次數 | 儲存站台與渲染輸出的費用 |
| 網路輸出費用 | GB | 下載渲染結果的流量費用 |
每月有免費額度(Free Tier),小量使用可能不需付費。詳見 GCP 免費方案說明。
GCP 免費額度
每個月 Cloud Run 提供以下免費額度:
| 資源 | 免費額度(每月) |
|---|---|
| CPU | 180,000 vCPU 秒 |
| 記憶體 | 360,000 GB 秒 |
| 請求 | 200 萬次 |
費用試算範例
範例一:渲染 30 秒 1080p 影片(h264)
假設:
- 使用 4 vCPU、8 GB 記憶體
- 渲染耗時約 120 秒
- 區域:
us-central1
CPU:4 vCPU × 120 秒 = 480 vCPU 秒
→ 480 × $0.00002400 = $0.01152
記憶體:8 GB × 120 秒 = 960 GB 秒
→ 960 × $0.00000250 = $0.00240
請求費用:1 次 → 約 $0.0000004(可忽略)
預估總費用:約 $0.014(約新台幣 0.45 元)
範例二:每日渲染 1000 支影片
每支影片成本:$0.014
每日 1000 支:$14
每月(30 天):$420
費用計算器
使用 Google 官方的 Cloud Run 費用計算器 可以根據你的實際需求估算費用。
如何查看帳單
# 查看目前月份費用
gcloud billing accounts list
# 使用 BigQuery 匯出詳細帳單資料
# 在 Cloud Console > 帳單 > 帳單匯出 中設定或在 Cloud Console 帳單頁面 直接查看。
費用優化策略
策略一:選擇低價區域
美國區域通常比亞洲或歐洲區域便宜 10–25%。若用戶對延遲不敏感,可考慮使用 us-central1:
npx remotion cloudrun services deploy --region=us-central1策略二:根據影片複雜度調整資源
不要為所有影片分配最大資源。根據影片類型動態選擇服務:
import { renderMediaOnCloudrun } from "@remotion/cloudrun";
function getServiceName(complexity: "simple" | "complex") {
// 簡單影片:2 CPU、4 GB
// 複雜影片:8 CPU、16 GB
return complexity === "simple"
? "remotion-render-simple-4-0-0"
: "remotion-render-complex-4-0-0";
}
const result = await renderMediaOnCloudrun({
region: "us-central1",
serviceName: getServiceName("simple"),
serveUrl: "https://storage.googleapis.com/...",
composition: "SimpleAnimation",
codec: "h264",
});策略三:設定最小實例數為 0
Cloud Run 預設在無請求時縮減到 0 個實例,確保不產生閒置費用:
npx remotion cloudrun services deploy \
--region=asia-east1 \
--min-instances=0 \
--max-instances=10注意:最小實例設為 0 時,第一次請求(冷啟動)可能需要額外 5–15 秒。若需要低延遲,可將最小實例設為 1,但這會產生持續的費用。
策略四:設定適當的逾時時間
避免設定過長的逾時時間,以防止因程式錯誤導致請求長時間掛起而產生費用:
npx remotion cloudrun services deploy \
--region=asia-east1 \
--timeout=900 # 15 分鐘,足夠渲染大多數影片策略五:定期清理舊版本服務
未使用的舊版服務雖然不計費(最小實例為 0),但保持整潔有助於管理:
# 列出所有服務
npx remotion cloudrun services ls
# 刪除舊版服務
npx remotion cloudrun services rm remotion-render-3-3-94 --region=asia-east1策略六:使用較小的輸出格式
選擇適合的影片格式可減少渲染時間(進而減少 CPU/記憶體費用):
| 格式 | 相對渲染時間 | 適用場景 |
|---|---|---|
h264 | 最快 | 一般影片 |
vp8 | 中等 | 透明背景(WebM) |
vp9 | 較慢 | 高壓縮比 |
gif | 最慢(有時) | 動態圖 |
策略七:設定費用預算警示
在 GCP 設定預算警示,避免費用超支:
- 前往 Cloud Console 預算與提醒
- 建立預算,設定月度上限
- 設定在達到 50%、90%、100% 時發送電子郵件警示
Cloud Storage 費用注意事項
渲染輸出會儲存在 Cloud Storage,需考慮:
- 儲存費用:約 $0.02/GB/月(Standard class)
- Class A 操作(寫入):每千次 $0.05
- Class B 操作(讀取):每千次 $0.004
定期清理不需要的渲染輸出:
# 刪除 30 天前的渲染輸出
gsutil -m rm gs://my-bucket/renders/**或設定 Bucket 的生命週期規則,自動刪除過期檔案:
cat > lifecycle.json << 'EOF'
{
"rule": [
{
"action": {"type": "Delete"},
"condition": {"age": 30}
}
]
}
EOF
gsutil lifecycle set lifecycle.json gs://my-remotion-bucket小結
- Cloud Run 採用「用多少付多少」,閒置時不計費
- 渲染一支 30 秒影片的費用約為新台幣 0.5–2 元
- 選擇低價區域、合適的資源配置,以及定期清理舊服務可有效降低費用
- 設定 GCP 預算警示以防止超支
- 定期清理 Cloud Storage 中的舊渲染輸出以降低儲存費用