Como solucionar problemas de um tópico do Amazon SNS que não está recebendo notificações do AWS Cost Anomaly Detection?

4 minuto de leitura
0

O monitor de detecção de anomalias de custo 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 de custo detecta uma anomalia, ele publica uma notificação 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 em questão devido aos seguintes motivos:

  • As notificações de detecção de anomalias de custo não estão chegando ao tópico do SNS. Isso pode ser devido à falta de permissões na política de acesso ao tópico ou à política de chave do KMS quando a criptografia é ativada 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 as notificações foram publicadas com êxito em seu tópico.

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

Defina as permissões necessárias

Confirme se você concedeu ao serviço AWS Cost Anomaly Detection 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 o AWS Cost Anomaly Detection 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.

**Ative a criptografia do lado do servidor **

Verifique se você ativou a criptografia do lado do servidor em seu tópico. Confirme se você concedeu ao serviço AWS Cost Anomaly Detection as permissões do AWS Key Management (AWS KMS) para sua chave ao publicar o tópico.

Seu tópico do Amazon SNS deve usar uma chave do AWS KMS gerenciada pelo cliente. Essa chave KMS deve incluir uma política de chave personalizada que permita que o serviço AWS Cost Anomaly Detection execute 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 o AWS Cost Anomaly Detection 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": "*"  
    }]  
    }

A métrica NumberOfMessagesPublished do SNS está preenchida, mas você ainda não recebe notificações

Siga estas etapas para solucionar o problema:

  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 NumberOfNotificationsFilteredOu para ver se as mensagens estão sendo filtradas. 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. Verifique se a métrica NumberOfNotificationsDelivered indica que as notificações foram entregues com êxito, mas 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?
  5. As mensagens podem falhar em alcançar esses outros endpoints inscritos:
  • HTTP
  • Amazon Kinesis Data Firehose
  • AWS Lambda
  • Endpoint do aplicativo da plataforma
  • Serviço Amazon Simple Queue
  • Serviço de mensagens curtas (SMS)

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 garantir que cada status de entrega de mensagem seja registrado em log, 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 OFICIAL
AWS OFICIALAtualizada há 10 meses