New user sign up using AWS Builder ID
New user sign up using AWS Builder ID is currently unavailable on re:Post. To sign up, please use the AWS Management Console instead.
Por que não recebi uma notificação do SNS me avisando que o alarme do CloudWatch foi acionado?
Criei um alarme do Amazon CloudWatch para enviar notificações para um tópico do Amazon Simple Notification Service (Amazon SNS) quando o estado do alarme mudar. No entanto, não recebo uma notificação do SNS quando o alarme do CloudWatch muda de estado.
Resolução
A entrega de notificações do SNS depende da configuração do tópico do SNS e do alarme do CloudWatch. Para determinar por que você não recebe notificações do SNS, verifique o histórico do alarme do CloudWatch para ver o status do acionamento.
Se a ação do gatilho falhar devido a restrições da política de acesso do SNS, o histórico de alarmes do CloudWatch exibirá uma mensagem semelhante a esta:
"Failed to execute action arn:aws:sns:us-east-1:ACCOUNT_ID:TOPIC_NAME. Erro recebido: “O recurso: arn:aws:cloudwatch:us-east-1:ACCOUNT_ID:alarm:ALARM_NAME não está autorizado a realizar: SNS:Publish on resource: arn:aws:sns:us-east-1:ACCOUNT_ID:TOPIC_NAME""
O SNS usa políticas de acesso para restringir as fontes que podem publicar mensagens no tópico. Se ocorrer um erro de permissão, adicione as seguintes permissões na seção Declaração da política de acesso do SNS. A atualização da política concede permissões ao serviço de alarmes do CloudWatch para publicar mensagens no tópico do SNS:
{ "Sid": "Allow_Publish_Alarms", "Effect": "Allow", "Principal": { "Service": [ "cloudwatch.amazonaws.com" ] }, "Action": "sns:Publish", "Resource": "arn:aws:sns:us-east-1:ACCOUNT_ID:TOPIC_NAME" }
Observação: substitua us-east-1 pela Região da AWS a que se destina a notificação, ACCOUNT_ID pelo ID da sua conta e TOPIC_NAME pelo nome do tópico do SNS.
Para restringir a capacidade de publicar mensagens no tópico para alarmes específicos, adicione chaves de condição globais. O exemplo de política a seguir usa o operador de condição ArnLike e a chave de condição global aws:SourceArn. Para mais informações, consulte Example cases for Amazon SNS access control.
{ "Sid": "Allow_Publish_Alarms", "Effect": "Allow", "Principal": { "Service": [ "cloudwatch.amazonaws.com" ] }, "Action": "sns:Publish", "Resource": "arn:aws:sns:REGION:ACCOUNT_ID:TOPIC_NAME", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:cloudwatch:us-east-1:ACCOUNT_ID:alarm:ALARM_NAME" } } }
Observação: substitua us-east-1 pela Região a que se destina a notificação, ACCOUNT_ID pelo ID da sua conta, TOPIC_NAME pelo nome do tópico do SNS e ALARM_NAME pelo nome do alarme.
Importante: qualquer alarme na conta incluído na condição pode ser publicado no tópico do SNS do recurso na política. Por exemplo, o ID da conta do proprietário do recurso de alarme pode ser publicado no tópico. Restrinja a política à mesma conta para o ID da conta do tópico do SNS e o ID da conta proprietária do alarme.
Se a ação do gatilho falhar devido à criptografia do tópico SNS, o histórico de alarmes do CloudWatch exibirá uma mensagem semelhante a esta:
"Failed to execute action arn:aws:sns:us-east-1:ACCOUNT_ID:TOPIC_NAME. Erro recebido: “null (Serviço: AWSKMS; Código de status: 400; Error Code: AccessDeniedException;)””
O SNS permite a criptografia em repouso para seu tópico. Se o SNS usar a chave alias/aws/sns padrão do AWS Key Management Service (AWS KMS) para a criptografia, os alarmes do CloudWatch não poderão ser publicados no tópico do SNS. A política padrão da chave do AWS KMS para SNS não permite que os alarmes do CloudWatch realizem chamadas de API kms:Decrypt e kms:GenerateDataKey. Como a AWS gerencia essa chave, não é possível editar manualmente a política.
Se precisar criptografar o tópico do SNS em repouso, use uma chave gerenciada pelo cliente. A chave gerenciada pelo cliente deve incluir as seguintes permissões na seção Declaração da política de chave. Essas permissões permitem que os alarmes do CloudWatch publiquem mensagens em tópicos criptografados do SNS:
{ "Sid": "Allow_CloudWatch_for_CMK", "Effect": "Allow", "Principal": { "Service": [ "cloudwatch.amazonaws.com" ] }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*" }
Se a ação de gatilho for bem-sucedida, o histórico de alarmes do CloudWatch exibirá uma mensagem semelhante a esta:
"Successfully executed action arn:aws:sns:us-east-1:ACCOUNT_ID:TOPIC_NAME"
A mensagem anterior significa que o alarme do CloudWatch publicou com êxito uma mensagem no tópico SNS. Se a notificação não for entregue pelo SNS, verifique o tópico do SNS e suas métricas em busca de qualquer falha na entrega. Para mais informações, consulte Como faço para acessar os registros de entrega de tópicos do Amazon SNS para notificações push?
Observação: o CloudWatch não testa nem valida as ações que você especifica. O CloudWatch também não detecta erros do Amazon EC2 Auto Scaling ou do Amazon SNS que ocorrem quando você tenta invocar ações inexistentes. Certifique-se de que suas ações existam.
Informações relacionadas
Usar alarmes do Amazon CloudWatch
Criptografar mensagens publicadas no Amazon SNS com o AWS KMS
Vídeos relacionados


Conteúdo relevante
- feita há 23 diaslg...
- feita há um mêslg...
- Resposta aceitafeita há um mêslg...
- feita há um mêslg...
- feita há 2 meseslg...
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 2 anos