Amazon SNS e AWS X-Ray - AWS X-Ray

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Amazon SNS e AWS X-Ray

Puoi utilizzare Amazon AWS X-Ray Simple Notification Service (Amazon SNS) per tracciare e analizzare le richieste man mano che passano dai tuoi argomenti SNS ai servizi in abbonamento supportati da SNS. Usa il tracciamento X-Ray con Amazon SNS per analizzare le latenze nei tuoi messaggi e nei relativi servizi di back-end, ad esempio quanto tempo trascorre una richiesta in un argomento e quanto tempo impiega a recapitare il messaggio a ciascuno degli abbonamenti dell'argomento. Amazon SNS supporta il tracciamento di X-Ray per gli argomenti standard e FIFO.

Se pubblichi su un argomento di Amazon SNS da un servizio già dotato di strumentazione X-Ray, Amazon SNS trasmette il contesto di traccia dall'editore agli abbonati. Inoltre, puoi attivare il tracciamento attivo per inviare a X-Ray i dati dei segmenti relativi ai tuoi abbonamenti Amazon SNS per i messaggi pubblicati da un client SNS dotato di strumentazione. Attiva il tracciamento attivo per un argomento di Amazon SNS utilizzando la console Amazon SNS o l'API o la CLI di Amazon SNS. Per ulteriori informazioni sulla strumentazione dei client SNS, consulta la sezione Strumentazione dell'applicazione.

Configurazione del tracciamento attivo di Amazon SNS

Puoi utilizzare la console Amazon SNS o l'interfaccia a riga di comando o l'SDK per configurare il AWS tracciamento attivo di Amazon SNS.

Quando usi la console Amazon SNS, Amazon SNS tenta di creare le autorizzazioni necessarie affinché SNS possa chiamare X-Ray. Il tentativo può essere rifiutato se non si dispone di autorizzazioni sufficienti per modificare le politiche relative alle risorse X-Ray. Per ulteriori informazioni su queste autorizzazioni, consulta Gestione delle identità e degli accessi in Amazon SNS e Casi di esempio per il controllo degli accessi di Amazon SNS nella Amazon Simple Notification Service Developer Guide. Per ulteriori informazioni sull'attivazione del tracciamento attivo tramite la console Amazon SNS, consulta l'argomento Enabling active tracing on an Amazon SNS nella Amazon Simple Notification Service Developer Guide.

Quando si utilizza la AWS CLI o l'SDK per attivare la traccia attiva, è necessario configurare manualmente le autorizzazioni utilizzando politiche basate sulle risorse. Utilizzalo PutResourcePolicyper configurare X-Ray con la politica basata sulle risorse necessaria per consentire ad Amazon SNS di inviare tracce a X-Ray.

Esempio di policy basata su risorse X-Ray per il tracciamento attivo di Amazon SNS

Questo documento di policy di esempio specifica le autorizzazioni necessarie ad Amazon SNS per inviare dati di traccia a X-Ray:

{ 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" } } } ] }

Utilizza la CLI per creare una policy basata sulle risorse che conceda ad Amazon SNS le autorizzazioni per inviare dati di traccia a X-Ray:

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" } } } ] }'

Per utilizzare questi esempi, sostituiscipartition, regionaccount-id, e topic-name con la AWS partizione, la regione, l'ID dell'account e il nome dell'argomento Amazon SNS specifici. Per autorizzare tutti gli argomenti di Amazon SNS a inviare dati di traccia a X-Ray, sostituisci il nome dell'argomento con. *

Visualizza le tracce degli editori e degli abbonati di Amazon SNS nella console X-Ray

Usa la console X-Ray per visualizzare una mappa di tracciamento e i dettagli di traccia che mostrano una visualizzazione connessa di editori e abbonati Amazon SNS. Quando il tracciamento attivo di Amazon SNS è attivato per un argomento, la mappa di traccia a raggi X e la mappa dei dettagli di traccia mostrano i nodi connessi per gli editori Amazon SNS, l'argomento Amazon SNS e gli abbonati downstream:

Mappa di tracciamento con editore e abbonato di Amazon SNS

Dopo aver scelto una traccia che includa un editore e un abbonato di Amazon SNS, la pagina dei dettagli di tracciamento X-Ray mostra una mappa dei dettagli di tracciamento e una cronologia dei segmenti.

Esempio Cronologia di esempio con editore e abbonato di Amazon SNS

Questo esempio mostra una sequenza temporale che include un publisher Amazon SNS che invia un messaggio a un argomento Amazon SNS, che viene elaborato da un abbonato Amazon SQS.

Cronologia dei segmenti per editori e abbonati ad Amazon SNS

La sequenza temporale di esempio sopra riportata fornisce dettagli sul flusso di messaggi Amazon SNS:

  • Il segmento SNS rappresenta la durata di andata e ritorno della chiamata Publish API dal client.

  • Il segmento MyTopic rappresenta la latenza della risposta di Amazon SNS alla richiesta di pubblicazione.

  • Il sottosegmento SQS rappresenta il tempo di andata e ritorno impiegato da Amazon SNS per pubblicare il messaggio in una coda Amazon SQS.

  • Il tempo tra il segmento MyTopic e il sottosegmento SQS rappresenta il tempo che il messaggio trascorre nel sistema Amazon SNS.

Esempio Cronologia di esempio con messaggi Amazon SNS in batch

Se più messaggi Amazon SNS vengono raggruppati in batch all'interno di un'unica traccia, la timeline del segmento mostra i segmenti che rappresentano ogni messaggio elaborato.

Cronologia dei segmenti per i messaggi in batch di Amazon SNS