Amazon CloudWatch 지표 및 SMS 전송 로그 보기 - Amazon Simple Notification Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon CloudWatch 지표 및 SMS 전송 로그 보기

Amazon CloudWatch 및 Amazon CloudWatch Logs를 사용하여 SMS 메시지 전송을 모니터링할 수 있습니다.

Amazon CloudWatch 지표 보기

Amazon SNS는 SMS 메시지 전송에 대한 지표를 자동으로 수집하고 Amazon CloudWatch에 푸시합니다. CloudWatch를 사용하여 이러한 측정치를 모니터링하고 지표가 임계값을 초과할 때 알리는 경보를 생성할 수 있습니다. 예를 들어 CloudWatch 지표를 모니터링하여 사용자의 SMS 전송 속도와 당월 누적 SMS 요금을 알아볼 수 있습니다.

CloudWatch 지표 모니터링, CloudWatch 경보 설정, 사용 가능한 지표 유형에 대한 자세한 내용은 CloudWatch를 사용하여 Amazon SNS 주제 모니터링에서 확인하세요.

CloudWatch Logs 보기

Amazon SNS가 Amazon CloudWatch Logs에 쓸 수 있도록 설정하여 SMS 메시지 전송 성공 및 실패에 대한 정보를 수집할 수 있습니다. 전송하는 각 SMS 메시지에 대해 Amazon SNS는 메시지 가격, 성공 또는 실패 상태, 실패 이유(메시지가 실패한 경우), 메시지 유지 시간 및 기타 정보가 포함된 로그를 작성합니다.

SMS 메시지에 대한 CloudWatch Logs를 사용하고 보려면
  1. Amazon SNS 콘솔에 로그인합니다.

  2. 콘솔 메뉴에서 리전 선택기를 SMS 메시징을 지원하는 리전으로 설정합니다.

  3. 탐색 창에서 문자 메시지(SMS)를 선택합니다.

  4. 모바일 문자 메시지(SMS) 페이지의 문자 메시지 기본 설정 섹션에서 편집을 선택합니다.

  5. 다음 페이지에서 Delivery status logging(전송 상태 로깅) 섹션을 확장합니다.

  6. 성공 샘플 비율에서 Amazon SNS가 CloudWatch Logs에 로그를 작성할 SMS 전송 성공 비율을 지정합니다. 예:

    • 전송 실패에 대한 로그만 작성하려면 이 값을 0으로 설정합니다.

    • 전송 성공의 10%에 대한 로그를 작성하려면 이 값을 10으로 설정합니다.

    비율을 지정하지 않으면 Amazon SNS는 모든 전송 성공에 대한 로그를 작성합니다.

  7. 필요한 권한을 제공하려면 다음 중 하나를 수행하세요.

    • 새 서비스 역할을 만들려면 새 서비스 역할 생성을 선택한 다음 새 역할 생성을 선택합니다. 다음 페이지에서 허용을 선택하여 Amazon SNS에 계정 리소스에 대한 쓰기 액세스 권한을 부여합니다.

    • 기존 서비스 역할을 사용하려면 기존 서비스 역할 사용을 선택한 다음 성공 및 실패한 전송에 대한 IAM 역할 상자에 ARN 이름을 붙여넣습니다.

      지정하는 서비스 역할은 계정 리소스에 대한 쓰기 액세스를 허용해야 합니다. IAM 역할 생성에 대한 자세한 정보는 IAM 사용 설명서AWS 서비스에 대한 역할 생성을 참조하세요.

  8. [Save changes]를 선택합니다.

  9. 모바일 문자 메시징(SMS) 페이지로 돌아가서 전송 상태 로그 섹션으로 이동하여 사용 가능한 로그를 확인합니다.

    참고

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

SMS 전송 성공에 대한 로그 예제

SMS 전송 성공에 대한 전송 상태 로그는 다음 예제와 비슷합니다.

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

SMS 전송 실패에 대한 로그 예제

SMS 전송 실패에 대한 전송 상태 로그는 다음 예제와 비슷합니다.

{ "notification": { "messageId": "1077257a-92f3-5ca3-bc97-6a915b310625", "timestamp": "2016-06-28 00:40:34.559" }, "delivery": { "mnc": 0, "numberOfMessageParts": 1, "destination": "+1XXX5550100", "priceInUSD": 0.00645, "smsType": "Transactional", "mcc": 0, "providerResponse": "Unknown error attempting to reach phone", "dwellTimeMs": 1420, "dwellTimeMsUntilDeviceAck": 1692 }, "status": "FAILURE" }

SMS 전송 실패 이유

실패 이유는 providerResponse 속성을 통해 제공됩니다. SMS 메시지는 다음과 같은 이유로 전송에 실패할 수 있습니다.

  • 전화 통신사가 스팸으로 차단함

  • 대상이 차단된 목록에 있음

  • 잘못된 전화번호

  • 메시지 본문이 잘못됨

  • 전화 통신사가 이 메시지를 차단함

  • 전화 통신사가 현재 연결 불가능/이용 불가능함

  • 전화에서 SMS가 차단됨

  • 휴대폰이 차단된 목록에 있음

  • 전화가 현재 연결 불가능/이용 불가능함

  • 전화번호가 옵트아웃됨

  • 이 메시지를 전송하면 최고 가격이 초과됨

  • 전화 연결을 시도하는 중 알 수 없는 오류 발생