

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
<a name="xray-services-sns"></a>

Puede usar 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](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html). 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 rastro 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](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html) 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](xray-instrumenting-your-app.md) para obtener más información sobre cómo instrumentar sus clientes de SNS. 

## Configuración del rastreo activo de Amazon SNS
<a name="xray-services-sns-configuration"></a>

Puede utilizar la consola de Amazon SNS o la CLI o el SDK de AWS para configurar el rastreo 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](https://docs.aws.amazon.com/sns/latest/dg/sns-authentication-and-access-control.html) y [Ejemplos de casos de control de acceso con Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html) 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](https://docs.aws.amazon.com/sns/latest/dg/sns-active-tracing.html) en la Guía para desarrolladores de Amazon Simple Notification Service. 

Al utilizar la CLI o el SDK de AWS para activar el rastreo activo, debe configurar manualmente los permisos mediante políticas basadas en recursos. Use [https://docs.aws.amazon.com/xray/latest/api/API_PutResourcePolicy.html](https://docs.aws.amazon.com/xray/latest/api/API_PutResourcePolicy.html) para configurar X-Ray con la política basada en recursos necesaria para permitir que Amazon SNS envíe rastros a X-Ray. 

**Example 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 rastro 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 rastro 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`}}, {{`region`}}, {{`account-id`}} y {{`topic-name`}} por su partición de AWS, 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 rastro 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
<a name="xray-services-sns-view-traces"></a>

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

![Mapa de rastros con el publicador y el suscriptor de Amazon SNS](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/services-sns-activetracing-map.png)


Tras elegir un rastro que abarque a un publicador y un suscriptor de Amazon SNS, la página de detalles del rastro de X-Ray muestra un mapa de detalles de rastro y una escala de tiempo de segmentos. 

**Example 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](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/services-sns-activetracing-timeline.png)


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.

**Example 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](http://docs.aws.amazon.com/es_es/xray/latest/devguide/images/services-sns-activetracing-batch-timeline.png)
