쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Amazon SQS 및 AWS X-Ray

포커스 모드
Amazon SQS 및 AWS X-Ray - AWS X-Ray

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS X-Ray 는 Amazon Simple Queue Service(Amazon SQS)와 통합되어 Amazon SQS 대기열을 통해 전달되는 메시지를 추적합니다. X-Ray SDK를 사용하여 요청을 추적하는 서비스가 있는 경우, Amazon SQS는 추적 헤더를 전송하고 발신자가 소비자에게 보낸 원본 추적에 일정한 추적 ID를 계속해서 전파합니다. 사용자는 이러한 추적의 연속성 덕분에 다운스트림 서비스 전체에 걸쳐 추적, 분석 및 디버깅할 수 있습니다.

AWS X-Ray 는 Amazon SQS 및를 사용하여 이벤트 기반 애플리케이션 추적을 지원합니다 AWS Lambda. CloudWatch 콘솔을 사용하면 각 요청이 Amazon SQS로 대기열에 추가되고 다운스트림 Lambda 함수에 의해 처리될 때 연결된 보기를 볼 수 있습니다. 업스트림 메시지 생산자의 트레이스가 다운스트림 Lambda 함수의 트레이스에 자동으로 연결되므로 전체 애플리케이션을 종합적으로 파악할 수 있습니다. 자세한 내용은 이벤트 중심 애플리케이션 추적을 참조하세요.

Lambda에서 Amazon SQS 대기열을 통해 진행되는 트레이스 맵입니다.

Amazon SQS는 다음과 같은 추적 헤더 계측을 지원합니다.

  • 기본 HTTP 헤더 - SDK를 통해 Amazon SQS를 호출하면 X-Ray AWS SDK가 추적 헤더를 HTTP 헤더로 자동으로 채웁니다. 기본 추적 헤더는 X-Amzn-Trace-Id로 입력되며, SendMessage 또는 SendMessageBatch 요청에 포함된 모든 메시지에 해당합니다. 기본 HTTP 헤더에 대한 자세한 내용은 추적 헤더 단원을 참조하십시오.

  • AWSTraceHeader 시스템 속성 - AWSTraceHeader는 대기열의 메시지와 함께 X-Ray 추적 헤더를 전달하기 위해 Amazon SQS에서 사용하는 메시지 시스템 속성입니다. 예를 들어 새로운 언어에 대한 추적 SDK를 빌드할 때와 같이 X-Ray SDK를 통한 자동 계측이 제공되지 않는 경우에도 AWSTraceHeader를 사용할 수 있습니다. 두 가지 헤더 계측을 설정하고 나면 그 메시지 시스템 속성이 HTTP 추적 헤더를 덮어씁니다.

Amazon EC2에서 실행하는 경우 Amazon SQS는 한 번에 하나의 메시지 처리를 지원합니다. 이는 온프레미스 호스트에서 실행되고 AWS Fargate Amazon ECS 또는와 같은 컨테이너 서비스를 사용할 때 적용됩니다 AWS App Mesh.

추적 헤더는 Amazon SQS 메시지 크기 할당량 및 메시지 속성 할당량에서 제외됩니다. 즉, X-Ray 추적을 활성화해도 Amazon SQS 할당량을 초과하지 않습니다. AWS 할당량에 대한 자세한 내용은 Amazon SQS 할당량을 참조하세요.

HTTP 추적 헤더 전송

Amazon SQS의 발신자 구성 요소는 SendMessageBatch 또는 SendMessage 직접 호출을 통해 추적 헤더를 자동 전송할 수 있습니다. AWS SDK 클라이언트가 계측되면 X-Ray SDK를 통해 지원되는 모든 언어를 통해 클라이언트를 자동으로 추적할 수 있습니다. 해당 서비스(예: Amazon S3 버킷 또는 Amazon SQS 대기열) 내에서 액세스하는 추적 AWS 서비스 및 리소스는 X-Ray 콘솔의 추적 맵에 다운스트림 노드로 표시됩니다.

원하는 언어로 AWS SDK 호출을 추적하는 방법을 알아보려면 지원되는 SDKs

추적 헤더 검색 및 추적 컨텍스트 복구

Lambda 다운스트림 소비자를 사용하는 경우 추적 컨텍스트 전파가 자동으로 이루어집니다. 다른 Amazon SQS 소비자와 컨텍스트 전파를 계속하려면 수신자 구성 요소에 대한 핸드오프를 수동으로 계측해야 합니다.

추적 컨텍스트를 복구하는 단계는 크게 세 단계로 나뉩니다.

  • ReceiveMessage API를 호출하여 AWSTraceHeader 속성에 대한 대기열에서 메시지를 수신합니다.

  • 속성에서 추적 헤더를 검색합니다.

  • 헤더에서 추적 ID를 복구합니다. 원한다면 해당 세그먼트에 지표를 더 추가합니다.

다음은 Java용 X-Ray SDK로 작성된 구현 예제입니다.

예 : 추적 헤더 검색 및 추적 컨텍스트 복구
// Receive the message from the queue, specifying the "AWSTraceHeader" ReceiveMessageRequest receiveMessageRequest = new ReceiveMessageRequest() .withQueueUrl(QUEUE_URL) .withAttributeNames("AWSTraceHeader"); List<Message> messages = sqs.receiveMessage(receiveMessageRequest).getMessages(); if (!messages.isEmpty()) { Message message = messages.get(0); // Retrieve the trace header from the AWSTraceHeader message system attribute String traceHeaderStr = message.getAttributes().get("AWSTraceHeader"); if (traceHeaderStr != null) { TraceHeader traceHeader = TraceHeader.fromString(traceHeaderStr); // Recover the trace context from the trace header Segment segment = AWSXRay.getCurrentSegment(); segment.setTraceId(traceHeader.getRootTraceId()); segment.setParentId(traceHeader.getParentId()); segment.setSampled(traceHeader.getSampled().equals(TraceHeader.SampleDecision.SAMPLED)); } }

이 페이지에서

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.