Remotion LabRemotion Lab
Cloud RunCloud Run 費用

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 提供以下免費額度:

資源免費額度(每月)
CPU180,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 設定預算警示,避免費用超支:

  1. 前往 Cloud Console 預算與提醒
  2. 建立預算,設定月度上限
  3. 設定在達到 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 中的舊渲染輸出以降低儲存費用

另請參閱