Ir para o conteúdo

Por que meu tópico do Amazon SNS não recebeu as notificações do EventBridge?

4 minuto de leitura
0

Eu configurei uma regra do Amazon EventBridge para enviar notificações para meu tópico do Amazon Simple Notification Service (Amazon SNS). No entanto, meu tópico do Amazon SNS não recebeu as notificações do evento.

Resolução

Verifique se os alvos da regra do EventBridge estão na mesma região da regra

Os alvos que você associa a uma regra devem estar na mesma região da AWS que a regra.

Observação: para encontrar a região em que um recurso da AWS está, revise o nome do recurso da Amazon (ARN) do recurso.

Verifique as métricas “Invocations” e “FailedInvocations” da sua regra do EventBridge para identificar o problema

Use o console do Amazon CloudWatch para revisar as métricas Invocations e FailedInvocations da regra do EventBridge.

Se houver pontos de dados para ambas as métricas, a notificação da regra do EventBridge tentou invocar o alvo, mas a invocação falhou. Para resolver o problema, você deve conceder ao EventBridge 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 EventBridge as permissões necessárias para publicar mensagens em seu tópico deste artigo.

Se houver pontos de dados somente para a métrica Invocations, a notificação da regra do EventBridge não atingiu o alvo. Para resolver o problema, reconfigure a regra para o alvo.

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

A política baseada em recursos do seu tópico do Amazon SNS deve permitir que o EventBridge publique mensagens no tópico. Analise a política do AWS Identity and Access Management (AWS IAM) do seu tópico para confirmar se ele tem as permissões necessárias. Se a política não as tiver, adicione as permissões necessárias.

Importante: você deve listar events.amazonaws.com como o valor do Serviço e sns:Publish como o valor da Ação.

Exemplo de declaração de permissões do IAM que permite ao EventBridge 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"
}

Verifique se o perfil de execução permite que o EventBridge publique no alvo

O perfil de execução do IAM atribuído ao seu alvo de regras do EventBridge exige uma relação de confiança com o serviço EventBridge. Certifique-se de que sua política de confiança do perfil inclua o EventBridge (events.amazonaws.com) como uma entidade confiável. Se a política de confiança não incluir as permissões necessárias, atualize-a para conceder permissão ao EventBridge para assumir o perfil.

Exemplo de declaração de relação de confiança do IAM que permite ao EventBridge assumir o perfil de execução do alvo:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "events.amazonaws.com"
            },
            "Action": "sts:AssumeRole",
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "ACCOUNT-ID",
                    "aws:SourceArn": "EVENTBRIDGE-RULE-ARN"
                }
            }
        }
    ]
}

Importante: liste events.amazonaws.com como o valor do Serviço e sts:AssumeRole como o valor da Ação. Substitua ACCOUNT-ID pelo ID da sua conta da AWS e EVENTBRIDGE_RULE_ARN pelo seu ARN.

(Para tópicos com o SSE ativado) Confirme se seu tópico tem as permissões necessárias do AWS KMS

Seu tópico do Amazon SNS deve usar uma chave gerenciada pelo cliente do AWS Key Management Service (AWS KMS). Essa chave do AWS KMS deve incluir uma política de chave personalizada que dê permissão ao EventBridge para usar a chave.

Para configurar as permissões necessárias do AWS KMS, conclua as etapas a seguir:

  1. Crie uma nova chave gerenciada pelo cliente e certifique-se de incluir as permissões necessárias para o EventBridge (events.amazonaws.com).
  2. Use a chave gerenciada pelo cliente para configurar a criptografia do lado do servidor (SSE) para seu tópico do Amazon SNS.
  3. Configure as permissões do AWS KMS que permitem ao EventBridge publicar mensagens em seu tópico criptografado (events.amazonaws.com).

Exemplo de declaração de política do IAM que permite ao EventBridge 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": "*"
}
AWS OFICIALAtualizada há 4 meses