기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
샘플링 규칙 구성
AWS X-Ray 콘솔을 사용하여 서비스의 샘플링 규칙을 구성할 수 있습니다. 샘플링 구성을 통한 능동적 추적을 AWS 서비스 지원하는 X-Ray SDK는 샘플링 규칙을 사용하여 기록할 요청을 결정합니다.
샘플링 규칙 구성
다음 사용 사례에 대한 샘플링을 구성할 수 있습니다.
-
API 게이트웨이 진입점 — API 게이트웨이는 샘플링 및 활성 추적을 지원합니다. API 단계에서 적극 추적을 활성화하려면 Amazon API Gateway 액티브 트레이싱 지원 대상 AWS X-Ray 단원을 참조하십시오.
-
AWS AppSync— 샘플링 및 활성 추적을 AWS AppSync 지원합니다. AWS AppSync 요청에 대한 활성 추적을 활성화하려면 AWS X-Ray를 사용한 추적을 참조하십시오.
-
컴퓨팅 플랫폼 기반 인스트루먼트 X-Ray SDK — Amazon EC2, Amazon ECS AWS Elastic Beanstalk또는 같은 컴퓨팅 플랫폼을 사용하는 경우 애플리케이션이 최신 X-Ray SDK로 계측된 경우 샘플링이 지원됩니다.
샘플링 규칙 사용자 정의
샘플링 규칙을 사용자 지정하여 기록하는 데이터의 양을 제어할 수 있습니다. 코드를 수정하거나 다시 배포하지 않고도 샘플링 동작을 수정할 수도 있습니다. 샘플링 규칙은 X-Ray SDK에 기준 세트에 대해 얼마나 많은 요청을 기록할지 알려줍니다. 기본적으로 X-Ray SDK는 매초 첫 번째 요청과 추가 요청의 5%를 기록합니다. 초당 하나의 요청은 리저버입니다. 이는 서비스가 요청을 처리 중인 동안 하나 이상의 트레이스가 매초 기록되도록 합니다. 5퍼센트는 리저버 크기를 넘는 추가 요청이 샘플링되는 비율입니다.
코드에 포함시키는 JSON 문서에서 샘플링 규칙을 읽도록 X-Ray SDK를 구성할 수 있습니다. 그러나 여러 서비스 인스턴스를 실행할 때 각 인스턴스는 독립적으로 샘플링을 수행합니다. 이로 인해 샘플링되는 요청의 전체 백분율이 증가합니다. 모든 인스턴스의 리저버가 함께 효과적으로 추가되기 때문입니다. 또한 로컬 샘플링 규칙을 업데이트하려면 코드를 다시 배포해야 합니다.
X-Ray 콘솔에서 샘플링 규칙을 정의하고 X-Ray 서비스에서 규칙을 읽도록 SDK를 구성하면 이러한 문제를 모두 피할 수 있습니다. 서비스는 각 규칙의 리저버를 관리하고, 서비스의 각 인스턴스에 할당량을 할당하여 실행 중인 인스턴스의 수에 따라 리저버를 고르게 배포합니다. 리저버 제한은 설정한 규칙에 따라 계산됩니다. 그리고 규칙이 서비스에 구성되어 있기 때문에 추가로 배포하지 않고도 규칙을 관리할 수 있습니다.
참고
X-Ray는 샘플링 규칙을 적용할 때 최선의 방법을 사용하며, 경우에 따라 유효 샘플링 속도가 구성된 샘플링 규칙과 정확히 일치하지 않을 수 있습니다. 하지만 시간이 지나면서 샘플링된 요청 수는 구성된 비율에 가까워야 합니다.
이제 Amazon CloudWatch 콘솔 내에서 X-Ray 샘플링 규칙을 구성할 수 있습니다. X-Ray 콘솔을 계속 사용할 수도 있습니다.
샘플링 규칙 옵션
다음과 같은 옵션을 각 규칙에 사용할 수 있습니다. 문자열 값은 와일드카드를 사용하여 단일 문자(?
) 또는 0개 이상의 문자(*
)와 일치시킬 수 있습니다.
샘플링 규칙 옵션
-
규칙 이름(문자열) - 규칙의 고유한 이름입니다.
-
우선 순위(1~9999 사이의 정수) - 샘플링 규칙의 우선 순위입니다. 서비스에서 규칙의 우선 순위를 오름차순으로 평가하며 일치하는 첫 번째 규칙으로 샘플링을 결정합니다.
-
리저버 (음수가 아닌 정수) – 고정 비율을 적용하기 전의 초당 구성과 일치하는 요청의 일정한 수. 리저버는 서비스에서 직접 사용하지 않지만 규칙을 총체적으로 사용하여 모든 서비스에 적용됩니다.
-
속도(0~100 사이의 정수) - 리저버가 소진된 후, 계측과 일치하는 요청의 백분율입니다. 콘솔에서 샘플링 규칙을 구성할 때 0에서 100 사이의 백분율을 선택합니다. JSON 문서를 사용하여 클라이언트 SDK에서 샘플링 규칙을 구성할 때는 0에서 1 사이의 백분율 값을 입력합니다.
-
서비스 이름 (문자열) - 추적 맵에 나타나는 계측 서비스의 이름입니다.
-
X-Ray SDK – 레코더에서 구성한 서비스 이름.
-
Amazon API Gateway –
.api-name
/stage
-
-
서비스 유형 (문자열) - 추적 맵에 나타나는 서비스 유형입니다. X-Ray SDK의 경우 적절한 플러그인을 적용하여 서비스 유형을 설정합니다.
-
AWS::ElasticBeanstalk::Environment
— AWS Elastic Beanstalk 환경 (플러그인). -
AWS::EC2::Instance
– Amazon EC2 인스턴스 (플러그인). -
AWS::ECS::Container
– 아마존 ECS 컨테이너 (플러그인). -
AWS::APIGateway::Stage
– Amazon API Gateway 단계 -
AWS::AppSync::GraphQLAPI
— AWS AppSync API 요청.
-
-
호스트(문자열) - HTTP 호스트 헤더에 있는 호스트 이름.
-
HTTP 메서드(문자열) – HTTP 요청 메서드.
-
URL 경로(문자열) - 요청의 URL 경로.
-
X-Ray SDK – HTTP 요청 URL의 경로 부분.
-
-
리소스 ARN (문자열) - 서비스를 실행하는 AWS 리소스의 ARN입니다.
-
X-Ray SDK – 지원되지 않습니다. SDK는 리소스 ARN이
*
로 설정된 규칙만 사용할 수 있습니다. -
Amazon API Gateway – 스테이지 ARN.
-
-
(선택 사항) 속성(키와 값) – 샘플링 결정을 내릴 때 알려진 세그먼트 속성.
-
X-Ray SDK – 지원되지 않습니다. SDK는 속성을 지정하는 규칙을 무시합니다.
-
Amazon API Gateway – 원본 HTTP 요청의 헤더.
-
샘플링 규칙 예
예 – 리저버가 없고 비율이 낮은 기본 규칙
기본 규칙의 리저버와 비율을 수정할 수 있습니다. 기본 규칙은 다른 규칙과 일치하지 않는 요청에 적용됩니다.
-
리저버:
0
-
속도:
5
(JSON 문서를 사용하여 구성한 경우0.05
)
예 – 문제가 있는 경로에 대한 모든 요청을 추적하는 디버깅 규칙
디버깅을 위해 우선 순위가 높은 규칙이 일시적으로 적용되었습니다.
-
규칙 이름:
DEBUG – history updates
-
우선 순위:
1
-
리저버:
1
-
속도:
100
(JSON 문서를 사용하여 구성한 경우1
) -
서비스 이름:
Scorekeep
-
서비스 유형:
*
-
호스트:
*
-
HTTP 메서드:
PUT
-
URL 경로:
/history/*
-
리소스 ARN:
*
예 – POST에 대한 더 높은 최소 비율
-
규칙 이름:
POST minimum
-
우선 순위:
100
-
리저버:
10
-
속도:
10
(JSON 문서를 사용하여 구성한 경우.1
) -
서비스 이름:
*
-
서비스 유형:
*
-
호스트:
*
-
HTTP 메서드:
POST
-
URL 경로:
*
-
리소스 ARN:
*
샘플링 규칙을 사용하도록 서비스 구성
콘솔에서 구성한 샘플링 규칙을 사용하려면 X-Ray SDK에 추가 구성이 필요합니다. 샘플링 전략 구성에 대한 자세한 내용은 해당 언어의 구성 주제를 참조하십시오.
API 게이트웨이의 경우 Amazon API Gateway 액티브 트레이싱 지원 대상 AWS X-Ray 단원을 참조하십시오.
샘플링 결과 보기
X-Ray 콘솔 샘플링 페이지에는 서비스가 각 샘플링 규칙을 사용하는 방법에 대한 자세한 정보가 표시됩니다.
Trend(추세) 열에는 규칙이 지난 몇 분간 사용된 방법이 표시됩니다. 각 열에는 10초 동안의 통계가 표시됩니다.
샘플링 통계
-
총 일치된 규칙: 이 규칙과 일치한 요청 수입니다. 이 수에는 이 규칙과 일치했을 수 있었지만 먼저 우선 순위가 더 높은 규칙과 일치한 요청은 포함되지 않습니다.
-
총 샘플링 수: 기록된 요청 수입니다.
-
고정 비율로 샘플링됨: 규칙의 고정 비율을 적용하여 샘플링된 요청 수입니다.
-
리저버 한도로 샘플링됨: 가 할당한 할당량을 사용하여 샘플링된 요청 수입니다.
-
리저버에서 빌림: 리저버에서 빌려 샘플링된 요청 수입니다. 서비스에서 요청을 규칙에 처음 일치시킬 때 X-Ray가 아직 할당량을 할당하지 않았습니다. 그러나 리저버가 1이상인 경우 X-Ray가 할당량을 할당할 때까지 서비스는 초당 트레이스 하나를 빌립니다.
샘플링 통계와 서비스가 샘플링 규칙을 사용하는 방법에 대한 자세한 내용은 X-Ray API에 샘플링 규칙 사용 단원을 참조하십시오.
다음 단계
X-Ray API를 사용하여 샘플링 규칙을 관리할 수 있습니다. API를 사용하여 일정을 기반으로 또는 경보나 알림에 대한 응답으로 규칙을 프로그래밍 방식으로 생성하고 업데이트할 수 있습니다. 지침 및 추가 규칙 예제는 AWS X-Ray API로 샘플링, 그룹 및 암호화 설정 구성 단원을 참조하십시오.
X-Ray SDK와 X-Ray API를 사용하여 샘플링 규칙을 읽고, 샘플링 결과를 보고하고, 샘플링 대상을 얻을 AWS 서비스 수도 있습니다. 서비스는 각 규칙을 적용하는 빈도를 추적하고, 우선 순위에 따라 규칙을 평가하며, 요청이 X-Ray가 아직 서비스에 할당량을 할당하지 않은 규칙과 일치하는 경우 리저버에서 빌려야 합니다. 서비스가 샘플링에 API를 사용하는 방법에 대한 자세한 내용은 X-Ray API에 샘플링 규칙 사용 단원을 참조하십시오.
X-Ray SDK가 샘플링 API를 호출할 때, X-Ray 대몬(daemon)을 프록시로 사용합니다. TCP 포트 2000을 이미 사용하는 경우, 다른 포트에서 프록시를 실행하도록 데몬을 구성할 수 있습니다. 세부 정보는 AWS X-Ray 데몬 설정하기를 참조하세요.