내용으로 건너뛰기

Amazon SNS 주제에서 이메일 알림을 받을 수 없는 이유는 무엇입니까?

3분 분량
0

Amazon Simple Notification Service(Amazon SNS) 주제에서 이메일 알림을 받지 못했습니다.

해결 방법

이메일 엔드포인트 상태가 확인됨인지 확인

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.

이메일 엔드포인트의 상태를 확인하려면 Amazon SNS 콘솔 또는 AWS CLI를 사용하십시오.

Amazon SNS 콘솔

다음 단계를 완료하십시오.

  1. Amazon SNS 콘솔을 엽니다.
  2. 탐색 창에서 Topics(주제)를 선택한 다음, 주제를 선택합니다.
  3. 구독 섹션에서 엔드포인트 열에 있는 이메일 엔드포인트를 찾습니다.
  4. 상태 열에서 상태가 확인됨인지 확인합니다.
  5. 상태가 확인됨이 아닌 경우 Amazon SNS 콘솔에서 구독을 수동으로 확인합니다. 확인 이메일을 받지 못한 경우 다음 섹션의 단계를 완료합니다.
  6. 확인 이메일을 다시 요청하려면 엔드포인트가 있는 구독을 선택한 다음, 확인 요청을 선택합니다.

AWS CLI

list-subscriptions-by-topic 명령을 실행합니다.

aws sns list-subscriptions-by-topic \
    --topic-arn arn:aws:sns:us-west-2:123456789012:your-topic

참고: arn:aws:sns:us-west-2:123456789012:your-topic을 Amazon SNS 주제 Amazon 리소스 이름(ARN)으로 바꾸십시오.

출력 예시:

{
    "Subscriptions": [
        {
            "Owner": "123456789012",
            "Endpoint": "my-email@example.com",
            "Protocol": "email",
            "TopicArn": "arn:aws:sns:us-west-2:123456789012:your-topic",
            "SubscriptionArn": "arn:aws:sns:us-west-2:123456789012:my-topic:8a21d249-4329-4871-acc6-7be709c6ea7f"
        }
    ]
}

참고: Endpoint 열에 이메일 엔드포인트가 없는 경우 엔드포인트가 삭제됩니다.

이메일 주소가 외부 연락처의 이메일을 수신할 수 있는지 확인

문제가 Amazon SNS에서만 발생하는지 확인하려면 외부 제공업체에서 대상 이메일 주소로 테스트 이메일을 보내십시오. 테스트 이메일을 통해 외부 소스에서 허용되는 트래픽 유형을 확인할 수 있습니다. 조직 내 사서함은 내부 트래픽으로 제한될 수 있습니다.

사서함에서 테스트 이메일을 수신하는 경우 다음 섹션의 단계를 완료하십시오.

방화벽, 스팸 필터, 차단 프로그램 또는 필터 정책 확인

이메일 관리자에게 문의하여 방화벽이나 스팸 필터가 no-reply@sns.amazonaws.com 주소를 차단하고 있는지 확인하십시오. 사서함 허용 목록에 no-reply@sns.amazonaws.com 주소를 추가하는 것이 가장 좋습니다. 자세한 내용은 Amazon SNS FAQ의 전송 섹션에서 **구독자가 Amazon SNS로부터 알림을 받으려면 이메일 설정을 구체적으로 구성해야 합니까?**를 참조하십시오.

사서함 규칙에서 SNS 주제 이메일을 차단하는 명시적 거부 작업이 있는지 확인하십시오. 또한 이메일이 사서함의 특정 폴더로 라우팅되는지 확인하십시오.

사용자가 SNS 주제 이메일의 모든 수신자를 구독 취소하지 않도록 구독 취소를 위한 인증을 설정하십시오. 이메일 엔드포인트의 구독을 취소하려면 필요한 권한이 있어야 합니다. Amazon SNS 콘솔 또는 AWS CLI를 사용하여 인증된 사용자로 구독을 확인할 수 있습니다.

구독에 대한 필터 정책을 확인하려면 다음 단계를 완료하십시오.

  1. Amazon SNS 콘솔을 엽니다.
  2. 탐색 창에서 구독을 선택합니다.
  3. 검색 상자에 이메일 엔드포인트가 구독하는 이메일 주소 또는 SNS 주제를 입력한 다음, 구독을 선택합니다.
  4. 이메일 엔드포인트의 경우 구독 필터 정책 탭을 선택합니다.
  5. 구독 필터 정책에서 필터 정책을 찾습니다.

메시지가 엔드포인트로 전송되면 Amazon SNS는 메시지 속성을 필터 정책의 속성과 비교합니다. 메시지 속성과 필터 정책 속성이 일치하지 않는 경우 이메일 엔드포인트는 메시지를 수신하지 않습니다.

기본 AWS KMS 키 설정이 사용되고 있지 않은지 확인

Amazon SNS는 주제에 대해 저장 시 암호화를 허용합니다. 암호화에 기본 AWS Key Management Service(AWS KMS)를 사용하는 경우 AWS 서비스는 SNS 주제에 메시지를 게시할 수 없습니다. Amazon SNS용 AWS KMS 키 정책에서는 AWS 서비스가 kms:Decryptkms:GenerateDataKey API 직접 호출을 수행하는 것을 허용하지 않습니다. AWS에서 키를 관리하므로 정책을 수동으로 편집할 수 없습니다.

Amazon SNS 주제를 암호화하는 경우 고객 관리형 키를 대신 사용하십시오. 다음 고객 관리형 키 정책에는 kms:Decryptkms:GenerateDataKey를 수행할 수 있는 권한이 포함되어 있습니다.

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

자세한 내용은 AWS KMS 권한 구성을 참조하십시오.