Remotion LabRemotion Lab
LambdaLambda 部署清單

Lambda 部署清單

上線前的 Remotion Lambda 生產環境檢查清單,涵蓋記憶體優化、權限設定、並發控制、授權合規等關鍵項目

生產環境檢查清單

你已完成 Remotion Lambda 的解決方案,準備好將專案推向世界了——恭喜!在正式上線之前,請逐一確認以下清單,確保 Lambda 能穩定運行。

記憶體優化

為 Lambda 函式配置過多記憶體會增加渲染成本。將函式的記憶體減少 25%,成本同樣會降低 25%!

建議做法:多次重新部署函式,逐步降低記憶體大小,找到低成本與渲染可靠性之間的最佳平衡點。

# 部署一個較低記憶體的函式進行測試
npx remotion lambda functions deploy --memory=1536
 
# 如果渲染穩定,繼續降低
npx remotion lambda functions deploy --memory=1024

從預設的 2048 MB 開始逐步降低,測試你的影片組合在各記憶體配置下是否仍能可靠渲染。

最大檔案大小

Lambda 的最大輸出檔案大小約為磁碟空間的一半

建議做法

  • 調整 Lambda 的磁碟空間參數,以容納你希望支援的最長影片長度
  • 測試輸出檔案的大小,確保不會超出限制
  • 若你的影片基於使用者輸入,請防止使用者渲染過長的影片
# 部署具有更大磁碟空間的函式
npx remotion lambda functions deploy --disk=10240

權限設定

確保你的 AWS 使用者只有必要的最少權限,並將憑證儲存為環境變數。

建議做法

  • 查閱權限頁面,了解所需的最少權限
  • 不要使用 AWS 根帳號的存取金鑰
  • 將憑證儲存於環境變數中,切勿硬編碼於程式碼內
# 使用環境變數設定憑證
export AWS_ACCESS_KEY_ID="your-access-key"
export AWS_SECRET_ACCESS_KEY="your-secret-key"

選擇正確的並發設定

若你使用了 framesPerLambda 選項,請確保每次渲染的 Lambda 函式數量不超過 200 個上限。

建議做法:依照你的影片長度和所需渲染速度調整 framesPerLambda

import { renderMediaOnLambda } from '@remotion/lambda/client';
 
const { renderId, bucketName } = await renderMediaOnLambda({
  region: 'us-east-1',
  functionName: 'remotion-render-bds9aab',
  serveUrl: process.env.REMOTION_SERVE_URL!,
  composition: 'MyVideo',
  inputProps: {},
  codec: 'h264',
  // 確保 totalFrames / framesPerLambda <= 200
  framesPerLambda: 20,
});

詳見並發設定文件。

儲存桶隱私設定

預設情況下,渲染後的影片在儲存桶中是公開存取的。

建議做法:若需要保護渲染結果,使用 privacy 設定:

const { renderId, bucketName } = await renderMediaOnLambda({
  // ...
  privacy: 'private',  // 設為私有
});

renderMediaOnLambda()renderStillOnLambda() 均支援此設定。

速率限制

考慮是否有可能讓使用者觸發大量影片渲染,這些費用將計入你的 AWS 帳單。

建議做法:實作速率限制器,防止惡意行為者大量渲染影片:

  • 限制每位使用者每分鐘/小時的渲染次數
  • 實作渲染佇列,避免同時觸發過多渲染
  • 監控 AWS CloudWatch 以偵測異常使用模式

逾時設定

Lambda 函式的預設逾時時間應該已足夠,因為影片渲染是高度並行的。但仍建議依實際需求調整:

建議做法

  • 測試你的影片組合,確認渲染時間的上限
  • 設定足夠高的逾時時間,確保渲染不會因逾時而失敗
  • 不要設定過長的逾時,以避免因 bug 導致函式長時間運行累積費用
# 部署具有自訂逾時時間的函式(單位:秒)
npx remotion lambda functions deploy --timeout=240

有效的公司授權

超過 3 人的公司需要購買雲端渲染授權才能使用 Remotion Lambda。

建議做法

上線前完整清單

項目說明已完成
記憶體優化找到最低可靠的記憶體配置
磁碟大小確保足夠的磁碟空間支援最長影片
最小權限AWS 使用者只有必要的最少權限
憑證安全憑證以環境變數儲存
並發設定每次渲染的 Lambda 數量不超過 200
隱私設定依需求設定渲染結果的存取權限
速率限制防止惡意大量渲染
逾時設定逾時時間足夠但合理
授權合規公司授權已購買(如適用)
監控設定CloudWatch 警報已設定

參閱