Remotion LabRemotion Lab
LambdaLambda 自動刪除渲染

Lambda 自動刪除渲染

透過 AWS S3 生命週期規則自動刪除 Remotion Lambda 渲染結果,支援 1 天、3 天、7 天及 30 天後自動清理

Lambda 自動刪除渲染

Remotion Lambda 渲染完成後,輸出的影片與中繼檔案會儲存在 AWS S3 儲存桶中。若不定期清理,這些檔案會持續累積並產生儲存費用。本頁說明如何設定自動刪除機制,以管理儲存空間與降低成本。

自動刪除選項

在渲染 API 中設定刪除後效期

renderMediaOnLambda() 提供 deleteAfter 參數,可指定渲染輸出在 S3 上保留的天數。到期後,S3 生命週期規則會自動刪除相關物件。

import { renderMediaOnLambda } from "@remotion/lambda/client";
 
const { renderId, bucketName } = await renderMediaOnLambda({
  region: "us-east-1",
  functionName: "remotion-render-4-0-0-mem2048mb-disk2048mb-120sec",
  serveUrl: "https://remotionlambda-abc123.s3.us-east-1.amazonaws.com/sites/my-video/index.html",
  composition: "MyVideo",
  inputProps: {},
  codec: "h264",
  // 指定渲染輸出保留天數,到期後自動刪除
  deleteAfter: "1-day",
});

deleteAfter 接受以下預設值:

說明
"1-day"1 天後刪除
"3-days"3 天後刪除
"7-days"7 天後刪除
"30-days"30 天後刪除

設定此參數後,Remotion 會自動在 S3 物件上套用對應的標籤,並依賴 S3 生命週期政策完成實際刪除。

在 CLI 中設定刪除後效期

使用 CLI 渲染時,可透過 --delete-after 旗標設定:

npx remotion lambda render \
  https://remotionlambda-abc123.s3.us-east-1.amazonaws.com/sites/my-video/index.html \
  MyVideo \
  --delete-after="7-days"

S3 生命週期規則

Remotion 會在 S3 儲存桶上自動設定生命週期規則。生命週期規則會依據 S3 物件標籤來判斷是否刪除:

S3 標籤對應效期
remotion-delete-after=1-day1 天
remotion-delete-after=3-days3 天
remotion-delete-after=7-days7 天
remotion-delete-after=30-days30 天

注意:生命週期規則由 Remotion 在第一次部署或渲染時自動建立。你不需要手動在 AWS 控制台設定這些規則。

自動刪除的覆蓋範圍

deleteAfter 會套用至以下 S3 路徑下的所有物件:

  • renders/<renderId>/ — 渲染輸出(最終影片、截圖等)
  • renders/<renderId>/chunks/ — 分塊渲染的暫存片段
  • renders/<renderId>/progress.json — 渲染進度追蹤檔案

最終輸出的影片檔案也包含在刪除範圍內。若你需要長期保存輸出,請在刪除前將檔案複製到另一個 S3 儲存桶或其他儲存服務。

手動清理舊渲染

若有大量尚未設定 deleteAfter 的舊渲染輸出,可透過 AWS CLI 進行批次清理:

# 列出儲存桶中的所有渲染資料夾
aws s3 ls s3://remotionlambda-<region>-<accountid>/renders/
 
# 刪除特定渲染的所有輸出
aws s3 rm s3://remotionlambda-<region>-<accountid>/renders/<renderId>/ --recursive
 
# 刪除所有超過 30 天未修改的渲染(需搭配 find 工具)

或者使用 AWS 控制台,在 S3 儲存桶頁面中手動設定生命週期規則。

進階:自訂 S3 生命週期規則

若你需要更細緻的控制,可以在 AWS S3 控制台中自訂生命週期規則:

  1. 前往 AWS S3 控制台
  2. 找到以 remotionlambda- 開頭的儲存桶
  3. 點擊「管理」標籤,選擇「建立生命週期規則」
  4. 設定篩選條件(例如:前綴 renders/
  5. 設定到期動作(例如:30 天後刪除物件)
{
  "Rules": [
    {
      "ID": "DeleteOldRenders",
      "Status": "Enabled",
      "Filter": {
        "Prefix": "renders/"
      },
      "Expiration": {
        "Days": 30
      }
    }
  ]
}

費用考量

S3 的儲存費用按月計算,每 GB 約 $0.023(視區域而定)。若你的渲染輸出量大,定期清理可以顯著降低費用。

建議依照業務需求設定合理的 deleteAfter 值:

  • 臨時渲染預覽"1-day"
  • 短期業務資料"7-days"
  • 需要審核的輸出"30-days"
  • 需長期保存:不設定 deleteAfter,或設定後先複製到歸檔儲存桶

相關資源