테넌트 격리를 사용한 Lambda 함수 모니터링

테넌트 격리를 사용한 Lambda 함수 모니터링 (Monitoring Lambda functions with tenant isolation)

Amazon CloudWatch, AWS X-Ray를 사용하고 Telemetry API를 통해 확장 기능(extension)용 실시간 원격 측정 데이터에 액세스해 테넌트 격리(tenant-isolated) Lambda 함수를 모니터링할 수 있습니다.

출처: AWS 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 및 확장 기능