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 應部署在同一區域
- 全球服務可考慮多區域部署搭配動態路由