테넌트 격리를 사용한 Lambda 함수 모니터링
테넌트 격리를 사용한 Lambda 함수 모니터링 (Monitoring Lambda functions with tenant isolation)
Amazon CloudWatch, AWS X-Ray를 사용하고 Telemetry API를 통해 확장 기능(extension)용 실시간 원격 측정 데이터에 액세스해 테넌트 격리(tenant-isolated) Lambda 함수를 모니터링할 수 있습니다.
본문
테넌트 격리 모드 로깅 이해
테넌트 격리를 사용하는 함수의 경우 JSON 로깅이 활성화되어 있으면 Lambda는 함수 로그에 테넌트 식별자를 자동으로 포함시켜 테넌트별 문제를 더 쉽게 모니터링하고 디버깅할 수 있게 합니다. Lambda는 각 실행 환경에 대해 별도의 CloudWatch 로그 스트림을 만듭니다. CloudWatch Logs Insights를 사용해 테넌트 식별자로 필터링해 특정 테넌트에 속하는 로그 스트림을 찾을 수 있습니다:
fields @logStream, @message
| filter tenantId=='BlueTenant' or record.tenantId=='BlueTenant'
| stats count() as logCount by @logStream
| sort @timestamp desc
이 파라미터를 사용해 모든 로그 스트림에서 테넌트별 로그를 검색할 수도 있습니다:
fields @message
| filter tenantId=='BlueTenant' or record.tenantId=='BlueTenant'
| limit 1000
tenantId 속성은 아래와 같이 플랫폼 이벤트(platform.start, platform.report 등)와 함수 코드에서 출력하는 사용자 지정 로그에 포함됩니다:
{
"time": "2025-10-13T19:48:06.990Z",
"type": "platform.start",
"record": {
"requestId": "a0f40320-b43c-44b3-91bf-d5b5240a1bed",
"functionArn": "arn:aws:lambda:us-east-1:xxxxxx:function:multitenant-function-1",
"version": "$LATEST",
"tenantId": "BlueTenant""
}
}
{
"timestamp": "2025-10-13T19:48:06.992Z",
"level": "INFO",
"requestId": "a0f40320-b43c-44b3-91bf-d5b5240a1bed",
"tenantId": "BlueTenant"",
"message": "custom log line1"
}
{
"timestamp": "2025-10-13T19:48:07.022Z",
"level": "WARN",
"requestId": "a0f40320-b43c-44b3-91bf-d5b5240a1bed",
"tenantId": "BlueTenant"",
"message": "custom log line2"
}
더 알아보기 (Learn more)
- Lambda JSON 로깅
- CloudWatch Logs Insights
- Lambda Telemetry API 및 확장 기능