Lambda MicroVMs 모니터링
Lambda MicroVMs 모니터링 (Monitoring)
이 페이지는 AWS Lambda MicroVMs의 CloudWatch 로깅(빌드·런타임)과 CloudTrail 감사(auditing)를 다뤄요.
본문
로깅(CloudWatch Logs)
AWS Lambda MicroVMs는 두 단계로 로그를 CloudWatch로 스트리밍해요.
- 빌드 로그 – Lambda가 이미지 생성 중 Dockerfile 실행, 애플리케이션 시작, 훅 호출 출력을 포함한 빌드 로그를 생성합니다. 이 로그는 빌드 역할(build role)로 스트리밍되며 기본 로그 그룹
/aws/lambda-microvms/<image-name>에 기록됩니다. - 런타임 로그 – Lambda가 실행 중인 MicroVM의 애플리케이션 stdout과 stderr를 CloudWatch로 스트리밍합니다. 런타임 로그는 실행 역할(execution role)로 스트리밍되며 같은 기본 로그 그룹에 기록되고, 로그 스트림은 기본적으로 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 MicroVMs에 대한 모든 API 호출을 이벤트로 캡처해요. 캡처되는 호출에는 Lambda MicroVMs 콘솔의 호출과 Lambda MicroVMs API 작업에 대한 코드 호출이 포함돼요.
트레일을 만들면 Lambda MicroVMs 이벤트를 포함한 CloudTrail 이벤트를 Amazon S3 버킷으로 지속 전달할 수 있어요. 트레일을 구성하지 않아도 CloudTrail 콘솔의 Event history에서 가장 최근 이벤트를 볼 수 있어요.
CloudTrail이 수집한 정보를 사용해 Lambda MicroVMs에 어떤 요청이 있었는지, 요청이 만들어진 IP 주소, 누가 요청했는지, 언제 만들어졌는지, 추가 세부 정보를 확인할 수 있어요.
CloudTrail은 Lambda MicroVMs에 대해 두 가지 유형의 이벤트를 기록해요. 관리 이벤트(이미지 생성·삭제 같은 컨트롤 플레인 작업)와 데이터 이벤트(MicroVM 실행·종료 같은 데이터 플레인 작업)입니다. 관리 이벤트는 기본적으로 기록됩니다. 데이터 이벤트는 명시적 옵트인이 필요합니다.
관리 이벤트
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"] }
]
}
데이터 이벤트 로깅 활성화
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 트레일은 API 활동 기록을 지정한 Amazon S3 버킷으로 전달해요. 각 로그 항목은 단일 API 요청을 나타내며 호출자 신원, 타임스탬프, 요청 파라미터, 응답을 포함해요.
다음 예시는 RunMicrovm 액션의 데이터 이벤트를 보여주는 CloudTrail 로그 항목이에요.
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "A1B2C3D4E5F6G7EXAMPLE:mySessionName",
"arn": "arn:aws:sts::111122223333:assumed-role/MyRole/mySessionName",
"accountId": "111122223333",
"accessKeyId": "«redacted:AKIA…»"
},
"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"
}