Amazon SNS 주제가 CloudWatch Events 알림을 수신하지 않는 이유는 무엇입니까?

최종 업데이트 날짜: 2021년 9월 10일

Amazon Simple Notification Service(Amazon SNS) 주제에 알림을 보내도록 Amazon CloudWatch Events 규칙을 설정했습니다. Amazon SNS 주제가 이벤트 알림을 수신하지 않는 이유는 무엇입니까?

해결 방법

CloudWatch Events 규칙의 대상이 규칙과 동일한 AWS 리전에 있는지 확인합니다.

규칙과 연관된 대상은 규칙과 동일한 리전에 있어야 합니다. 자세한 내용은 Amazon CloudWatch Events 시작하기를 참조하세요.

참고: AWS 리소스가 있는 리전을 보려면 리소스의 Amazon 리소스 이름(ARN)을 검토하세요.

CloudWatch Events 규칙의 ‘Invocations’ 및 ‘FailedInvocations’ 지표를 검토하여 문제의 원인을 확인합니다.

CloudWatch 콘솔에서 CloudWatch Events 규칙의 InvocationsFailedInvocations 지표를 검토합니다.

두 지표에 대한 데이터 포인트가 있다면 CloudWatch Events 규칙 알림이 대상을 호출하려고 시도했지만 호출에 실패한 것입니다. 이 문제를 해결하려면 CloudWatch가 주제에 메시지를 게시하는 데 필요한 권한을 부여해야 합니다. 지침은 이 문서의 주제에 메시지를 게시하는 데 필요한 권한을 CloudWatch에 부여했는지 확인 섹션을 참조하세요.

Invocations 지표에 대해서만 데이터 요소가 있는 경우 CloudWatch Events 규칙 알림이 대상에 도달하지 않은 것입니다. 이 문제를 해결하려면 대상의 잘못된 구성을 수정하세요.

자세한 내용은 CloudWatch 사용 설명서에서 사용 가능한 지표 보기를 참조하세요.

주제에 메시지를 게시하기 위해 필요한 권한을 CloudWatch에 부여했는지 확인

Amazon SNS 주제의 리소스 기반 정책은 CloudWatch가 주제에 메시지를 게시하도록 허용해야 합니다. 주제의 AWS Identity and Access Management(IAM) 정책에 필요한 권한이 있는지 검토하고 필요한 경우 추가합니다.

중요: ‘events.amazonaws.com’‘서비스’ 값으로 리스팅되고 ‘SNS: 게시’‘작업’ 값으로 리스팅되어야 합니다.

필요한 권한을 추가하려면 My rule runs, but I don't see any messages published into my Amazon SNS topic의 지침을 따릅니다.

CloudWatch가 Amazon SNS 주제에 메시지를 게시할 수 있도록 허용하는 IAM 권한 설명 예제

{
    "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"
}

(서버 측 암호화(SSE)가 활성화된 주제의 경우) 주제에 필요한 AWS KMS(AWS 키 관리) 권한이 있는지 확인

Amazon SNS 주제는 고객이 관리하는 AWS KMS 키를 사용해야 합니다. 이 KMS 키에는 CloudWatch에 충분한 키 사용 권한을 부여하는 사용자 지정 키 정책이 포함되어야 합니다.

필요한 AWS KMS 권한을 설정하려면 다음을 수행합니다.

1.    CloudWatch에 필요한 권한을 포함하는 고객 관리형 새 KMS 키를 생성합니다.

2.    방금 생성한 사용자 지정 KMS 키를 사용하여 Amazon SNS 주제에 대한 SSE를 구성합니다.

3.    CloudWatch가 암호화된 주제에 메시지를 게시하도록 AWS KMS 권한을 구성합니다.

CloudWatch가 암호화된 Amazon SNS 주제에 메시지를 게시하도록 허용하는 IAM 정책 설명 예제

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

이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?