View a markdown version of this page

監控 - AWS Lambda

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

監控

此頁面涵蓋適用於 AWS Lambda MicroVMs CloudWatch 記錄 (建置和執行時間) 和 CloudTrail 稽核。

記錄 (CloudWatch Logs)

AWS Lambda MicroVMs 會以兩個階段將日誌串流至 CloudWatch:

建置日誌

Lambda 會在映像建立期間產生建置日誌,包括Dockerfile執行、應用程式啟動和掛接調用的輸出。這些日誌會使用建置角色串流,並寫入預設日誌群組 /aws/lambda/microvms/<image-name>

執行期日誌

Lambda 會將應用程式 stdout 和 stderr 從執行 MicroVMs 串流至 CloudWatch。執行期日誌會使用執行角色串流,並寫入相同的預設日誌群組,日誌串流預設為 MicroVM ID。

重要

如果沒有執行角色,應用程式 stdout 和 stderr 不會在執行時間轉送至 CloudWatch。若要接收執行期日誌,請提供具有 logs:CreateLogGrouplogs:CreateLogStreamlogs:PutLogEvents許可的執行角色。

自訂日誌目的地

您可以透過 run-microvm或 上的 --logging 參數來設定自訂日誌群組和串流create-microvm-image

--logging '{"cloudWatch":{"logGroup":"/my-app/microvms","logStream":"custom-stream"}}'

如果您省略 logStream,它會預設為 MicroVM ID。

您可以透過傳遞下列組態來明確停用記錄:

--logging '{"disabled":{}}'

CloudTrail 日誌記錄

Lambda MicroVM 已與 CloudTrail 整合,CloudTrail 是一種服務,可提供使用者、角色或服務所採取動作的記錄 AWS 。CloudTrail 會將 Lambda MicroVMs的所有 API 呼叫擷取為事件。擷取的呼叫包括從 Lambda MicroVMs 主控台的呼叫,以及對 Lambda MicroVMs API 操作的程式碼呼叫。

如果您建立線索,則可以將 CloudTrail 事件持續交付至 Amazon S3 儲存貯體,包括 Lambda MicroVMs的事件。即使您未設定追蹤,依然可以透過 CloudTrail 主控台中的事件歷史記錄檢視最新事件。

您可以使用 CloudTrail 所收集的資訊,判斷對 Lambda MicroVMs 提出的請求、提出請求的 IP 地址、提出請求的人員、提出請求的時間,以及其他詳細資訊。

CloudTrail 會記錄兩種類型的 Lambda MicroVMs事件:管理事件 (控制平面操作,例如建立和刪除映像) 和資料事件 (資料平面操作,例如執行和終止 MicroVMs)。預設會記錄管理事件。資料事件需要明確選擇加入。

管理事件

Lambda MicroVMs 管理事件是預設在 CloudTrail 中記錄的控制平面操作。管理事件包括建立、更新和刪除 MicroVM 映像,以及列出和描述資源。

下列 Lambda MicroVMs動作會記錄為管理事件:

  • CreateMicrovmImage

  • DeleteMicrovmImage

  • DeleteMicrovmImageVersion

  • UpdateMicrovmImage

  • UpdateMicrovmImageVersion

  • ListMicrovmImages

  • GetMicrovmImage

  • ListMicrovmImageVersions

  • GetMicrovmImageVersion

  • ListMicrovmImageBuilds

  • GetMicrovmImageBuild

  • ListMicrovms

  • GetMicrovm

  • ListManagedMicrovmImages

資料事件

資料事件提供資源操作的相關資訊 (例如,執行或終止 MicroVM)。這些也稱為資料平面操作。資料事件通常是大量資料的活動。根據預設,CloudTrail 不會記錄資料事件。您必須明確啟用 Lambda MicroVMs的資料事件記錄。

Lambda MicroVMs 資料事件的 CloudTrail 資源類型為 AWS::Lambda::MicrovmImage。您可以使用 CloudTrail 主控台或 AWS CLI 來設定追蹤或事件資料存放區,以記錄資料事件。

下列 Lambda MicroVMs動作會記錄為資料事件:

  • RunMicrovm

  • TerminateMicrovm

  • SuspendMicrovm

  • ResumeMicrovm

  • CreateMicrovmAuthToken

  • CreateMicrovmShellAuthToken

若要記錄所有 MicroVM 映像的資料事件,請使用下列進階事件選取器:

{ "Name": "Log Lambda MicroVM data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Lambda::MicrovmImage"] } ] }

啟用資料事件記錄

若要使用 CLI AWS 啟用資料事件記錄,請使用進階事件選取器執行 put-event-selectors命令:

aws cloudtrail put-event-selectors \ --trail-name my-trail \ --advanced-event-selectors '[{ "Name": "Log Lambda MicroVM data events", "FieldSelectors": [ { "Field": "eventCategory", "Equals": ["Data"] }, { "Field": "resources.type", "Equals": ["AWS::Lambda::MicrovmImage"] } ] }]'

了解 CloudTrail 日誌項目

CloudTrail 追蹤會將 API 活動記錄交付至您指定的 Amazon S3 儲存貯體。每個日誌項目代表單一 API 請求,並包含發起人身分、時間戳記、請求參數和回應。

下列範例顯示 CloudTrail 日誌項目,示範 RunMicrovm動作的資料事件:

{ "eventVersion": "1.11", "userIdentity": { "type": "AssumedRole", "principalId": "A1B2C3D4E5F6G7EXAMPLE:mySessionName", "arn": "arn:aws:sts::111122223333:assumed-role/MyRole/mySessionName", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE" }, "eventTime": "2026-04-20T18:26:44Z", "eventSource": "lambda.amazonaws.com", "eventName": "RunMicrovm", "awsRegion": "us-east-1", "sourceIPAddress": "127.0.0.1", "requestParameters": { "microvmImageArn": "arn:aws:lambda:us-east-1:111122223333:microvm-image:my-image" }, "responseElements": { "microvmId": "ai-12345678-abcd-1234-ef56-123456789abc", "microvmState": "PENDING", "endpoint": "12345678-abcd-1234-ef56-123456789abc.lambda-microvm.us-east-1.on.aws", "microvmImageArn": "arn:aws:lambda:us-east-1:111122223333:microvm-image:my-image", "microvmImageVersion": "1.0" }, "requestID": "7aebcd0f-cda1-11e4-aaa2-e356da31e4ff", "eventID": "e92a3e85-8ecd-4d23-8074-843aabfe89bf", "readOnly": false, "resources": [ { "accountId": "111122223333", "type": "AWS::Lambda::MicrovmImage", "ARN": "arn:aws:lambda:us-east-1:111122223333:microvm-image:my-image" } ], "eventType": "AwsApiCall", "managementEvent": false, "recipientAccountId": "111122223333", "eventCategory": "Data" }