설명
Lambda에서 X-Ray 추적 데이터가 부족하면 호출 지연과 오류 원인을 분석하기 어렵습니다. Active 모드는 샘플링된 요청의 추적을 자동 전송합니다. 현재 PassThrough 모드는 추적 문맥을 전달하지만 자동 전송하지 않으며, 함수 코드에서 별도로 추적을 보낼 수는 있습니다.
잠재적 영향
- 여러 서비스에 걸친 호출 경로와 지연 구간을 파악하기 어려울 수 있습니다.
- 로그와 메트릭만으로 원인을 좁히기 어려운 경우 장애 대응이 늦어질 수 있습니다.
해결 방법
Lambda의 자동 추적이 필요하면 tracing_config.mode를 Active로 설정하세요. 실행 역할에 X-Ray 전송 권한을 부여하고 필요한 애플리케이션 계측도 구성하세요. 실제 추적 수집을 확인하고, 샘플링되는 추적을 로그와 메트릭으로 보완하세요.
예시
추적 설정 비교용 발췌입니다. 배포 파일과 실행 역할, 지원되는 런타임 등 나머지 함수 설정은 별도로 준비하세요.
변경 전
hcl
resource "aws_lambda_function" "example" {
filename = "lambda_function_payload.zip"
function_name = "lambda_function_name"
role = aws_iam_role.iam_for_lambda.arn
handler = "exports.test"
tracing_config {
mode = "PassThrough"
}
}
변경 후
hcl
resource "aws_lambda_function" "example" {
filename = "lambda_function_payload.zip"
function_name = "lambda_function_name"
role = aws_iam_role.iam_for_lambda.arn
handler = "exports.test"
tracing_config {
mode = "Active"
}
}
변경 후에는 Active 추적을 사용합니다. 모든 호출이 기록되는 것은 아니며, 외부 서비스 호출의 세부 추적에는 해당 코드의 계측이 필요할 수 있습니다.