기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS AppSync에서 요청 추적에 AWS X-Ray 사용
AWS X-Ray를 사용하여 AWS AppSync에서 실행되는 요청을 추적할 수 있습니다. X-Ray를 사용할 수 있는 모든 AWS 리전에서 AWS AppSync와 함께 X-Ray를 사용할 수 있습니다. X-Ray는 전체 GraphQL 요청에 대한 자세한 개요를 제공합니다. 이를 통해 API 및 기본 해석기와 데이터 원본의 지연 시간을 분석할 수 있습니다. X-Ray 서비스 맵을 사용하여 X-Ray와 통합된 모든 AWS 서비스를 포함한 요청의 지연 시간을 확인할 수 있습니다. 또한 샘플링 규칙을 구성하여 지정한 기준에 따라 어떤 요청을 어떤 샘플링 속도로 기록할지를 X-Ray에 지정할 수도 있습니다.
X-Ray의 샘플링에 대한 자세한 내용은 AWS X-Ray 콘솔의 샘플링 규칙 구성을 참조하세요.
설정 및 구성
AWS AppSync 콘솔을 통해 GraphQL API에 대한 AppSync 추적을 활성화할 수 있습니다.
-
AWS AppSync 콘솔에 로그인합니다.
-
탐색 창에서 설정을 선택합니다.
-
X-Ray에서 Enable X-Ray(X-Ray 활성화)를 설정합니다.
-
Save(저장)를 선택합니다. 이제 X-Ray 추적이 API에 대해 활성화됩니다.
AWS CLI 또는 AWS CloudFormation을 사용하는 경우 xrayEnabled
속성을 true
로 설정하여 새 AWS AppSync API를 만들거나 기존 AWS AppSync API를 업데이트할 수도 있습니다.
AWS AppSync API에 대해 X-Ray 추적이 활성화되면 적절한 권한을 가진 계정에 AWS Identity and Access Management 서비스 연결 역할이 자동으로 생성됩니다. 이를 통해 AWS AppSync에서 X-Ray로 추적을 안전하게 보낼 수 있습니다.
X-Ray로 API 추적
샘플링
샘플링 규칙을 사용하여 AWS AppSync에 기록할 데이터의 양을 제어하고, 코드를 수정하거나 재배포하는 대신 즉석에서 샘플링 동작을 수정할 수 있습니다. 예를 들어, 이 규칙은 API ID 3n572shhcpfokwhdnq1ogu59v6
을 사용하여 GraphQL API에 대한 요청을 샘플링합니다.
-
규칙 이름 -
test-sample
-
우선 순위 -
10
-
리저버 크기 -
10
-
고정 비율 -
10
-
서비스 이름 -
*
-
서비스 유형 -
AWS::AppSync::GraphQLAPI
-
HTTP 메서드 -
*
-
리소스 ARN -
arn:aws:appsync:us-west-2:123456789012:apis/3n572shhcpfokwhdnq1ogu59v6
-
호스트 -
*
추적 이해
GraphQL API에 대한 X-Ray 추적을 활성화하면 X-Ray 추적 세부 정보 페이지를 사용하여 API 요청에 대한 자세한 지연 시간 정보를 확인할 수 있습니다. 다음 예제에서는 이 특정 요청에 대한 서비스 맵과 함께 추적 보기를 보여 줍니다. 이 요청은 Post 유형으로 postAPI
라는 API에 대해 수행되었으며, 이 API의 데이터는 PostTable-Example
이라는 Amazon DynamoDB 테이블에 포함되어 있습니다.
다음 추적 이미지는 다음 GraphQL 쿼리에 해당합니다.
query getPost { getPost(id: "1") { id title } }
getPost
쿼리에 대한 해석기는 기본 DynamoDB 데이터 소스를 사용합니다. 다음 추적 보기는 DynamoDB에 대한 호출과 쿼리 실행의 여러 부분에 대한 지연 시간을 보여 줍니다.

-
앞의 이미지에서
/getPost
는 해석 중인 요소의 전체 경로를 나타냅니다. 이 경우getPost
는 루트Query
유형의 필드이므로 경로에서 루트 바로 뒤에 나타납니다. -
requestMappingTemplateEvaluation
은 AWS AppSync가 쿼리에서 이 요소에 대한 요청 매핑 템플릿을 평가하는 데 소요된 시간을 나타냅니다. -
Query.getPost
는 유형 및 필드(Type.field
형식)를 나타냅니다. 여기에는 API 구조와 추적 중인 요청에 따라 여러 하위 세그먼트가 포함될 수 있습니다.-
DynamoDB
는 이 해석기에 연결된 데이터 원본을 나타냅니다. 여기에는 필드를 확인하기 위해 소요된 DynamoDB에 대한 네트워크 호출의 지연 시간이 포함되어 있습니다. -
responseMappingTemplateEvaluation
은 AWS AppSync가 쿼리에서 이 요소에 대한 응답 매핑 템플릿을 평가하는 데 소요된 시간을 나타냅니다.
-
X-Ray에서 추적을 볼 때 하위 세그먼트를 선택하고 세부 정보 보기를 탐색하여 AWS AppSync 세그먼트의 하위 세그먼트에 대한 추가 컨텍스트 및 메타데이터 정보를 얻을 수 있습니다.
깊이 중첩되거나 복잡한 쿼리의 경우, AWS AppSync가 X-Ray에 전달하는 세그먼트가 세그먼트 설명서에서 허용하는 최대 크기보다 클 수 있습니다. 허용되는 최대 크기는 AWS X-Ray 세그먼트 설명서에 정의되어 있습니다. X-Ray는 제한을 초과하는 세그먼트를 표시하지 않습니다.