Amazon SNS y AWS X-Ray - AWS X-Ray

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Amazon SNS y AWS X-Ray

Puede usarlo AWS X-Ray con Amazon Simple Notification Service (Amazon SNS) para rastrear y analizar las solicitudes a medida que recorren sus temas de SNS hasta sus servicios de suscripción compatibles con SNS. Utilice el rastreo de X-Ray con Amazon SNS para analizar las latencias de sus mensajes y sus servicios backend, por ejemplo, cuánto tiempo pasa una solicitud en un tema y cuánto tiempo ha tardado en enviar el mensaje a cada una de las suscripciones del tema. Amazon SNS solo admite rastreo de X-Ray para temas estándar y FIFO.

Si publica en un tema de Amazon SNS desde un servicio que ya está instrumentado con X-Ray, Amazon SNS pasa el contexto de rastreo del publicador a los suscriptores. Además, puede activar el rastreo activo para enviar datos de segmentos sobre sus suscripciones de Amazon SNS a X-Ray para los mensajes publicados desde un cliente de SNS instrumentado. Active el rastreo activo para un tema de Amazon SNS a través de la consola de Amazon SNS o de la API o la CLI de Amazon SNS. Consulte Instrumentación de su solicitud para obtener más información sobre cómo instrumentar sus clientes de SNS.

Configuración del rastreo activo de Amazon SNS

Puede utilizar la consola de Amazon SNS o la AWS CLI o el SDK para configurar el seguimiento activo de Amazon SNS.

Al utilizar la consola de Amazon SNS, Amazon SNS intenta crear los permisos necesarios para que SNS llame a X-Ray. El intento puede rechazarse si el usuario no tiene los permisos suficientes para modificar las políticas de recursos de X-Ray. Para obtener más información sobre estos permisos consulte Administración de identidades y accesos en Amazon SNS y Ejemplos de casos de control de acceso con Amazon SNS en la Guía para desarrolladores de Amazon Simple Notification Service. Para obtener más información acerca de cómo activar el rastreo activo a través de la consola de Amazon SNS, consulte Habilitar el rastreo activo en un tema de Amazon SNS en la Guía para desarrolladores de Amazon Simple Notification Service.

Al utilizar la AWS CLI o el SDK para activar el seguimiento activo, debe configurar manualmente los permisos mediante políticas basadas en recursos. Use PutResourcePolicy para configurar X-Ray con la política basada en recursos necesaria para permitir que Amazon SNS envíe rastros a X-Ray.

ejemplo Ejemplo de política basada en recursos de X-Ray para el rastreo activo de Amazon SNS

En este ejemplo de documento de política se especifican los permisos que Amazon SNS necesita para enviar datos de rastreo 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" } } } ] }

Utilice la CLI para crear una política basada en recursos que dé a Amazon SNS permisos para enviar datos de rastreo 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" } } } ] }'

Para usar estos ejemplos, sustituya partition, regionaccount-id, y topic-namepor su AWS partición, región, ID de cuenta y nombre de tema de Amazon SNS específicos. Para dar permiso a todos los temas de Amazon SNS para que envíen datos de rastreo a X-Ray, sustituya el nombre del tema por *.

Visualización de rastros de publicadores y suscriptores de Amazon SNS en la consola de X-Ray

Utilice la consola X-Ray para ver un mapa de rastreo y los detalles del rastreo que muestran una vista conectada de los editores y suscriptores de Amazon SNS. Cuando el rastreo activo de Amazon SNS está activado para un tema, el mapa de rastreo de X-Ray y el mapa de detalles del rastreo muestran los nodos conectados para los editores de Amazon SNS, el tema de Amazon SNS y los suscriptores intermedios:


                Mapa de rastreo con el editor y el suscriptor de Amazon SNS

Tras elegir un rastreo que abarque a un editor y un suscriptor de Amazon SNS, la página de detalles del rastreo de X-Ray muestra un mapa de detalles del rastreo y una cronología del segmento.

ejemplo Ejemplo de escala de tiempo con el publicador y el suscriptor de Amazon SNS

En este ejemplo se muestra una escala de tiempo que incluye a un publicador de Amazon SNS que envía un mensaje a un tema de Amazon SNS que es procesado por un suscriptor de Amazon SQS.


                    Escala de tiempo de segmentos con el publicador y el suscriptor de Amazon SNS

El ejemplo de escala de tiempo anterior proporciona detalles sobre el flujo de mensajes de Amazon SNS:

  • El segmento SNS representa la duración de ida y vuelta de la llamada a la API Publish desde el cliente.

  • El segmento myTopic representa la latencia de la respuesta de Amazon SNS a la solicitud de publicación.

  • El subsegmento SQS representa el tiempo de ida y vuelta que tarda Amazon SNS en publicar el mensaje en una cola de Amazon SQS.

  • El tiempo entre el segmento MyTopic y el subsegmento SQS representa el tiempo que el mensaje pasa en el sistema Amazon SNS.

ejemplo Ejemplo de escala de tiempo con mensajes de Amazon SNS por lotes

Si se agrupan varios mensajes de Amazon SNS en un solo lote de un rastro, la escala de tiempo de los segmentos muestra los segmentos que representan cada mensaje que se procesa.


                    Escala de tiempo de los mensajes por lotes de Amazon SNS