Por que meu tópico do Amazon SNS não está recebendo notificações do CloudWatch Events?

Última atualização: 2021-09-10

Configurei uma regra do Amazon CloudWatch Events para enviar notificações para meu tópico do Amazon Simple Notification Service (Amazon SNS). Por que meu tópico Amazon SNS não está recebendo as notificações de evento?

Resolução

Verifique se os destinos da regra do CloudWatch Events e a regra estão na mesma região da AWS

Os destinos que você associa a uma regra devem estar na mesma região da regra. Para mais informações, consulte Conceitos básicos do Amazon CloudWatch Events.

Observação: para ver a região na qual um recurso da AWS reside, analise o nome do recurso da Amazon (ARN) do recurso.

Verifique a causa do problema analisando as métricas “Invocations” e “FailedInvocations” da sua regra do CloudWatch Events

No console do CloudWatch, analise as métricas Invocations e FailedInvocations da sua regra do CloudWatch Events.

Se houver pontos de dados para ambas as métricas, a notificação da regra do CloudWatch Events tentou invocar o destino, mas o pedido falhou. Para resolver o problema, é necessário conceder ao CloudWatch as permissões necessárias para publicar mensagens em seu tópico. Para obter instruções, consulte a seção Confirmar que você concedeu ao CloudWatch as permissões necessárias para publicar mensagens em seu tópico nesse artigo.

Se houver pontos de dados apenas para a métrica Invocations, a notificação da regra do CloudWatch Events não alcançou o destino. Para resolver o problema, corrija a configuração incorreta no destino.

Para mais informações, consulte Visualizar métricas disponíveis no manual do usuário do CloudWatch.

Confirme se concedeu ao CloudWatch as permissões necessárias para publicar mensagens em seu tópico

A política baseada em recursos do tópico do Amazon SNS deve permitir que o CloudWatch publique mensagens no tópico. Analise a política do AWS Identity and Access Management (IAM) do seu tópico e confirme se ela tem as permissões necessárias, adicionando-as se necessário.

Importante: “events.amazonaws.com” deve ser listado como o valor “Service”. “sns:Publish” deve ser listado como o valor “Action”.

Para adicionar as permissões necessárias, siga as instruções em Minha regra é executada, mas não vejo nenhuma mensagem publicada em meu tópico do Amazon SNS.

Exemplo de declaração de permissões do IAM que permite ao CloudWatch publicar mensagens em um tópico do Amazon SNS

{
    "Sid": "AWSEvents_ArticleEvent_Id4950650036948",
    "Effect": "Allow",
    "Principal": {
        "Service": "events.amazonaws.com"
    },
    "Action": "sns:Publish",
    "Resource": "arn:aws:sns:us-east-1:123456789012:My_SNS_Topic"
}

(Para tópicos com Server-side encryption [SSE – Criptografia no lado do servidor] ativada) Confirme se o tópico tem as permissões necessárias do AWS Key Management (AWS KMS)

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 conceda ao CloudWatch permissões suficientes para uso de chaves.

Para configurar as permissões necessárias do AWS KMS, faça o seguinte:

1.    Crie uma nova chave do KMS que seja gerenciada pelo cliente e inclua as permissões necessárias para o CloudWatch.

2.    Configure a SSE para seu tópico do Amazon SNS usando a chave personalizada do KMS que você acabou de criar.

3.    Configure as permissões do AWS KMS que permitem que o CloudWatch publique mensagens em seu tópico criptografado.

Exemplo de declaração de política do IAM que permite ao CloudWatch publicar mensagens em um tópico criptografado do Amazon SNS

{
    "Sid": "Allow CWE to use the key",
    "Effect": "Allow",
    "Principal": {
        "Service": "events.amazonaws.com"
    },
    "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey"
    ],
    "Resource": "*"
}

Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?