Amazon SNS 주제가 EventBridge 알림을 수신하지 못하는 이유는 무엇인가요?

2분 분량
0

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

해결 방법

EventBridge 규칙의 대상이 규칙과 동일한 AWS 리전에 있는지 확인

규칙과 연관된 대상은 규칙과 동일한 리전에 있어야 합니다.

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

EventBridge 규칙의 ‘Invocations’ 및 ‘FailedInvocations’ 지표를 검토하여 문제의 원인을 확인

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

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

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

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

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

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

**중요: ‘events.amazonaws.com’**은 ‘서비스’ 값으로 나열되고 **‘SNS: 게시’**는 ‘작업’ 값으로 나열되어야 합니다.

필요한 권한을 추가하려면 내 규칙을 실행하는데 Amazon SNS 주제에 게시된 메시지가 표시되지 않습니다.를 참조하세요.

EventBridge가 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 Key Management Service(AWS KMS) 권한이 있는지 확인

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

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

1.    EventBridge에 필요한 권한을 포함하는 고객 관리형 새 AWS KMS 키를 생성합니다(events.amazonaws.com).

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

3.    EventBridge가 암호화된 주제에 메시지를 게시할 수 있도록 허용하는 AWS KMS 권한을 구성합니다(events.amazonaws.com).

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

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

관련 정보

Amazon EventBridge 시작하기

AWS 공식
AWS 공식업데이트됨 일 년 전