푸시 알림과 관련한 Amazon SNS 주제 전송 로그에 액세스하려면 어떻게 해야 하나요?

3분 분량
0

푸시 알림과 관련한 Amazon Simple Notification Service(SNS) 주제 전송 로그에 액세스하고 싶습니다.

간략한 설명

Amazon SNS는 주제에 전송된 푸시 알림 메시지의 전송 상태를 기록할 수 있도록 지원합니다. 메시지 전송 상태 속성을 구성하면 이러한 푸시 알림 메시지에 대한 로그 항목이 Amazon CloudWatch Logs로 전송됩니다. 메시지 전송 상태 로깅은 다음과 같은 운영 정보를 제공합니다.

  • 메시지가 Amazon SNS 엔드포인트로 전송되었는지 여부를 알 수 있습니다.
  • Amazon SNS 엔드포인트에서 Amazon SNS로 전송된 응답을 식별합니다.
  • 메시지 체류 시간(게시 타임스탬프와 Amazon SNS 엔드포인트로 전달하기 직전 사이의 시간)을 확인합니다.

푸시 알림 전송 상태 로그 구성

다음 섹션은 AWS Management Console을 사용하여 전송 상태 로깅을 구성하는 단계를 설명합니다. 또한 AWS SDK 또는 AWS Command Line Interface(AWS CLI)를 사용하여 메시지 전송 로그를 구성할 수 있습니다.
참고: AWS CLI 명령을 실행할 때 오류가 발생하면 AWS CLI 오류 문제 해결을 참조하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.

다음 단계를 완료합니다.

  1. Amazon SNS 콘솔을 엽니다.
  2. 탐색 메뉴에서 모바일을 확장한 다음 푸시 알림을 선택합니다.
  3. 플랫폼 애플리케이션 섹션에서 전송 상태를 설정할 플랫폼 애플리케이션을 선택합니다.
  4. 편집을 선택합니다.
  5. 전송 상태 로깅은 선택 사항입니다.
  6. 성공 샘플 비율에는 CloudWatch 로그를 수신할 성공 메시지의 비율을 입력합니다. 실패한 전송은 모두 기본적으로 기록됩니다.
  7. IAM 역할 섹션의 서비스 역할에서 새 서비스 역할 생성을 선택하고 새 역할 생성을 선택합니다. AWS Identity and Access Management(AWS IAM) 콘솔을 엽니다.
    참고: 적절한 권한이 있는 IAM 역할이 이미 있는 경우, 기존 서비스 역할 사용을 선택하면 해당 서비스 역할을 사용할 수 있습니다.
  8. IAM 콘솔 권한 요청 페이지에서 허용을 선택하여 Amazon SNS에 사용자 대신 CloudWatch 로그를 사용할 수 있는 쓰기 액세스 권한을 부여합니다.
  9. Amazon SNS 콘솔로 돌아가 변경 사항 저장을 선택합니다.

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

전송 성공을 위한 IAM 역할:

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

전송 실패에 대한 IAM 역할:

arn:aws:iam::1111111111:role/SNSFailureFeedback

정책:

{
  "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. 필터 검색 상자에 sns를 입력하면 Amazon SNS의 로그 그룹만 찾을 수 있습니다.

  4. sns/your-AWS-region/your-account_ID/app/platform_name/application_name 로그 그룹에는 성공한 전송 로그가 포함됩니다.

    sns/us-east-1/1111111111/app/GCM/Test1
    sns/us-east-1/1111111111/app/APNS_SANDBOX/Test2
    sns/us-east-1/1111111111/app/APNS/Test3

    sns/your-AWS-region/your-account_ID/app/platform_name/application_name**/Failure** 로그 그룹에는 실패한 전송 로그가 포함됩니다.

    sns/us-east-1/1111111111/app/GCM/Test1/Failure
    sns/us-east-1/1111111111/app/APNS_SANDBOX/Test2/Failure
    sns/us-east-1/1111111111/app/APNS/Test3/Failure
  5. 확인할 Amazon SNS 로그 그룹을 선택합니다.

  6. 로그 스트림 탭에서 로그 스트림 하나를 선택하여 애플리케이션 엔드포인트 전송 로그를 확인합니다.

  7. 메시지의 전송 상태를 보려면 로그 이벤트를 확장하여 providerResponse를 확인합니다. 푸시 알림 서비스 응답 코드 목록은 플랫폼 응답 코드를 참조하세요.

관련 정보

Amazon SNS에서 FCM 모바일 푸시 알림 실패 문제를 해결하려면 어떻게 해야 하나요?

Amazon SNS에서 APN 모바일 푸시 알림 실패 문제를 해결하려면 어떻게 해야 하나요?

모바일 앱 속성