Remotion LabRemotion Lab
LambdaLambda Insights

Lambda Insights

如何為 Remotion Lambda 函式啟用 AWS Lambda Insights,以取得詳細的效能指標與監控資料,並透過 CloudWatch 進行分析。

啟用 Lambda Insights 監控

此功能自 Remotion v4.0.61 起提供。

AWS Lambda Insights 是 CloudWatch 提供的進階監控功能,可為 Remotion Lambda 函式提供詳細的效能指標,包含 CPU 使用率、記憶體用量、網路流量等資訊。

前置條件

  1. 確保使用至少 Remotion v4.0.61
  2. 若你在 v4.0.61 之前就開始使用 Remotion,需更新 AWS 使用者權限AWS 角色權限,因為此功能需要額外的權限

啟用 Lambda Insights

透過 CLI 啟用

npx remotion lambda functions deploy --enable-lambda-insights

若函式在啟用前已存在,需先刪除該函式再重新部署。

透過 Node.js API 啟用

// deploy.ts
import { deployFunction } from '@remotion/lambda';
 
const { alreadyExisted } = await deployFunction({
    createCloudWatchLogGroup: true,
    region: 'us-east-1',
    timeoutInSeconds: 120,
    memorySizeInMb: 3009,
    enableLambdaInsights: true,
});
 
// 注意:若函式先前已存在,Lambda Insights 不會被套用。
// 請先刪除舊函式再重新部署。
assert(!alreadyExisted);

為 Lambda 函式新增角色

為了讓 Lambda 實際可以將資料傳送至 CloudWatch,需要執行一次以下操作:

  1. 前往 Lambda 主控台,選取任一 Remotion Lambda 函式

  2. 點擊「Configuration」標籤

  3. 向下捲動至「Monitoring and operations tools」區段

  4. 在「Additional monitoring tools」區塊中,點擊「Edit」

  5. 將開關切換至「Enable AWS Lambda Insights」

    若已啟用,請先停用並儲存,然後再次啟用

  6. 儲存設定

這個操作會為 Lambda 函式的角色新增必要的 CloudWatch 權限。由於預設設定下所有 Lambda 函式共用同一個角色,只需執行一次即可。

查看 Lambda Insights

透過 CloudWatch 主控台

前往 CloudWatch 主控台,依照以下路徑查看:

InsightsLambda InsightsSingle function

即可查看 Remotion Lambda 函式的各項效能指標。

透過 API 回傳值

Lambda Insights 的連結也包含在 renderMediaOnLambda() 的回傳值中,可直接點擊存取。

透過 CLI

使用 --log=verbose 旗標進行 CLI 渲染時,無論是否啟用 Lambda Insights,都會輸出指向 Lambda Insights 的連結。

可查看的指標

啟用後,可在 CloudWatch Lambda Insights 中查看以下指標:

指標說明
CPU 使用率函式執行期間的 CPU 使用狀況
記憶體使用量實際使用的記憶體與配置的記憶體對比
網路流量傳入與傳出的網路流量
初始化時間(Init Duration)冷啟動所花費的時間
執行時間函式實際執行的時間
磁碟使用量/tmp 目錄的磁碟使用情況

不支援的區域

AWS 在以下區域不支援 Lambda Insights:

  • ap-southeast-4
  • ap-southeast-5
  • eu-central-2

若在這些區域部署 Lambda 函式並嘗試啟用 Lambda Insights,系統會拋出錯誤。

費用說明

AWS Lambda Insights 為付費功能,費用依據收集的指標數量與儲存時間計算。請參閱 CloudWatch 定價頁面 了解詳細費用。

相關資源