AWS Cost Anomaly Detection에서 알림을 받지 못하는 Amazon SNS 주제 문제를 해결하려면 어떻게 해야 하나요?

3분 분량
0

생성한 비용 이상 탐지 모니터가 Amazon Simple Notification Service(SNS) 주제로 알림을 전송하지 않습니다.

간략한 설명

비용 이상 탐지 모니터가 이상 항목을 감지하면 Amazon SNS 주제에 알림을 게시합니다. 그러면 Amazon SNS가 구독 엔드포인트에 일반적으로 이메일을 통해 알림을 전송합니다. 다음과 같은 이유로 알림이 대상 엔드포인트에 도달하지 못할 수 있습니다.

  • 비용 이상 탐지 알림이 SNS 주제에 도달하지 않습니다. 해당 주제에 대해 암호화가 활성화된 경우 주제 액세스 정책 또는 KMS 키 정책에 대한 권한이 누락되었기 때문일 수 있습니다.
  • SNS 주제가 구독 엔드포인트에 알림을 전송하지 못합니다.

해결 방법

SNS NumberOfMessagesPublished 지표 검토

SNS NumberOfMessagesPublished 지표를 검토하여 이상 징후 탐지 기록의 이벤트에 게시된 알림에 해당하는 데이터 포인트가 있는지 확인합니다. 이 지표는 알림이 주제에 성공적으로 게시되었는지 여부를 나타냅니다.

SNS NumberOfMessagesPublished 지표에 데이터 포인트 없음

필수 권한 설정

사용자의 주제에 메시지를 게시하는 데 필요한 권한을 AWS Cost Anomaly Detection 서비스에 부여했는지 확인합니다.

다음 예시의 SNS 주제 액세스 정책은 AWS Cost Anomaly Detection 서비스가 Amazon SNS 주제에 메시지를 게시하도록 허용합니다.

{  
  "Sid": "E.g., AWSAnomalyDetectionSNSPublishingPermissions",  
  "Effect": "Allow",  
  "Principal": {  
    "Service": "costalerts.amazonaws.com"  
  },  
  "Action": "SNS:Publish",  
  "Resource": "your topic ARN"  
}

자세한 내용은 이상 징후 알림을 위한 Amazon SNS 주제 생성을 참조하세요.

서버 측 암호화 활성화

주제에 대해 서버 측 암호화를 활성화했는지 확인하세요. 주제를 게시할 때 AWS Cost Anomaly Detection 서비스에 키에 대한 AWS Key Management Service(AWS KMS) 권한을 부여했는지 확인하세요.

Amazon SNS 주제는 고객이 관리하는 AWS KMS 키를 사용해야 합니다. 이 KMS 키에는 AWS Cost Anomaly Detection 서비스의 kms:GenerateDataKeykms:Decrypt 작업 수행을 허용하는 사용자 지정 키 정책이 포함되어야 합니다. 자세한 내용은 AWS KMS 권한 구성을 참조하세요.

다음 예시의 IAM 정책문은 AWS Cost Anomaly Detection 서비스가 암호화된 Amazon SNS 주제에 메시지를 게시하도록 허용합니다.

{  
    "Version": "2012-10-17",  
    "Statement": [{  
        "Effect": "Allow",  
        "Principal": {  
            "Service": "costalerts.amazonaws.com"  
        },  
    "Action": [  
        "kms:GenerateDataKey*",  
        "kms:Decrypt"  
        ],  
    "Resource": "*"  
    }]  
    }

SNS NumberOfMessagesPublished 지표가 채워지지만 알림이 전송되지 않음

다음 단계에 따라 문제를 해결하세요.

  1. 구독 엔드포인트가 확인 상태인지 확인합니다.
  2. NumberOfNotificationsDeliveredNumberOfNotificationsFailed 지표 알림이 게시되고 엔드포인트에 성공적으로 전송되었는지 확인합니다.
  3. 구독한 엔드포인트에 필터 정책이 있는지 확인합니다. NumberOfNotificationsFilteredOut 지표에서 메시지가 필터링되고 있는지 확인하세요. 메시지가 필터링되는 경우 Amazon SNS의 구독 필터 정책 문제를 해결하려면 어떻게 해야 하나요?를 참조하세요.
  4. 주제의 구독 엔드포인트가 이메일 프로토콜인지 확인합니다. NumberOfNotificationsDelivered 지표에 알림이 성공적으로 전송되었지만 이메일 수신함에 도달하지 않았다고 표시되었는지 확인하세요. 자세한 내용은 Amazon SNS 주제에서 이메일 알림을 받을 수 없는 이유는 무엇인가요?를 참조하세요.
  5. 메시지가 다음과 같은 다른 구독 엔드포인트에 도달하지 못할 수 있습니다.
  • HTTP
  • Amazon Kinesis Data Firehose
  • AWS Lambda
  • 플랫폼 애플리케이션 엔드포인트
  • Amazon Simple Queue Service
  • SMS(문자 서비스)

Amazon SNS 주제 전송 상태 로그를 켜고 문제를 추가로 해결하세요. 로그의 ProviderResponse 속성은 전송 실패의 원인을 설명합니다.

참고: 성공 샘플 비율을 100%로 설정하면 각 메시지의 전송 상태가 기록됩니다. 비율을 더 낮게 설정할 경우 SNS는 지정된 비율의 전송 또는 실패한 메시지에 대한 전송 로그만 생성합니다.

AWS 공식
AWS 공식업데이트됨 10달 전