모니터링
이 페이지에서는 AWS Lambda MicroVM에 대한 CloudWatch 로깅(빌드 및 런타임)과 CloudTrail 감사를 다룹니다.
로깅(CloudWatch Logs)
AWS Lambda MicroVM은 다음 두 단계에 걸쳐 로그를 CloudWatch로 스트리밍합니다.
- 빌드 로그
-
Lambda는 이미지 생성 중
Dockerfile실행, 애플리케이션 시작 및 후크 간접 호출의 결과를 포함한 빌드 로그를 생성합니다. 이러한 로그는 빌드 역할을 사용하여 스트리밍되고 기본 로그 그룹인/aws/lambda/microvms/<image-name>에 기록됩니다. - 런타임 로그
-
Lambda는 실행 중인 MicroVM의 애플리케이션 stdout과 stderr를 CloudWatch로 스트리밍합니다. 런타임 로그는 실행 역할을 사용하여 스트리밍되며 동일한 기본 로그 그룹에 작성되며, 로그 스트림은 기본적으로 MicroVM ID로 설정됩니다.
중요
실행 역할이 없으면 런타임 시 애플리케이션 stdout 및 stderr가 CloudWatch로 전달되지 않습니다. 런타임 로그를 수신하려면 실행 역할에 logs:CreateLogGroup, logs:CreateLogStream 및 logs: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은 Lambda MicroVM에 대한 모든 API 직접 호출을 이벤트로 캡처합니다. 캡처되는 직접 호출에는 Lambda MicroVM 콘솔에서의 직접 호출과 Lambda MicroVM API 작업에 대한 코드 직접 호출이 포함됩니다.
추적을 생성하면 Lambda MicroVM의 이벤트를 포함한 CloudTrail 이벤트를 지속적으로 Amazon S3 버킷에 전송할 수 있습니다. 트레일을 구성하지 않은 경우에도 CloudTrail 콘솔의 이벤트 기록에서 최신 이벤트를 볼 수 있습니다.
CloudTrail에서 수집한 정보를 사용하여 Lambda MicroVM에 대해 수행된 요청, 요청이 수행된 IP 주소, 요청을 수행한 사람, 요청이 수행된 시간 및 추가 세부 정보를 확인할 수 있습니다.
CloudTrail은 Lambda MicroVM에 대해 두 가지 유형의 이벤트를 기록합니다. 하나는 관리 이벤트(이미지 생성 및 삭제와 같은 컨트롤 플레인 작업)이고, 다른 하나는 데이터 이벤트(MicroVM 실행 및 종료와 같은 데이터 플레인 작업)입니다. 관리 이벤트는 기본적으로 로깅됩니다. 데이터 이벤트에는 명시적 옵트인이 필요합니다.
관리 이벤트
Lambda MicroVM 관리 이벤트는 CloudTrail에 기본적으로 기록되는 컨트롤 플레인 작업입니다. 관리 이벤트에는 MicroVM 이미지 생성, 업데이트 및 삭제와 리소스 나열 및 설명이 포함됩니다.
다음과 같은 Lambda MicroVM 작업이 관리 이벤트로 로깅됩니다.
CreateMicrovmImageDeleteMicrovmImageDeleteMicrovmImageVersionUpdateMicrovmImageUpdateMicrovmImageVersionListMicrovmImagesGetMicrovmImageListMicrovmImageVersionsGetMicrovmImageVersionListMicrovmImageBuildsGetMicrovmImageBuildListMicrovmsGetMicrovmListManagedMicrovmImages
데이터 이벤트
데이터 이벤트는 리소스상에서 또는 리소스 내에서 수행되는 리소스 작업(예: MicroVM 실행 또는 종료)에 대한 정보를 제공합니다. 이를 데이터 플레인 작업이라고도 합니다. 데이터 이벤트는 흔히 대량 활동입니다. 기본적으로 CloudTrail은 데이터 이벤트를 로깅하지 않습니다. Lambda MicroVM에 대해 데이터 이벤트 로깅을 명시적으로 활성화해야 합니다.
Lambda MicroVM 데이터 이벤트에 대한 CloudTrail 리소스 유형은 AWS::Lambda::MicrovmImage입니다. CloudTrail 콘솔 또는 AWS CLI를 사용하여 데이터 이벤트를 로깅하도록 추적 또는 이벤트 데이터 스토어를 구성할 수 있습니다.
다음과 같은 Lambda MicroVM 작업이 데이터 이벤트로 로깅됩니다.
RunMicrovmTerminateMicrovmSuspendMicrovmResumeMicrovmCreateMicrovmAuthTokenCreateMicrovmShellAuthToken
모든 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 활동 레코드를 전송합니다. 각 로그 항목은 단일 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" }