Remotion LabRemotion Lab
Cloud RunCloud Run 區域選擇

Cloud Run 區域選擇

選擇適合的 GCP 區域以部署 Remotion Cloud Run,涵蓋可用區域列表、延遲考量與費用差異。

Cloud Run 區域選擇

選擇正確的 GCP 區域對於渲染效能與費用都有重要影響。本文說明可用的區域、選擇原則與相關注意事項。

支援的區域

Remotion Cloud Run 支援所有提供 Cloud Run 服務的 GCP 區域。以下列出主要可用區域:

亞太地區

區域 ID地點建議用途
asia-east1台灣(彰化)台灣與東亞用戶
asia-east2香港香港與華南用戶
asia-northeast1日本(東京)日本與東北亞用戶
asia-northeast2日本(大阪)備援或日本西部
asia-northeast3韓國(首爾)韓國用戶
asia-southeast1新加坡東南亞用戶
asia-southeast2印尼(雅加達)印尼與馬來西亞
australia-southeast1澳洲(雪梨)澳洲與紐西蘭

美洲地區

區域 ID地點建議用途
us-central1美國(愛荷華)北美中部
us-east1美國(南卡羅來納)北美東部(預設區域)
us-east4美國(北維吉尼亞)北美東部低延遲
us-west1美國(奧勒岡)北美西部
northamerica-northeast1加拿大(蒙特婁)加拿大用戶
southamerica-east1巴西(聖保羅)南美洲用戶

歐洲地區

區域 ID地點建議用途
europe-west1比利時西歐用戶
europe-west2英國(倫敦)英國與西歐
europe-west3德國(法蘭克福)德國與中歐
europe-west4荷蘭荷蘭與西歐
europe-north1芬蘭北歐用戶

如何選擇區域

原則一:靠近使用者

選擇離你的使用者(或觸發渲染的伺服器)最近的區域,以降低:

  • API 呼叫延遲
  • Cloud Storage 上傳與下載時間

對於台灣使用者,建議優先選用 asia-east1(台灣彰化)。

原則二:與其他 GCP 資源同區域

若你同時使用 GCP 的其他服務(如 Cloud SQL、Pub/Sub、Firebase),建議將 Cloud Run 服務部署在同一區域,以減少跨區域傳輸費用。

原則三:費用考量

不同區域的定價略有差異,美國區域通常略低於亞洲或歐洲區域。以 us-central1 為最低價基準比較:

地區相對費用
美國基準
歐洲約 +10–20%
亞太約 +15–25%
澳洲約 +20–30%

最新定價請參閱 Google Cloud Run 定價頁面

設定部署區域

CLI 設定

npx remotion cloudrun services deploy --region=asia-east1

環境變數設定

.env 中設定預設區域:

REMOTION_GCP_REGION=asia-east1

Node.js API 設定

import { deployService, renderMediaOnCloudrun } from "@remotion/cloudrun";
 
// 部署時指定區域
const service = await deployService({
  projectID: "my-remotion-project",
  region: "asia-east1",
});
 
// 渲染時使用相同區域
const result = await renderMediaOnCloudrun({
  region: "asia-east1",
  serviceName: service.fullName,
  serveUrl: "https://storage.googleapis.com/...",
  composition: "MyComposition",
  codec: "h264",
});

多區域部署

若需要在全球多個地區提供低延遲渲染服務,可以在多個區域部署服務:

import { deployService } from "@remotion/cloudrun";
 
const regions = ["us-east1", "europe-west1", "asia-east1"];
 
for (const region of regions) {
  const service = await deployService({
    projectID: "my-remotion-project",
    region,
  });
  console.log(`已在 ${region} 部署:${service.fullName}`);
}

渲染時根據使用者位置動態選擇區域:

function selectRegion(userCountry: string): string {
  const regionMap: Record<string, string> = {
    TW: "asia-east1",
    JP: "asia-northeast1",
    SG: "asia-southeast1",
    US: "us-east1",
    GB: "europe-west2",
    DE: "europe-west3",
  };
  return regionMap[userCountry] ?? "us-east1";
}

Cloud Storage Bucket 與區域一致性

Cloud Storage Bucket 應與 Cloud Run 服務部署在同一區域,以避免跨區域讀取費用:

# 在 asia-east1 建立 Bucket
gsutil mb -l asia-east1 gs://my-remotion-renders-asia/
 
# 上傳站台時指定相同區域
npx remotion cloudrun sites create src/index.ts \
  --region=asia-east1 \
  --site-name=my-site

查詢目前已部署的服務區域

npx remotion cloudrun services ls --all-regions

小結

  • 台灣用戶建議使用 asia-east1(台灣彰化)
  • 選擇靠近使用者或其他 GCP 資源的區域以降低延遲
  • Cloud Run 服務與 Cloud Storage Bucket 應部署在同一區域
  • 全球服務可考慮多區域部署搭配動態路由

另請參閱