SMS 메시지와 관련해 Amazon SNS 토픽 전송 로그에 액세스하려면 어떻게 해야 하나요?

3분 분량
0

SMS 메시지와 관련해 Amazon Simple Notification Service(SNS) 토픽 전송 로그에 액세스하고 싶습니다.

해결 방법

Amazon CloudWatch Logs의 SMS 전송 상태 속성 구성

참고: 다음 콘솔 단계를 따르는 대신 AWS SDKAWS Command Line Interface(AWS CLI)를 사용해 메시지 전송 상태를 구성할 수 있습니다. AWS CLI 명령을 실행할 때 오류가 발생하면 AWS CLI 오류 문제 해결을 참고하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.

  1. Amazon SNS 콘솔을 엽니다.

  2. 탐색 창에서 모바일을 확장하고 **문자 메시지(SMS)**를 선택합니다.

  3. 문자 메시지 기본 설정 섹션에서 편집을 선택합니다.

  4. **전송 상태 로깅(선택 사항)**을 확장합니다.

  5. 샘플 성공률에서 % 텍스트 상자에 100을 입력합니다.

    참고: 성공률은 로그로 메시지 전달에 성공한 백분율입니다.

  6. IAM 역할 섹션의 서비스 역할에서 새 서비스 역할 생성을 선택하고 새 역할 생성을 선택합니다. AWS Identity and Access Management(AWS IAM) 콘솔을 엽니다.

    참고: 적절한 권한이 있는 IAM 역할이 이미 있는 경우, 기존 서비스 역할 사용을 선택해 해당 서비스 역할을 사용하세요.

  7. IAM 콘솔 권한 요청 페이지에서 허용을 선택합니다.

  8. Amazon SNS 콘솔로 돌아가 변경 사항 저장을 선택합니다.

이렇게 하면 Amazon SNS에 다음 정책과 신뢰 관계에 따른 전송 성공 및 실패와 관련한 IAM 역할이 생성됩니다.

IAM 역할:

arn:aws:iam::1111111111:role/SNSSuccessFeedback

정책:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:PutMetricFilter",
        "logs:PutRetentionPolicy"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

신뢰 관계:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "sns.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

전송 상태 로그 보기

  1. Amazon CloudWatch 콘솔을 엽니다.

  2. 탐색 창에서 로그를 선택하고 로그 그룹을 선택합니다.

  3. 필터 검색 상자에 DirectPublishToPhoneNumber를 입력해 Amazon SNS의 SMS 로그 그룹만 검색합니다.

    참고: 대상 전화번호의 통신사에 따라 Amazon SNS 콘솔에 전송 로그가 표시되는 데 최대 72시간이 걸릴 수 있습니다.

    다음 예를 참고하세요.

    sns/your-AWS-region/your-AWS-account-ID/DirectPublishToPhoneNumber 로그 그룹에는 전송에 성공한 로그가 포함되어 있습니다.

    sns/us-east-1/1111111111/DirectPublishToPhoneNumber

    전송 성공 로그 샘플:

    {
      "notification": {
        "messageId": "34d9b400-c6dd-5444-820d-fbeb0f1f54cf",
        "timestamp": "2016-06-28 00:40:34.558"
      },
      "delivery": {
        "phoneCarrier": "My Phone Carrier",
        "mnc": 270,
        "destination": "+1XXX5550100",
        "priceInUSD": 0.00645,
        "smsType": "Transactional",
        "mcc": 310,
        "providerResponse": "Message has been accepted by phone carrier",
        "dwellTimeMs": 599,
        "dwellTimeMsUntilDeviceAck": 1344
      },
      "status": "SUCCESS"
    }

    sns/your-AWS-region/your-AWS-account-ID/DirectPublishToPhoneNumber/Failure 로그 그룹에는 전송에 실패한 로그가 포함되어 있습니다.

    sns/us-east-1/1111111111/DirectPublishToPhoneNumber/Failure

    전송 실패 로그 샘플:

    {
      "notification": {
        "messageId": "1077257a-92f3-5ca3-bc97-6a915b310625",
        "timestamp": "2016-06-28 00:40:34.559"
      },
      "delivery": {
        "mnc": 0,
        "destination": "+1XXX5550100",
        "priceInUSD": 0.00645,
        "smsType": "Transactional",
        "mcc": 0,
        "providerResponse": "Unknown error attempting to reach phone",
        "dwellTimeMs": 1420,
        "dwellTimeMsUntilDeviceAck": 1692
      },
      "status": "FAILURE"
    }
  4. 확인하고자 하는 SNS 로그 그룹을 선택합니다.

  5. 로그 스트림 탭에서 로그 스트림 하나를 선택해 SMS 전송 로그를 확인합니다.

  6. SMS 메시지의 전송 상태를 보려면 로그 이벤트를 확장하여 providerResponse를 확인합니다.

수신 거부한 전화번호 보기

AWS 계정에서 휴대폰으로 SMS 메시지를 수신하지 않도록 선택한 수신자가 있습니다. 자세한 내용은 SMS 메시지 수신 거부를 참고하세요.

  1. Amazon SNS 콘솔을 엽니다.
  2. 탐색 창에서 모바일 섹션을 확장하고 **문자 메시지(SMS)**를 선택합니다.
  3. 수신 거부한 전화번호를 보려면 수신 거부한 전화번호 섹션으로 이동합니다.

관련 정보

CloudWatch를 사용한 Amazon SNS 토픽 모니터링

SMS 메시지 기본 설정

SMS 전송과 관련한 Amazon CloudWatch 지표 및 로그 보기