View a markdown version of this page

モニタリング - AWS Lambda

モニタリング

このページでは、AWS Lambda MicroVMs の CloudWatch ログ記録 (ビルドとランタイム) と CloudTrail 監査について説明します。

ログ記録 (CloudWatch Logs)

AWS Lambda MicroVMs は 2 つのフェーズで CloudWatch にログをストリーミングします。

ビルドログ

Lambda は、イメージの作成中にビルドログ (Dockerfile 実行からの出力、アプリケーションの起動、フック呼び出しなど) を生成します。これらのログは、ビルドロールを使用してストリーミングされ、デフォルトのロググループ /aws/lambda/microvms/<image-name> に書き込まれます。

ランタイムログ

Lambda は、実行中の MicroVM から CloudWatch にアプリケーションの stdout と stderr をストリーミングします。ランタイムログは実行ロールを使用してストリーミングされ、同じデフォルトロググループに書き込まれます。ログストリームはデフォルトで MicroVM ID に設定されます。

重要

実行ロールがない場合、アプリケーションの stdout と stderr は実行時に CloudWatch に転送されません。ランタイムログを受信するには、logs:CreateLogGrouplogs:CreateLogStreamlogs:PutLogEvents のアクセス許可を持つ実行ロールを指定します。

カスタムログの送信先

カスタムロググループとストリームは、run-microvm または create-microvm-image--logging パラメータで設定できます。

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

logStream を省略すると、デフォルトで MicroVM ID に設定されます。

次の設定を渡すことによってログ記録を明示的に無効にできます。

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

CloudTrail ロギング

Lambda MicroVM は、ユーザー、ロール、または AWS サービスによって実行されたアクションのレコードを提供するサービスである CloudTrail と統合されています。CloudTrail は、Launch Wizard のすべての API コールをイベントとしてキャプチャします。キャプチャされる呼び出しには、Lambda MicroVMs コンソールからの呼び出しと Lambda API オペレーションへのコード呼び出しが含まれます。

証跡を作成する場合は、Amazon S3 バケットへの CloudTrail イベント (Lambda MicroVMs のイベントを含む) の継続的な配信を有効にすることができます。証跡を設定しない場合でも、CloudTrail コンソールの [Event history] (イベント履歴) で最新のイベントを表示できます。

CloudTrail によって収集された情報を使用すると、Lambda MicroVMs に対するリクエスト、リクエスト元の IP アドレス、リクエスト元、リクエスト日時などの詳細を確認できます。

CloudTrail は、Lambda MicroVMs の 2 種類のイベントを記録します。1 つは管理イベント (イメージの作成や削除などのコントロールプレーンオペレーション) で、もう 1つはデータイベント (MicroVM の実行や停止などのデータプレーンオペレーション) です。デフォルトでは、証跡は管理イベントがログに記録されます。データイベントには明示的なオプトインが必要です。

管理イベント

Lambda MicroVMs 管理イベントは、デフォルトで CloudTrail に記録されるコントロールプレーンオペレーションです。管理イベントには、MicroVM イメージの作成、更新、削除に加えて、リソースの一覧表示と説明が含まれます。

次の Lambda MicroVMs アクションは管理イベントとして記録されます。

  • CreateMicrovmImage

  • DeleteMicrovmImage

  • DeleteMicrovmImageVersion

  • UpdateMicrovmImage

  • UpdateMicrovmImageVersion

  • ListMicrovmImages

  • GetMicrovmImage

  • ListMicrovmImageVersions

  • GetMicrovmImageVersion

  • ListMicrovmImageBuilds

  • GetMicrovmImageBuild

  • ListMicrovms

  • GetMicrovm

  • ListManagedMicrovmImages

データイベント

データイベントは、リソース上またはリソース内で実行されたリソースオペレーション (MicroVM の実行や終了など) に関する情報を提供します。これらのイベントは、データプレーンオペレーションとも呼ばれます。データイベントは、多くの場合、高ボリュームのアクティビティです。デフォルトでは、CloudTrail はデータイベントをログ記録しません。Lambda MicroVM のデータイベントのログ記録は明示的に有効にする必要があります。

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"] } ] }

データイベントログを有効にする

AWS CLI を使用してデータイベントログを有効にするには、高度なイベントセレクタで 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 証跡は、指定した Amazon S3 バケットに API アクティビティレコードを配信します。各ログエントリは 1 つの API リクエストを表し、発信元の ID、タイムスタンプ、リクエストパラメータ、レスポンスが含まれます。

次の例は、RunMicrovm アクションのデータイベントを示す CloudTrail ログエントリを示します。

{ "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" }