Amazon SNS und AWS X-Ray - AWS X-Ray

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Amazon SNS und AWS X-Ray

Sie können AWS X-Ray mit Amazon Simple Notification Service (Amazon SNS) verwenden, um Anfragen zu verfolgen und zu analysieren, während sie durch Ihre SNS-Themen zu Ihren von SNS unterstützten Abonnementservices gelangen. Verwenden Sie die X-Ray-Nachverfolgung mit Amazon SNS, um Latenzen in Ihren Nachrichten und deren Backend-Services zu analysieren, z. B. wie lange eine Anfrage in einem Thema verbringt und wie lange es dauert, die Nachricht an jedes Abonnement des Themas zuzustellen. Amazon SNS unterstützt X-Ray-Tracing für Standard- und FIFO-Themen.

Wenn Sie in einem Amazon SNS-Thema von einem Service veröffentlichen, der bereits mit X-Ray instrumentiert ist, übergibt Amazon SNS den Ablaufverfolgungskontext vom Publisher an Abonnenten. Darüber hinaus können Sie die aktive Nachverfolgung aktivieren, um Segmentdaten zu Ihren Amazon SNS-Abonnements für Nachrichten, die von einem instrumentierten SNS-Client veröffentlicht werden, an X-Ray zu senden. Aktivieren Sie die aktive Nachverfolgung für ein Amazon SNS-Thema mithilfe der Amazon SNS-Konsole oder mithilfe der Amazon SNS-API oder -CLI. Weitere Informationen zur Instrumentierung Ihrer SNS-Clients finden Sie unter Instrumentierung Ihrer Anwendung.

Konfigurieren der aktiven Amazon SNS-Nachverfolgung

Sie können die Amazon SNS-Konsole oder die AWS CLI oder das SDK verwenden, um die aktive Amazon SNS-Nachverfolgung zu konfigurieren.

Wenn Sie die Amazon SNS-Konsole verwenden, versucht Amazon SNS, die erforderlichen Berechtigungen für SNS zum Aufrufen von X-Ray zu erstellen. Der Versuch kann abgelehnt werden, wenn Sie nicht über ausreichende Berechtigungen zum Ändern von X-Ray-Ressourcenrichtlinien verfügen. Weitere Informationen zu diesen Berechtigungen finden Sie unter Identitäts- und Zugriffsverwaltung in Amazon SNS und Beispielfälle für die Amazon SNS-Zugriffskontrolle im Entwicklerhandbuch für Amazon Simple Notification Service. Weitere Informationen zum Aktivieren der aktiven Ablaufverfolgung mithilfe der Amazon SNS-Konsole finden Sie unter Aktivieren der aktiven Ablaufverfolgung für ein Amazon SNS-Thema im Amazon-Simple-Notification-Service-Entwicklerhandbuch.

Wenn Sie die AWS CLI oder das SDK verwenden, um die aktive Ablaufverfolgung zu aktivieren, müssen Sie die Berechtigungen mithilfe ressourcenbasierter Richtlinien manuell konfigurieren. Verwenden Sie PutResourcePolicy, um X-Ray mit der erforderlichen ressourcenbasierten Richtlinie zu konfigurieren, damit Amazon SNS Ablaufverfolgungen an X-Ray senden kann.

Beispiel für eine ressourcenbasierte X-Ray-Richtlinie für aktives Tracing in Amazon SNS

Dieses Beispielrichtliniendokument gibt die Berechtigungen an, die Amazon SNS zum Senden von Ablaufverfolgungsdaten an X-Ray benötigt:

{ Version: "2012-10-17", Statement: [ { Sid: "SNSAccess", Effect: Allow, Principal: { Service: "sns.amazonaws.com", }, Action: [ "xray:PutTraceSegments", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], Resource: "*", Condition: { StringEquals: { "aws:SourceAccount": "account-id" }, StringLike: { "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name" } } } ] }

Verwenden Sie die CLI, um eine ressourcenbasierte Richtlinie zu erstellen, die Amazon SNS Berechtigungen zum Senden von Ablaufverfolgungsdaten an X-Ray erteilt:

aws xray put-resource-policy --policy-name MyResourcePolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "SNSAccess", "Effect": "Allow", "Principal": { "Service": "sns.amazonaws.com" }, "Action": [ "xray:PutTraceSegments", "xray:GetSamplingRules", "xray:GetSamplingTargets" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "StringLike": { "aws:SourceArn": "arn:partition:sns:region:account-id:topic-name" } } } ] }'

Um diese Beispiele zu verwenden, ersetzen Sie partition, regionaccount-id, und topic-name durch Ihre spezifische AWS Partition, Region, Konto-ID und den Namen des Amazon SNS-Themas. Um allen Amazon SNS-Themen die Berechtigung zum Senden von Ablaufverfolgungsdaten an X-Ray zu erteilen, ersetzen Sie den Themennamen durch *.

Anzeigen von Amazon SNS-Publisher- und Subscriber-Traces in der X-Ray-Konsole

Verwenden Sie die X-Ray-Konsole, um eine Ablaufverfolgungskarte und Ablaufverfolgungsdetails anzuzeigen, die eine verbundene Ansicht von Amazon SNS-Herausgebern und -Abonnenten anzeigen. Wenn die aktive Ablaufverfolgung von Amazon SNS für ein Thema aktiviert ist, zeigt die X-Ray-Ablaufverfolgungs- und Ablaufverfolgungsdetail-Übersicht verbundene Knoten für Amazon SNS-Herausgeber, das Amazon SNS-Thema und nachgeschaltete Abonnenten an:

Trace-Map mit Amazon SNS-Herausgeber und Subscriber

Nachdem Sie eine Ablaufverfolgung ausgewählt haben, die sich über einen Amazon SNS-Herausgeber und -Abonnenten erstreckt, zeigt die X-Ray-Ablaufverfolgungsdetailseite eine Zuordnung von Ablaufverfolgungsdetails und eine Segmentzeitleiste an.

Beispiel-Zeitleiste mit Amazon SNS-Herausgeber und Abonnent

Dieses Beispiel zeigt einen Zeitplan, der einen Amazon SNS-Herausgeber enthält, der eine Nachricht an ein Amazon SNS-Thema sendet, das von einem Amazon SQSAbonnenten verarbeitet wird.

Segment-Zeitleiste für Amazon SNS-Herausgeber und -Abonnent

Die obige Beispielzeitleiste enthält Details zum Amazon SNS-Nachrichtenablauf:

  • Das SNS-Segment stellt die Roundtrip-Dauer des Publish API-Aufrufs vom Client dar.

  • Das myTopic-Segment stellt die Latenz der Amazon SNS-Antwort auf die Veröffentlichungsanforderung dar.

  • Das SQS-Teilsegment stellt die Round-Trip-Zeit dar, die Amazon SNS benötigt, um die Nachricht in einer Amazon SQS-Warteschlange zu veröffentlichen.

  • Die Zeit zwischen dem myTopic-Segment und dem SQS-Teilsegment stellt die Zeit dar, die die Nachricht im Amazon SNS-System verbringt.

Beispiel-Zeitachse mit gestapelten Amazon SNS-Nachrichten

Wenn mehrere Amazon SNS-Nachrichten in einem einzigen Trace gestapelt werden, zeigt die Segment-Zeitleiste Segmente an, die jede verarbeitete Nachricht darstellen.

Segment-Zeitachse für Amazon SNS-Stapelnachrichten