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。
建議做法:
- 在上線前閱讀 Remotion 授權條款
- 如有需要,在 Remotion Pro 購買必要的雲端渲染席位
上線前完整清單
| 項目 | 說明 | 已完成 |
|---|---|---|
| 記憶體優化 | 找到最低可靠的記憶體配置 | |
| 磁碟大小 | 確保足夠的磁碟空間支援最長影片 | |
| 最小權限 | AWS 使用者只有必要的最少權限 | |
| 憑證安全 | 憑證以環境變數儲存 | |
| 並發設定 | 每次渲染的 Lambda 數量不超過 200 | |
| 隱私設定 | 依需求設定渲染結果的存取權限 | |
| 速率限制 | 防止惡意大量渲染 | |
| 逾時設定 | 逾時時間足夠但合理 | |
| 授權合規 | 公司授權已購買(如適用) | |
| 監控設定 | CloudWatch 警報已設定 |