기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS X-Ray 를 사용하여 Amazon SNS 주제를 통해 Amazon Data Firehose, , Amazon AWS Lambda Amazon SQS 및 HTTP/S 엔드포인트 구독으로 전달되는 사용자 요청을 추적하고 분석합니다.
X-Ray를 사용하면 각 요청을 end-to-end 볼 수 있으므로 다음을 수행할 수 있습니다.
-
Amazon SNS 주제를 호출하는 항목과 구독의 다운스트림에 있는 서비스를 식별합니다.
-
다음과 같은 지연 시간 분석:
-
처리 전 Amazon SNS 주제에 소요된 시간입니다.
-
구독한 각 엔드포인트의 전송 시간입니다.
-
중요
구독이 많은 Amazon SNS 주제는 크기 한도에 도달하여 추적이 완전하지 않을 수 있습니다. 추적 문서 크기 제한에 대한 자세한 내용은 AWS 일반 참조의 X-ray 서비스 할당량을 참조하세요.
이미 추적 중인 서비스에서 Amazon SNS API를 호출하는 경우, API에서 X-Ray 추적이 활성화되어 있지 않더라도 Amazon SNS가 트레이스를 패스스루합니다.
Amazon SNS는 표준 및 FIFO 주제에 대해 X-Ray 추적을 지원합니다. Amazon SNS 콘솔SetTopicAttributes
API, Amazon Simple Notification Service CLI 참조 또는 AWS CloudFormation을 사용하여 Amazon SNS 주제에 대해 X-Ray를 활성화할 수 있습니다.
Amazon SNS를 X-Ray와 함께 사용하는 방법에 대한 자세한 내용은 AWS X-Ray 개발자 가이드의 Amazon SNS 및 AWS X-Ray를 참조하세요.
활성 추적 권한
Amazon SNS 콘솔을 사용할 때 Amazon SNS는 Amazon SNS 주제가 X-Ray를 호출하는 데 필요한 권한을 생성하려고 시도합니다. Amazon SNS 콘솔을 사용할 충분한 권한이 없는 경우 시도가 거부될 수 있습니다. 자세한 내용은 Amazon SNS의 Identity and Access Management 및 Amazon SNS 액세스 제어의 예제 사례 단원을 참조하세요.
CLI를 사용할 때는 권한을 수동으로 구성해야 합니다. 이러한 권한은 리소스 정책을 사용하여 구성됩니다. X-Ray에서 필요한 권한을 사용하는 방법에 대한 자세한 내용은 Amazon SNS 및 AWS X-Ray를 참조하세요.
AWS 콘솔을 사용하여 Amazon SNS 주제에서 활성 추적 활성화
Amazon SNS 주제에서 활성 추적을 활성화하면 트레이스 ID를 읽고, 트레이스 ID를 기반으로 고객에게 데이터를 전송하고, 다운스트림 서비스에 트레이스 ID를 전파합니다.
Amazon SNS 콘솔
에 로그인합니다. -
주제를 선택하거나 새로운 주제를 생성합니다. 주제 생성에 대한 자세한 내용은 Amazon SNS 주제 생성을 참조하세요.
-
주제 생성 페이지의 세부 정보 섹션에서 FIFO 또는 표준을 선택합니다.
-
주제의 이름을 입력합니다.
-
(선택 사항) 주제의 표시 이름을 입력합니다.
-
-
Active tracing(활성 추적)을 확장하고 Use active tracing(액티브 트레이싱 사용)을 선택합니다.
Amazon SNS 주제에 X-Ray를 활성화한 후에는 -Ray service map(X-Ray 서비스 맵)을 사용하여 주제에 대한 엔드 투 엔드 트레이스 및 서비스 맵을 볼 수 있습니다.
AWS SDK를 사용하여 Amazon SNS 주제에서 활성 추적 활성화
다음 코드 예제에서는 Java용 AWS SDK를 사용하여 Amazon SNS 주제에서 활성 추적을 활성화하는 방법을 보여줍니다.
public static void enableActiveTracing(SnsClient snsClient, String topicArn) {
try {
SetTopicAttributesRequest request = SetTopicAttributesRequest.builder()
.attributeName("TracingConfig")
.attributeValue("Active")
.topicArn(topicArn)
.build();
SetTopicAttributesResponse result = snsClient.setTopicAttributes(request);
System.out.println("\n\nStatus was " + result.sdkHttpResponse().statusCode() + "\n\nTopic " + request.topicArn()
+ " updated " + request.attributeName() + " to " + request.attributeValue());
} catch (SnsException e) {
System.err.println(e.awsErrorDetails().errorMessage());
}
}
AWS CLI를 사용하여 Amazon SNS 주제에서 활성 추적 활성화
다음 코드 예제에서는 AWS CLI를 사용하여 Amazon SNS 주제에서 활성 추적을 활성화하는 방법을 보여줍니다.
aws sns set-topic-attributes \ --topic-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --attribute-name TracingConfig \ --attribute-value Active
를 사용하여 Amazon SNS 주제에서 활성 추적 활성화 AWS CloudFormation
다음 AWS CloudFormation 스택은 Amazon SNS 주제에서 활성 추적을 활성화하는 방법을 보여줍니다.
AWSTemplateFormatVersion: 2010-09-09 Resources: MyTopicResource: Type: 'AWS::SNS::Topic' Properties: TopicName: 'MyTopic' TracingConfig: 'Active'
주제에 활성 추적이 활성화되었는지 확인
Amazon SNS 콘솔을 사용하여 주제에 활성 추적이 활성화되어 있는지 확인하거나 리소스 정책을 추가하지 못했을 때 확인할 수 있습니다.
Amazon SNS 콘솔
에 로그인합니다. -
왼쪽 탐색 창에서 주제를 선택합니다.
-
Topics(주제) 페이지에서 주제를 선택합니다.
-
통합(Integrations) 탭을 선택합니다.
활성 추적이 활성화되면 녹색 Active(활성) 아이콘이 표시됩니다.
-
활성 추적을 활성화했는데 리소스 정책이 추가된 것이 보이지 않는 경우 Create policy(정책 생성)를 선택하여 필요한 추가 권한을 추가하세요.

활성 추적 테스트
Amazon SNS 콘솔
에 로그인합니다. -
Amazon SNS 주제를 생성합니다. 이 작업을 수행하는 자세한 방법은 를 사용하여 주제를 생성하려면 AWS Management Console 섹션을 참조하세요.
-
Active tracing(활성 추적)을 확장하고 Use active tracing(액티브 트레이싱 사용)을 선택합니다.
-
Amazon SNS 주제에 메시지를 게시합니다. 이 작업을 수행하는 자세한 방법은 AWS Management Console을 사용하여 Amazon SNS 주제에 메시지를 게시하려면 섹션을 참조하세요.
-
X-Ray service map(X-Ray 서비스 맵)을 사용하면 해당 주제에 대한 전체 트레이스 및 서비스 맵을 볼 수 있습니다.
