Ir para o conteúdo

Como solucionar problemas de um tópico do Amazon SNS que não está recebendo notificações da Detecção de Anomalias em Custos?

4 minuto de leitura
0

O monitor de Detecção de Anomalias em Custos da AWS que eu criei não envia notificações para o meu tópico do Amazon Simple Notification Service (Amazon SNS).

Breve descrição

Quando o monitor de Detecção de Anomalias em Custos detecta uma anomalia, uma notificação é publicada no tópico do Amazon SNS. Em seguida, o Amazon SNS entrega as notificações aos endpoints inscritos, geralmente por e-mail. A notificação pode falhar em atingir o endpoint devido aos seguintes motivos:

  • As notificações da Detecção de Anomalias em Custos não estão chegando ao tópico do SNS. A falta de permissões na política de acesso ao tópico ou na política de chave do KMS pode causar isso quando você ativa a criptografia no tópico.
  • O tópico SNS falha em entregar notificações aos endpoints inscritos.

Resolução

Analise a métrica NumberOfMessagesPublished do SNS

Analise a métrica NumberOfMessagesPublished do SNS para confirmar se os eventos no histórico de detecção de anomalias têm pontos de dados correspondentes às notificações publicadas. Essa métrica indica se o tópico publica as notificações com sucesso.

A métrica NumberOfMessagesPublished do SNS não tem pontos de dados

Confirme se você concedeu ao serviço de Detecção de Anomalias em Custos as permissões necessárias para publicar mensagens em seu tópico.

O exemplo a seguir da política de acesso a tópicos do SNS permite que a Detecção de Anomalias em Custos publique mensagens em um tópico do Amazon SNS:

{  
  "Sid": "E.g., AWSAnomalyDetectionSNSPublishingPermissions",  
  "Effect": "Allow",  
  "Principal": {  
   "Service": "costalerts.amazonaws.com"  
  },  
  "Action": "SNS:Publish",  
  "Resource": "your topic ARN"  
}

Para obter mais informações, consulte Criação de um tópico do Amazon SNS para notificações de anomalias.

A métrica NumberOfMessagesPublished do SNS tem pontos de dados

Para solucionar esse problema, conclua as seguintes etapas:

  1. Verifique se seus endpoints inscritos estão no Estado confirmado.
  2. Confirme se as notificações de métricas NumberOfNotificationsDelivered e NumberOfNotificationsFailed foram publicadas e entregues com êxito aos endpoints.
  3. Verifique se há uma política de filtro nos endpoints inscritos.Verifique a métrica NumberOfNotificationsFilteredOut para saber se a política de filtro de assinatura filtra as mensagens. Se as mensagens estiverem sendo filtradas, consulte Como solucionar problemas de política de filtro de assinatura no Amazon SNS?.
  4. Verifique se o endpoint inscrito do tópico é um protocolo de e-mail.Confira se a métrica NumberOfNotificationsDelivered mostra que o tópico entregou notificações, mas elas não chegaram à caixa de entrada do e-mail. Para obter mais informações, consulte Por que não consigo receber notificações por e-mail do meu tópico do Amazon SNS?

Confirme se você ativou a criptografia do lado do servidor

Confirme se você ativou a criptografia do lado do servidor em seu tópico do Amazon SNS. Se tiver feito isso, verifique seus requisitos de permissão. Verifique se a Detecção de Anomalias em Custos concede as permissões necessárias do AWS Key Management Service (AWS KMS) à sua chave.

Seu tópico do Amazon SNS deve usar uma chave do AWS KMS gerenciada pelo cliente. Essa chave do KMS deve incluir uma política de chave personalizada que permita que o serviço de Detecção de Anomalias em Custos execute as ações kms:GenerateDataKey* e kms:Decrypt. Para obter mais informações, consulte Configuração de permissões do AWS KMS.

O exemplo de declaração de política do IAM a seguir permite que a Detecção de Anomalias em Custos da AWS publique mensagens em um tópico criptografado do Amazon SNS:

{  
   "Version": "2012-10-17",  
   "Statement": [{  
      "Effect": "Allow",  
      "Principal": {  
         "Service": "costalerts.amazonaws.com"  
      },  
   "Action": [  
      "kms:GenerateDataKey*",  
      "kms:Decrypt"  
      ],  
   "Resource": "*"  
   }]  
   }

Ative os logs de status de entrega

Ative os logs de status de entrega de tópicos do Amazon SNS como uma etapa adicional de solução de problemas. O atributo ProviderResponse nos logs explica a causa da falha na entrega.

Observação: para registrar em log cada status de entrega de mensagens, defina a taxa de amostragem de sucesso como 100%. Se você usar uma porcentagem menor, o SNS gerará logs de entrega somente para a porcentagem especificada de mensagens entregues ou com falha.

AWS OFICIALAtualizada há 6 meses