AWS X-Ray에 대한 Amazon API Gateway 액티브 트레이싱 지원
사용자 요청이 Amazon API Gateway API를 통해 기본 서비스로 이동하는 동안 X-Ray를 사용하여 사용자 요청을 추적하고 분석할 수 있습니다. API Gateway는 모든 API Gateway 엔드포인트 유형(리전, 엣지 최적화, 프라이빗)에 대해 X-Ray 추적을 지원합니다. X-Ray를 사용할 수 있는 모든 AWS 리전에서 Amazon API Gateway와 함께 X-Ray를 사용할 수 있습니다. 자세한 내용을 알아보려면 Amazon API Gateway 개발자 안내서의 AWS X-Ray를 사용한 API 게이트웨이 API 실행 추적을 참조하세요.
참고
X-Ray는 API 게이트웨이를 통한 REST API에 대한 추적만 지원합니다.
AWS X-Ray에 대한 Amazon API Gateway 액티브 트레이싱 지원 API 스테이지에서 활성 추적을 활성화하여 수신 요청을 샘플링하고 추적을 X-Ray에 전송합니다.
API 스테이지에서 활성 추적을 활성화하려면
https://console.aws.amazon.com/apigateway/
에서 Amazon API Gateway 콘솔을 엽니다. -
API를 선택합니다.
-
스테이지를 선택합니다.
-
로그/추적 탭에서 X-Ray Tracing 활성화를 선택한 다음 변경 사항 저장을 선택합니다.
-
왼쪽 탐색 창에서 Resources(리소스)를 선택합니다.
-
새로운 설정을 사용하여 API를 다시 배포하려면 Actions(작업) 드롭다운을 선택한 다음, Deploy API(API 배포)를 선택합니다.
API 게이트웨이는 X-Ray 콘솔에서 정의하는 샘플링 규칙을 사용하여 기록할 요청을 결정합니다. API에만 적용되는 규칙이나 특정 헤더가 포함된 요청에만 적용되는 규칙을 생성할 수 있습니다. API 게이트웨이는 단계 및 요청에 대한 세부 정보와 함께 세그먼트의 속성에 헤더를 기록합니다. 자세한 내용은 샘플링 규칙 구성 단원을 참조하십시오.
참고
API Gateway HTTP 통합을 통해 REST API를 트레이싱할 때 각 세그먼트의 서비스 이름은 API Gateway에서 HTTP 통합 엔드포인트로 향하는 요청 URL 경로로 설정되므로 각 고유 URL 경로에 대한 X-Ray 트레이스 맵에 서비스 노드가 생성됩니다. URL 경로가 많으면 트레이스 맵이 노드 한도인 10,000개를 초과하여 오류가 발생할 수 있습니다.
API Gateway에서 생성하는 서비스 노드의 수를 최소화하려면 POST를 통해 URL 쿼리 문자열 또는 요청 본문에 파라미터를 전달하는 것을 고려해 보십시오. 어느 방법을 사용하든 파라미터가 URL 경로에 포함되지 않게 되므로 고유한 URL 경로와 서비스 노드 수가 줄어들 수 있습니다.
모든 수신 요청에 대해 API 게이트웨이는 추적 헤더가 아직 없는 수신 HTTP 요청에 추적 헤더를 추가합니다.
X-Amzn-Trace-Id: Root=1-5759e988-bd862e3fe1be46a994272793
X-Ray 트레이스 ID 형식
X-Ray trace_id
는 하이픈으로 구분된 3개의 숫자로 구성됩니다. 예: 1-58406520-a006649127e371903a2de979
. 여기에는 다음이 포함됩니다.
-
버전 번호(
1
) -
원래 요청의 시간(8자리 16진수를 사용하는 Unix 에포크 시간)
예를 들어, 에포크 시간으로 2016년 12월 1일 오전 10시(PST)는
1480615200
초이며, 16진수로는58406520
입니다. -
트레이스의 96비트 글로벌 고유 식별자(24자리 16진수)
활성 추적이 비활성화된 경우에도 요청을 샘플링하고 추적을 시작한 서비스에서 요청이 오면 스테이지는 여전히 세그먼트를 기록합니다. 예를 들어, 구성된 웹 애플리케이션은 HTTP 클라이언트를 사용하여 API 게이트웨이 API를 직접 호출할 수 있습니다. X-Ray SDK를 사용하여 HTTP 클라이언트를 계측하면 샘플링 결정이 포함된 추적 헤더가 발신 요청에 추가됩니다. API 게이트웨이는 추적 헤더를 읽고 샘플링된 요청에 대한 세그먼트를 생성합니다.
API 게이트웨이를 사용하여 API에 대한 Java SDK를 생성하는 경우 AWS SDK 클라이언트를 수동으로 구성하는 것과 동일한 방식으로 클라이언트 빌더와 함께 요청 핸들러를 추가하여 SDK 클라이언트를 구성할 수 있습니다. 자세한 내용은 Java용 X-Ray SDK로 AWS SDK 호출 추적하기 섹션을 참조하세요.